Helm
Paigaldamine skriptiga suvalisele Linuxile
$ curl -LO https://git.io/get_helm.sh $ chmod 700 get_helm.sh $ ./get_helm.sh
Helmi failistruktuuri loomiseks
$ helm create mychart Creating mychart
Tekkinud failistruktuur sisaldab näidet ngixi paigaldamiseks ning selle modfitseerimisest on ka hea esmalt alustada, kuna nginx on paljude helmide jaoks oluline proxy komponent.
Lisame sinna nginx confi nginx/templates/cm.yaml
apiVersion: v1 data: nginx.conf: | events { worker_connections 1024; } http { server { listen 80; location / { return 200 "===============================\n\n This is your helm deploy! \n\n===============================\n"; } } } kind: ConfigMap metadata: name: nginx-config
Järgmisena peame selle defineerima oma rakenduse failis templates/deployment.yaml volumes ja volumemounts
containers: - name: Mall:.Chart.Name image: "Mall:.Values.image.repository:Mall:.Values.image.tag" imagePullPolicy: Mall:.Values.image.pullPolicy ports: - name: http containerPort: 80 protocol: TCP ... volumeMounts: - name: config mountPath: /etc/nginx/nginx.conf subPath: nginx.conf volumes: - name: config configMap: name: nginx-config
Soovides tekitada konteinerile püsiva volume, nt postgresi andmete hoidmiseks, tuleb tekitada presistent storage. Selleks peame esiteks teadma mis tüüpi presistent storaget kasutab meie k8s cluster ja tekitada vastavalt sellele claimi mis eraldab meile storagest soovitud suurusega jaotise. Antud näites on meil kasutuses longhorni andmesalvestuslahendus
Tekitame claimi faili templates/volume.yaml järgneva sisuga
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: longhorn-waldur-postgres-data spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 10Gi
Testimiseks kas kõik on korras saab kasutada käsku
helm template waldur
Chartide repositoorium koosneb pakitud chartidest ja index.yaml mis sisaldab kõikide chartide nimesid
helm package nginx mv nginx-0.1.0.tgz nginx helm repo index nginx --url http://zoo.tartu.ee/charts/nginx/
Uue versiooninumbriga paki tekitamiseks
# helm package nginx --version 1.1.1
Misjärel on tarvilik genereerida ka index uuesti