1.4. fejezet, Helm - csomagkezelés

Kapcsolódó hivatkozások

sudo snap install helm --classic
 
#uninstall
sudo snap remove --purge helm
sudo rm -r ~/.cache/helm/
sudo rm -r ~/.config/helm

Mire alkalmas

  • A yaml fájlok csomagolására (helm charts) és repo-ba publikálására, repo-ból letöltésére alkalmas a Helm.
  • Sablonok kezelésére (Templating engine) is hasznos.
  • Különböző fejlesztési stádiumok klasztereit könnyen telepíthetjük a csomagok használatával.
  • Release management (Tiller server - v3-tól már nem támogatott)
# Keresés a hub-on
./helm search hub mysql
 
# Csomagok telepítése
helm install [chartname]
 
# sablon értékek nem szabványos fájlban
helm install -values=my-values.yaml [chartname]
 
# csomagok frissítése
helm upgrade [chartname]
 
# telepítés visszavonása
helm rollback [chartname]

MySQL szerver telepítése

# Telepítés
helm install my-release oci://registry-1.docker.io/bitnamicharts/mysql
 
# MySQL kliens futtatása
export MYSQL_ROOT_PASSWORD=teszt
kubectl run my-release-mysql-client --rm --tty -i --restart='Never' --image  docker.io/bitnami/mysql:8.4.4-debian-12-r7 --namespace default --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
 
# MySQL parancs futtatása
mysql -h my-release-mysql.default.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"

Temlate-ek

helm template kafka bitnami/kafka > output-default.yaml
helm template kafka bitnami/kafka --set controller.replicaCount=3,provisioning.enabled=true,provisioning.replicationFactor=3,provisioning.numPartitions=3,extraConfig="logRetentionHours=-1,logRetentionBytes=2199023985135,offsetsTopicReplicationFactor=3" > output-custom.yaml