Erinevus lehekülje "Helm" redaktsioonide vahel

Allikas: Kuutõrvaja
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 sinna nginx confi nginx/templates/cm.yaml
+
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

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