GitLab integrates with Google Kubernetes Engine (GKE) to simplify Kubernetes cluster creation and management. This integration allows for auto-creation of EKS clusters with a few clicks, enabling features like highly scalable CI/CD systems using GitLab Runner, shared clusters at instance, group, and project levels for isolation, dynamic environments for Review Apps, and leveraging Auto DevOps for automated build, test, and deployment pipelines. The process involves setting up AWS IAM roles (prov). Gravitational collaborated with GitLab to improve running PostgreSQL on Kubernetes and to build a terminal into GitLab for users to jump inside containers running on Kubernetes without leaving the GitLab environment. This collaboration also explored GitLab's path towards adopting Kubernetes for its internal SaaS.
2020
Understand Kubernetes terminology from namespaces to pods
7/30/2020
This post defines and explains core Kubernetes concepts such as containers, namespaces, pods, services, ingress, ConfigMaps, and secrets. It highlights the role of Kubernetes as a container orchestrator and its ability to manage container lifecycles, provide load balancing, and store configuration data.
How to create a Kubernetes cluster on Amazon EKS in GitLab
3/9/2020
This post details the technical steps and AWS IAM configurations required to integrate GitLab with Amazon EKS for automated Kubernetes cluster creation. It outlines the creation of a 'provision role' with specific IAM policies (full access or limited create-only) and a 'service role' for EKS and the Kubernetes control plane. It then describes the GitLab EKS integration process, including providing the Provision Role ARN and configuring cluster parameters such as name, environment scope, Kubernetes version, region, VPC, subnets, security group, instance type, and node count.
2019
Getting Started with Kubernetes
10/24/2019
This post introduces Kubernetes as an open-source system for automating deployment, scaling, and management of containerized applications. It explains the origin of Kubernetes from Google's Borg, its benefits (portability, scalability, flexibility, productivity, open-source nature), and core concepts like Pods, Nodes, Clusters, and Services. It also details three key touchpoints between GitLab and Kubernetes: GitLab as an application that can run on Kubernetes, customers deploying applications to Kubernetes using GitLab CI/CD, and the ongoing migration of GitLab.com to a Kubernetes cluster on GCP.
At GitLab Commit, our product roadmap, new partners, and a new milestone
9/17/2019
This post announces the upcoming integration of GitLab with Amazon Elastic Kubernetes Service (EKS), highlighting how it will leverage GitLab's CI/CD pipelines for infrastructure as code (GitOps) and improve the management of Kubernetes clusters. It also mentions future integrations with HashiCorp Vault for secrets management.
Google Cloud Next: Doubling down on Kubernetes and multi-cloud
4/16/2019
This post details how GitLab embraces Kubernetes throughout the software development lifecycle, enabling enterprises to connect existing Kubernetes clusters or easily set up new ones with GKE integration. It highlights the ability to install managed applications like Helm Tiller, Ingress, and Prometheus with a single click, and use connected clusters as deploy targets from GitLab CI/CD, monitored by bundled Prometheus capabilities.
2018
What you need to know about Kubernetes RBAC
8/7/2018
This post introduces Kubernetes RBAC as a preferred alternative to ABAC for managing access control. It explains RBAC resources (Role, ClusterRole, RoleBinding, ClusterRoleBinding) with YAML examples and provides best practices such as adhering to the principle of least privilege, being specific with permissions, and using Roles over ClusterRoles where possible. It also highlights that GitLab integration with RBAC-enabled Kubernetes clusters is not yet supported.
Simple deployment to Amazon EKS
6/6/2018
This post announces official support for Amazon EKS with GitLab, detailing how to connect an EKS cluster to a GitLab project. It highlights key GitLab features that leverage Kubernetes, including Auto DevOps, Deploy Boards, and Incremental Rollout, and provides a link to the documentation for adding EKS clusters.
Scalable app deployment with GitLab and Google Cloud Platform
5/10/2018
This post details the integration of GitLab with Google Kubernetes Engine (GKE) to automate the creation and deployment of applications. It highlights the benefits of using GKE for scalable infrastructure and GitLab's Auto DevOps capabilities for streamlined CI/CD. Key takeaways include seamless collaboration between GitLab and GKE, Kubernetes' role in enabling massive scaling, and the automated nature of the integration. The post also addresses common questions regarding load balancing, multi-project deployments, environment isolation, on-demand cluster creation, feature availability in different GitLab editions, free tier credits for testing, Prometheus metrics gathering, AWS support, running GitLab on GKE, runner caching, container image creation, public accessibility requirements, `.env` file management, GCP billing errors, review app cost control, one-click application installation requirements, comparison to Rancher, and the current state of GitLab installation on Kubernetes.
Getting started with GitLab CI/CD and Google Cloud Platform
4/24/2018
This post details the integration of GitLab CI/CD with Google Kubernetes Engine (GKE). It provides instructions on how to add a GKE cluster to a GitLab project, install applications like Helm Tiller, Ingress, Prometheus, and GitLab Runner with one click, and enable Auto DevOps for a continuous deployment pipeline. It also highlights the ability to create review apps for merge requests and deploy to production on GKE.
5 things I wish I'd known about Kubernetes before I started
4/16/2018
This post provides practical advice for engineers new to Kubernetes, covering the importance of documentation and online resources, the need to define specific use cases (development, staging, production), the variations in Kubernetes versions across cloud providers, and the constant, rapid evolution of the platform. It highlights the introduction of RBAC for production-grade multi-tenancy and the necessity of staying current with releases.
GitLab + Google Cloud Platform = simplified, scalable deployment
4/5/2018
This post announces the integration of GitLab with Google Kubernetes Engine (GKE), simplifying the setup of Kubernetes clusters for deployment. It highlights how this integration enables Auto DevOps for automated CI/CD pipelines (build, test, deploy) without requiring in-depth Kubernetes knowledge or manual cluster management. The post also mentions GitLab's ongoing migration to Google Cloud Platform (GCP) for its infrastructure, citing GCP's mature Kubernetes platform, security features, global reach, and CDN integration as key drivers.
2017
Kubernetes & containers, and where cloud native fits in – the basics
11/30/2017
This post introduces the fundamental concepts of containers, Kubernetes, and cloud native development. It explains containers as OS-based virtualization for running applications and dependencies independently, contrasting them with VMs by noting they run as Linux processes within the kernel, making them smaller and faster. Kubernetes is described as a container scheduler that automates the management of containers, focusing on partitioning resources dynamically for scaling. Cloud native development is defined as building applications purpose-built for the cloud, embracing loosely coupled services and portability across clouds. The post highlights the benefits of this approach, including increased agility, reduced hardware usage, and developer time savings. It also points to GitLab's solutions for Kubernetes and cloud native development.
Demo: Turn-key Kubernetes with StackPoint.io
8/3/2017
This post announces a partnership with StackPoint.io to provide a turn-key Kubernetes solution, simplifying cluster installation and configuration for users who get stuck on this step. It highlights the benefits of Kubernetes (self-healing, scaling) and directs users to a webcast demo and a one-click launch link.
GitLab K8s clusters: Backup and trusted charts in 10 min
7/10/2017
This post announces a partnership with Stackpoint.io to provide a turn-key solution for deploying and managing GitLab EE on Kubernetes clusters. It details the capabilities offered by this integration, including cluster creation on AWS, Azure, and GCP, automated backups, integration with monitoring, security, and logging tools, and simplified access to operational tools like Prometheus. It also highlights the automatic integration of Docker Registry, ELB for AWS, and Let's Encrypt for security.
Video tutorial: Idea to Production on Google Kubernetes Engine (GKE)
1/23/2017
This post details the deployment of GitLab directly to Google Kubernetes Engine (GKE), enabling an 'Idea to Production' workflow. It highlights the use of auto-scaling CI, auto-deploy, Mattermost, and a private Docker registry on a Kubernetes cluster. A video tutorial and a demo project are provided for replication.
2016
GitLab and Gravitational discuss Kubernetes
12/12/2016
This post details a collaboration between GitLab and Gravitational to improve running PostgreSQL on Kubernetes and to build a terminal into GitLab for users to jump inside containers running on Kubernetes without leaving the GitLab environment. It also discusses the benefits of Kubernetes for cost savings through dynamic resource allocation and its potential to become an industry standard, comparing it with DC/OS and Docker Swarm.