Kubernetes at GitHub

This post details the migration of github.com and api.github.com to Kubernetes clusters on the metal cloud. It covers the selection of Kubernetes as the orchestration platform, the reasons for the migration (scalability, flexibility, self-service platform), and the decision to start with the critical `github/github` application. A key sub-project was the 'review lab,' a Kubernetes-powered deployment environment for testing pull requests, which involved setting up Kubernetes clusters using Terraform and kops, developing integration tests, creating Dockerfiles, enhancing CI platforms, defining Kubernetes resources, and building a chatops interface (`kube-me`) for deploying to the lab. The post also touches on the selection of Calico as the network provider for the production Kubernetes clusters and the initial steps of manually provisioning Kubernetes clusters.