Core headache
The configuration files, yaml files etc management on various clusters and hundreds of microservices, especially when migrating to another cluster.
What is the Helm? (https://helm.sh/)
- Manage Kubernetes applications - Helm Charts -> define, install and upgrade
- Easy to create, version, share and publish -> No copy-and-paste (reproducible builds)
- Find and use popular software packaged as Helm charts to run in Kubernetes
- Share your own applications as Helm charts
- Intelligently manage your Kubernetes manifest files?
In short, think of helm like apt/yum/homebrew for Kubernetes.
Utilization
- create Charts
- pack charts into tgz format
- upload and download charts from charts museum(repo)
- installing chart in k8s
- manage releases of Helm packages
How do we install softeware in Windows and Linux systems?
Helm Charts
- Packages of pre-configured Kubernetes resources
- Helm runs on your laptop, CI/CD (recommended), or wherever you want it to run
- Charts are Helm packages that contain at least two things:
- A description of the package (Chart.yaml)
- One or more templates, which contain Kubernetes manifest files
- Charts can be stored on disk, or fetched from remote chart repositories (like Debian or RedHat packages)
Helm Architecture
- Two Component: client(helm) and server(tiller)
- client:
- local chart development
- repo namagement
- Tiller server interaction
- search for release info
- upgrade or uninstall existed release
- server:
- monitoring the Helm client request
- release through charts
- install chart into k8s and follow up the contimuous releases
- upgrade or uninstall chart in k8s
- client:
In short, client manages the charts while server manages the release
- Tiller runs inside of your Kubernetes cluster, and manages releases (installations) of your charts instead of yaml files
AIQ’s practice
native yaml Example
kubectl apply -f xxx.yaml kubectl expose deployment xxx –type=LoadBalancer –name=my-service
Helm template Example
helm install ./hello-helm
The pain of growth
Video Links:
https://youtu.be/W_Y-jXEDwkY
https://youtu.be/x77draj4HCk
Buy me a cup of coffee: