Streamlining Kubernetes Application CI/CD with Bazel
Creating a repeatable Kubernetes application deployment pipeline with the Bazel build system offers a number of advantages over traditional Kubernetes application CI/CD approaches. We will describe ho …
Talk Title | Streamlining Kubernetes Application CI/CD with Bazel |
Speakers | Gregg Donovan (Staff Software Engineer, Etsy.com, Inc.), Chris Love (Founder, CNM Consulting) |
Conference | KubeCon + CloudNativeCon Europe |
Conf Tag | |
Location | Barcelona, Spain |
Date | May 19-23, 2019 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Creating a repeatable Kubernetes application deployment pipeline with the Bazel build system offers a number of advantages over traditional Kubernetes application CI/CD approaches. We will describe how Etsy uses Bazel, along with its container and Kubernetes support, to deploy many different services to multiple different clusters and environments. Using a repeatable build process maximizes container layer caching and takes advantage of Kubernetes built in pod template hashing. With this caching in place, it becomes feasible to deploy all services in a large repo reliably without under-deploying – not deploying changed components, leaving them unvalidated on master – or over-deploying, waiting for a potentially expensive rollout despite not having made changes. Bazel’s rules_docker also allow you to build deterministic container images without the Docker daemon, simplifying CI/CD.