Michael Goodness explains how Ticketmaster designed a single, flexible Helm chart to manage continuous deployment across multiple product teams.
One Chart to Rule Them All: Continuous Deployment with Helm at Ticketmaster - Michael Goodness & Raphael Deem, Ticketmaster
As Kubernetes continues to mature, it's increasingly hard for users to keep track of the latest resource types, much less the best way to employ them. ReplicationControllers and Services were easy enough. Then came Deployments and Ingresses. Now we have PodDisruptionBudgets, ClusterRoleBindings, and HorizontalPodAutoscalers. Luckily, we also have Helm to package and deploy these various components (and more) as a single unit.
In this talk we'll dissect the single, flexible Helm chart Ticketmaster developed for use by multiple product teams. We'll show how we use just a handful of variables to enable log collection with Fluentd, metric scraping with Prometheus, and automatic scaling of pods. Then we'll demonstrate the GitLab CI workflow through which we deploy multiple builds of an application to multiple Kubernetes clusters running both on-prem and in AWS.
About Raphael Deem
Raphael is a Systems Engineer at Ticketmaster and open source contributor. He is a relative newcomer to the community, having started working with Kubernetes within the last six months. Prior to working at Ticketmaster, he was a remote engineer for Platform.sh, a Paris-based PaaS built with Python and LXC containers running on AWS. He was (briefly) a high school math teacher, and is a casual juggler.
About Michael Goodness
Mike is a Lead Systems Engineer on the Kubernauts team at Ticketmaster and a CNCF Ambassador. He began working with Kubernetes in late 2015, and quickly became an avid member of the community. While primarily involved with day-to-day cluster operations, he is also keenly interested in helping developers use cloud native technologies to deploy scalable, reliable applications. He is a co-maintainer of the Helm community charts repository and has contributed several popular charts. Hailing from Wisconsin, Mike is a co-organizer of DevOps Days Madison, a dedicated Milwaukee Brewers fan, and a cheese curd aficionado.
Join us for KubeCon + CloudNativeCon in Barcelona May 20 - 23, Shanghai June 24 - 26, and San Diego November 18 - 21! Learn more at kubecon.io. The conference features presentations from developers and end users of Kubernetes, Prometheus, Envoy and all of the other CNCF-hosted projects.
Why it's here
1 person recommends this
What people say. Recommended for engineers looking to build generic Helm charts to simplify and standardize Kubernetes deployments across an organization.
x
u/xbustedin r/kubernetes • Recommends
On “Suggestion for CI/CD with Helm”
I would recommend storing your helm chart in the same repo as your code. This way it is versioned together. The latest chart may not be compatible with the version of the app you are deploying.
You might also consider building one or two generic charts to use for all of your deployments. We found that 95% of our deployments look the same with just some different values. This saves everyone the hassle of creating new charts and allows you to incorporate some best practices that all of your projects will inherit. Check out the Ticketmaster talk at Kubecon. Looks like they take a similar approach. link to this video