--- layout: feature-kubernetes title: Kubernetes Integration description: GitLab’s Kubernetes Integration lets you build, test, deploy, and run your app at scale. suppress_header: true extra_css: - gitlab-feature-landing-page.css - features.css - kubernetes.css extra_js: - all-clickable.js --- .wrapper.gitlab-ee-page = partial "includes/features/gitlab-ee-nav" .image-title .color-bg %div %h1 Kubernetes + GitLab %h3#ci-subt Everything you need to build, test, deploy, and run your app at scale = link_to "See how GitLab can help your team scale app deployment!", "/webcast/scalable-app-deploy/", class: "btn cta-btn accent just-commit" .sub-wrapper .container .row.advantages .col-xs-12.col-md-10.col-md-offset-1 %h2 The best solution for cloud native development %p.overview Cloud native applications are the future of software development. Container-packaged, dynamically managed, and microservice-oriented, cloud native systems enable faster development velocity while maintaining operational stability. %p.overview GitLab is a single application with everything you need for = link_to "end-to-end software development and operations.", "/stages-devops-lifecycle/" From issue tracking and source code management to CI/CD and monitoring, having it all in one place simplifies toolchain complexity and speeds up cycle times. With a %a{ href: "https://docs.gitlab.com/ee/user/project/container_registry.html", target: "_blank" }built-in container registry and %a{ href: "https://docs.gitlab.com/ee/user/project/clusters/index.html", target: "_blank" }Kubernetes integration, GitLab makes it easier than ever to get started with containerization and cloud native development, as well as optimizing your cloud app development processes. %hr.divider/ .row .col-xs-12.col-md-10.col-md-offset-1 %h2 What is Kubernetes? %p Kubernetes is an open source container orchestration platform. It is designed to automate your management of application containers, from deploying and scaling to operating. Kubernetes orchestration allows you to partition as you go scaling up and down as necessary. You can respond quickly and efficiently to customer demand while limiting hardware usage within your production environment and minimizing disruption to feature rollouts. = link_to "Learn more about Kubernetes", "/blog/2017/11/30/containers-kubernetes-basics/", class: "btn cta-btn white-with-border" %hr.divider/ .row .col-xs-12.col-md-10.col-md-offset-1 %h2 Deploy GitLab on Kubernetes or use GitLab to test and deploy your software on Kubernetes %p GitLab works with or within Kubernetes in three distinct ways. These can all be used independently or together. %ul %li %a{ href: "https://docs.gitlab.com/ee/user/project/clusters/", target: "_blank" }Deploy software from GitLab CI/CD pipelines to Kubernetes %li %a{ href: "https://docs.gitlab.com/runner/install/kubernetes.html", target: "_blank" }Use Kubernetes to manage runners attached to your GitLab instance %li %a{ href: "https://docs.gitlab.com/ee/install/kubernetes/", target: "_blank" }Run the GitLab application and services on a Kubernetes cluster %p Each approach outlined above can be used with or without the others. For example, an omnibus GitLab instance running on a virtual machine can deploy software stored within it to Kubernetes through a docker runner. %hr.divider/ .row .hidden-xs.hidden-sm.col-md-4 .ee-feature-icon = image_tag "/images/features/kubernetes-logo.png", class: "hidden-xs", alt: "Kubernetes logo png" .col-xs-12.col-md-6.col-md-offset-1 %h2 Kubernetes Integration %p.overview While you can use GitLab CI/CD to deploy your apps almost anywhere from bare metal to VMs, GitLab is designed for Kubernetes. %a{ href: "https://docs.gitlab.com/ee/user/project/clusters/index.html", target: "_blank" }The Kubernetes integration gives you access to advanced features like: %ul %li %a{ href: "https://docs.gitlab.com/ee/user/project/deploy_boards.html", target: "_blank" }Deploy Boards %li %a{ href: "https://docs.gitlab.com/ee/user/project/canary_deployments.html", target: "_blank" }Canary Deployments %li %a{ href: "https://docs.gitlab.com/ee/user/project/integrations/prometheus_library/kubernetes.html", target: "_blank" }Kubernetes monitoring %li %a{ href: "https://docs.gitlab.com/ee/topics/autodevops/", target: "_blank" }Auto DevOps %li %a{ href: "https://docs.gitlab.com/ee/administration/integration/terminal.html", target: "_blank" }Web terminals %hr.divider/ .row .col-xs-12.col-md-6.col-md-offset-1 %h2 Use GitLab to test and deploy your app on Kubernetes %p.overview %a{ href: "/features/gitlab-ci-cd/" }GitLab CI/CD lets you easily manage deployments to multiple environments. Run automated tests in parallel with auto-scaling %a{ href: "https://docs.gitlab.com/runner/", target: "_blank" }GitLab Runners. Manually test changes in a live, production-like environment before merging code with %a{ href: "/product/review-apps/" }Review Apps. Runners, Reviews Apps and your own application can be deployed to your Kubernetes cluster or any environment you choose. = link_to "Deploy on Google Cloud Platform", "/solutions/google-cloud-platform/", class: "btn cta-btn white-with-border" .col-md-4.col-md-offset-1.hidden-xs.hidden-sm .ee-feature-icon = icon("home/icon-step-6") %hr.divider/ .row .col-xs-12.col-md-6.col-md-push-6 %h2 Use the same tool that tests Kubernetes %p.overview Prometheus, CoreDNS, and Kubernetes itself are built, deployed, and tested by %a{ href: "https://www.cncf.io/", target: "_blank" }CNCF using GitLab. They deploy multiple projects to multiple clouds with end-to-end testing using GitLab multi-project deploy boards to monitor progress. = link_to "Learn more", "/customers/cncf", class: "btn cta-btn white-with-border" .col-xs-12.col-md-5.col-md-pull-6 .embed-responsive.embed-responsive-16by9 %iframe{ src: "https://www.youtube.com/embed/Jc5EJVK7ZZk?start=372", allowfullscreen: "allowfullscreen" } %hr.divider/ = partial "includes/blog/try" %section.feature-group.u-subtle-bg .container .row.flex-row .col-sm-6.col-md-3.col-lg-3 .feature.tile.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-devops.png", alt: 'DevOps', srcset: "/images/feature-thumbs/feature-thumb-devops_2x.png 2x" .feature-body -#%h3.feature-label Docs %h2.feature-title Auto DevOps Documentation %p.feature-description %a.feature-more{ href: "https://docs.gitlab.com/ee/topics/autodevops/index.html", target: "_blank" } Read more .col-sm-6.col-md-3.col-lg-3 .feature.tile.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm.png", alt: 'Create a CI/CD pipeline blog post', srcset: "/images/feature-thumbs/feature-thumb-how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm_2x.png 2x" .feature-body -#%h3.feature-label Blog %h2.feature-title Create a CI/CD Pipeline with Auto Deploy %p.feature-description = link_to "Read more", "/blog/2017/09/21/how-to-create-ci-cd-pipeline-with-autodeploy-to-kubernetes-using-gitlab-and-helm/", class: "feature-more" .col-sm-6.col-md-3.col-lg-3 .feature.tile.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-gitlab-kubernetes.png", alt: 'GitLab & Kubernetes', srcset: "/images/feature-thumbs/feature-thumb-gitlab-kubernetes_2x.png 2x" .feature-body -#%h3.feature-label Docs %h2.feature-title Install GitLab on Kubernetes %p.feature-description %a.feature-more{ href: "https://docs.gitlab.com/ee/install/kubernetes/", target: "_blank" } Read more .col-sm-6.col-md-3.col-lg-3 .feature.tile.js-all-clickable .feature-media = image_tag "/images/feature-thumbs/feature-thumb-webcast.png", alt: 'GitLab Webcast', srcset: "/images/feature-thumbs/feature-thumb-webcast_2x.png 2x" .feature-body -#%h3.feature-label Resource %h2.feature-title Cloud Native Webinar %p.feature-description %a.feature-more{ href: "/blog/2017/04/18/cloud-native-demo/", target: "_blank" } Watch now