Erinevus lehekülje "Helm" redaktsioonide vahel

Allikas: Kuutõrvaja
61. rida: 61. rida:
 
  kind: PersistentVolumeClaim
 
  kind: PersistentVolumeClaim
 
  metadata:
 
  metadata:
   name: longhorn-waldur-postgres-data
+
   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

https://linchpiner.github.io/k8s-multi-container-pods.html