Erinevus lehekülje "Helm" redaktsioonide vahel
9. rida: | 9. rida: | ||
$ helm create mychart | $ helm create mychart | ||
Creating mychart | Creating mychart | ||
+ | |||
Tekkinud failistruktuur sisaldab näidet ngixi paigaldamiseks ning selle modfitseerimisest on ka hea esmalt alustada, kuna nginx on paljude | Tekkinud failistruktuur sisaldab näidet ngixi paigaldamiseks ning selle modfitseerimisest on ka hea esmalt alustada, kuna nginx on paljude | ||
helmide jaoks oluline proxy komponent. | helmide jaoks oluline proxy komponent. | ||
− | Lisame | + | Olulisemad failid mis tekivad on järgnevad |
+ | |||
+ | test/Chart.yaml - See fail sisaldab nime, versiooninumbrit, kirjeldust ning linke ja ikooni | ||
+ | test/templates/ingress.yaml | ||
+ | test/templates/deployment.yaml - Siin failis on kogu dockeri rakenduse paigaldamise loogika | ||
+ | test/templates/service.yaml - deploymendis tekittud podi sidumine tcp pordiga | ||
+ | test/values.yaml - Muutujad, mida saab deploymentsi ja teiste templatede jaoks seadistada | ||
+ | |||
+ | Soovides konteinereid juurde luua, näiteks lisada nginxile veel postgresi võib tekitada sama pod-i ehk deploymendi sisse teisegi konteineri. Nii võivad | ||
+ | olla kokku seatud näiteks nginx ja postgres. Üldiselt on soovitatud aga tekitada kõrvale teine deployment fail | ||
+ | |||
+ | Lisame testiks nginx confi nginx/templates/cm.yaml | ||
apiVersion: v1 | apiVersion: v1 |
Redaktsioon: 23. august 2019, kell 02:01
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.
Olulisemad failid mis tekivad on järgnevad
test/Chart.yaml - See fail sisaldab nime, versiooninumbrit, kirjeldust ning linke ja ikooni test/templates/ingress.yaml test/templates/deployment.yaml - Siin failis on kogu dockeri rakenduse paigaldamise loogika test/templates/service.yaml - deploymendis tekittud podi sidumine tcp pordiga test/values.yaml - Muutujad, mida saab deploymentsi ja teiste templatede jaoks seadistada
Soovides konteinereid juurde luua, näiteks lisada nginxile veel postgresi võib tekitada sama pod-i ehk deploymendi sisse teisegi konteineri. Nii võivad olla kokku seatud näiteks nginx ja postgres. Üldiselt on soovitatud aga tekitada kõrvale teine deployment fail
Lisame testiks 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-postgres-data spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 10Gi
Volume templates/deployment.yaml failis defineerimiseks
volumes: - name: postgres-data persistentVolumeClaim: claimName: longhorn-postgres-data
Ja konteinerile külge monteerimiseks
volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data subPath: data
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