Erinevus lehekülje "Helm" redaktsioonide vahel
61. rida: | 61. rida: | ||
kind: PersistentVolumeClaim | kind: PersistentVolumeClaim | ||
metadata: | metadata: | ||
− | name: longhorn | + | name: longhorn-postgres-data |
spec: | spec: | ||
accessModes: | accessModes: | ||
70. rida: | 70. rida: | ||
storage: 10Gi | 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 | Testimiseks kas kõik on korras saab kasutada käsku |
Redaktsioon: 22. august 2019, kell 12:44
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-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