2151
Comment: shorter
|
4362
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
Links: [[Azure/Kubernetes]] , [[K8s/Monitoring]] | Links: [[k8s/Azure]] , [[k8s/Monitoring]] , [[k8s/helm/HelmV2ToV3]] , https://lzone.de/blog/Helm-Best-Practices , [[https://github.com/zendesk/helm-secrets| encrypt secrets]], [[k8s/helm/secrets]] |
Line 6: | Line 6: |
== Helm - create own chart == 1. kubectl create namespace <NS> 1. helm -n <NS> create <Name> <chart-name> 1. helm -n <Ns> list 1. helm -n <NS> uninstall <Name> == Helm 2022 == * find charts @ https://artifacthub.io/packages/helm/ * e.g. jenkins {{{ helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add https://artifacthub.io/packages/helm/jenkinsci/jenkins helm repo update helm search repo jenkins kubectl create namespace jenkins # namespace/jenkins created helm install jenkins jenkins/jenkins -n jenkins NOTES: 1. Get your 'admin' user password by running: kubectl exec --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo 2. Get the Jenkins URL to visit by running these commands in the same shell: echo http://127.0.0.1:8080 kubectl --namespace jenkins port-forward svc/jenkins 8080:8080 }}} == Helm3 2020-04 == 1. On local chart (main deployment of all components) 1. helm repo index . * This index's charts under ./charts and create a new ./index.yam 1. helm repo add stable https://kubernetes-charts.storage.googleapis.com/ 1. helm repo add 1. helm search repo rabbitmq == Helm setup 2020-01 == 1. Create a dir and add Chart.yaml with version and maintainer. 2. Create requirements.yaml file with external charts needed * search for versions with {{{$ helm search -l stable/rabbitmq-ha }}} 3. Install local charts from google with {{{$ helm dependency update }}} 4. Verify with {{{$ helm dependency list }}} |
|
Line 59: | Line 99: |
}}} === HELM install/uninstall === * Please look for official current documentation {{{ helmins() { kubectl -n kube-system create serviceaccount tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller helm init --service-account=tiller } helmdel() { kubectl -n kube-system delete deployment tiller-deploy kubectl delete clusterrolebinding tiller kubectl -n kube-system delete serviceaccount tiller } |
Kubernetes helm chart notes
Links: k8s/Azure , k8s/Monitoring , k8s/helm/HelmV2ToV3 , https://lzone.de/blog/Helm-Best-Practices , encrypt secrets, k8s/helm/secrets
Helm - create own chart
kubectl create namespace <NS>
helm -n <NS> create <Name> <chart-name>
helm -n <Ns> list
helm -n <NS> uninstall <Name>
Helm 2022
find charts @ https://artifacthub.io/packages/helm/
e.g. jenkins
helm repo add bitnami https://charts.bitnami.com/bitnami helm repo add https://artifacthub.io/packages/helm/jenkinsci/jenkins helm repo update helm search repo jenkins kubectl create namespace jenkins # namespace/jenkins created helm install jenkins jenkins/jenkins -n jenkins NOTES: 1. Get your 'admin' user password by running: kubectl exec --namespace jenkins -it svc/jenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo 2. Get the Jenkins URL to visit by running these commands in the same shell: echo http://127.0.0.1:8080 kubectl --namespace jenkins port-forward svc/jenkins 8080:8080
Helm3 2020-04
- On local chart (main deployment of all components)
- helm repo index .
- This index's charts under ./charts and create a new ./index.yam
helm repo add stable https://kubernetes-charts.storage.googleapis.com/
- helm repo add
- helm search repo rabbitmq
- helm repo index .
Helm setup 2020-01
- Create a dir and add Chart.yaml with version and maintainer.
- Create requirements.yaml file with external charts needed
search for versions with $ helm search -l stable/rabbitmq-ha
Install local charts from google with $ helm dependency update
Verify with $ helm dependency list
Install 2019-03
- Ran official curl, and get_helm, all fine
- When deploying chart got an error, tiller not allowed to create namespaces.
Fixed with command belown and helm init --upgrade
kubectl create serviceaccount --namespace kube-system tiller # serviceaccount "tiller" created kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller # clusterrolebinding "tiller-cluster-rule" created kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}' # deployment "tiller-deploy" patched
201903 add ingress and static ip
Get k8s nodeResourceGroup grom gui or with
az aks show --resource-group <rgK8S> --name <clusterName> --query nodeResourceGroup -o tsv
provision static ip with
az network public-ip create --resource-group <MC_K8S_from_above> --name <cluster-PublicIP> --allocation-method static
assign ip to nginx ingress controller
helm install stable/nginx-ingress -namespace kube-system --set controller.service.loadBalancerIP="52.23.23.32" --set controller.replicaCount=2
Run 2019-02
- helm install --name p1 git/helmchart/ --namespace piet --set "env=DEV" --timeout 600
- Run: helm ls --all p1; to check the status of the release
- run: helm del --purge p1; to delete it
- helm status p1
- helm history p1
- helm rollback p1 3; roll back to version 3
- helm rollback; to last successfully DEPLOYED revision
- helm upgrade --debug --dry-run
- helm upgrade --install
Tricks
- Use checksum of config map to change app annotation and force a new version to be deployed for apps that do not pick up new configs.
hooks
annotation: "helm.sh/hook": " "
HELM install/uninstall
Please look for official current documentation
helmins() { kubectl -n kube-system create serviceaccount tiller kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller helm init --service-account=tiller } helmdel() { kubectl -n kube-system delete deployment tiller-deploy kubectl delete clusterrolebinding tiller kubectl -n kube-system delete serviceaccount tiller }