Kubernetes package manager for managing a lot of yaml files
[ *bundle of yamls* -> chart ] <──────────────────────── management tool "helm"
└─> "tgz" file is created.
└─> upload "Chart repository" | monocular:Web UI for Helm Chart
| chartmuseum: Chart for S3,GCS and so on(Cloud storage)
[ helm client (cli tool) ] ──(grpc)──> helm Tiller Server ──(kubernetes api call)──> install chart on kubernetes clusters
- but Helm3, tiller is gone. https://github.com/helm/community/blob/master/helm-v3/000-helm-v3.md
- chart(configurations for k8s application), config(config map for injection), release(executed instances w/specific config)
- helm client :
brew install kubernetes-helm
- helm tiller server
- before you installed,
kubeconfig
should be setup. helm init
helm repo update
helm repo list
helm install stable/redis
helm ls
helm del erstwhile-quail
you can create a chart with the basic structure using helm create
command
wordpress/
└─Chart.yaml # information of Chart
└─LICENSE
└─README.md
└─requirements.yaml # dependency of Chart
└─vaules.yaml # default value of Chart
└─charts/ # related chart with this Chart
└─templates/ # yaml files for kubernetes manifest
└─templates/NOTES.txt # short manual
helm fetch stable/redis
$ tar zxvf redis-4.3.0.tgz
x redis/Chart.yaml
x redis/values.yaml
x redis/templates/NOTES.txt
x redis/templates/_helpers.tpl
x redis/templates/configmap.yaml
x redis/templates/health-configmap.yaml
x redis/templates/metrics-deployment.yaml
x redis/templates/metrics-prometheus.yaml
x redis/templates/metrics-svc.yaml
x redis/templates/networkpolicy.yaml
x redis/templates/redis-master-statefulset.yaml
x redis/templates/redis-master-svc.yaml
x redis/templates/redis-role.yaml
x redis/templates/redis-rolebinding.yaml
x redis/templates/redis-serviceaccount.yaml
x redis/templates/redis-slave-deployment.yaml
x redis/templates/redis-slave-svc.yaml
x redis/templates/secret.yaml
x redis/.helmignore
x redis/README.md
x redis/values-production.yaml
helm install ./redis