Helm
Helm is a package manager for deploying applicatons.
Adding stable repository
helm repo add <alias> <helm repo>
helm repo add stable https://charts.helm.sh/stable
Search chart in a repo
helm search repo stable/mysql
Deploy application using helm
helm install <Name of the application> <repo/chart-name>
Eg: helm install mysql testing/mysql
Confirm current context
kubectl config current-context
Chart definition
helm show chart <repo/chartname>
helm show readme <repo/chartname>
helm show values <chart-name>
dry run
helm install <name-of -the-application> <chart name> --dry-run --debug
Confirm deployment
helm list
List pods, services, deployments and replica sets
kubectl get all
status of the release
helm status <app-deployed>
eg: helm status mysql
helm get manifest <chart-deployed>
View release hhistory
helm history mysql
Unistall a release
helm uninstall mysql --keep-history
helm delete mysql
Show all the version of a helm chart
helm search repo mysql --versions
Install specific version of the chart
helm install mysql daya/mysql --version <version>
eg: helm install mysql testing/mysql --version 1.16.3
Search all the versions for a specific chart
helm search repo "daya/mysql" --versions
Rolling upgrade
helm upgrade mysql daya/mysql --version <version>
helm history mysql
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Fri Jan 7 12:42:53 2022 superseded mysql-1.6.3 5.7.28 Install complete
2 Fri Jan 7 17:50:08 2022 deployed mysql-1.6.4 5.7.30 Upgrade complete
Rollback
helm rollback mysql <revision number>
Pull down a chart
helm pull stable/mysql --untar
Helm Chart Structure
Helm Repository:
Helm repo is any http server which stores tar files.
- https://artifacthub.io/
- https://hub.helm.sh
Creating helm chart
helm create <chart-name>
Create a simple deployment spec
helm create deployment nginx --image=nginx --dry-run=client --output=yaml
Package the chart
helm package <local location> --destination C:/Charts
Happy Learning😀
Comments
Post a Comment