HELM

Der folgende Ordner beinhaltet zwei locale HELM Chart Templates, womit kann man dynamisch/oder wieder verwendeten Objekte des Kubernetes generieren und sie in die Kubernetes Cluster deployen. In folgenden Beispielen kann man dynamisch ein Deployment, namespace, pod, service als auch ein postgres generieren/erstellen.

Deployment eines Charts in die Kubernetes Cluster

helm install <Name des Charts> .

.
├── deployment
│   ├── Chart.yaml
│   ├── NOTES.txt
│   ├── pod.yaml
│   ├── service.yaml
│   ├── templates
│   │   ├── deployment.yaml
│   │   ├── _helpers.tpl
│   │   └── namespace.yaml
│   └── values.yaml
├── postgress
│   ├── Chart.yaml
│   ├── postgress.yaml
│   ├── templates
│   │   ├── _helpers.tpl
│   │   ├── NOTES.txt
│   │   ├── postgress-config.yaml
│   │   ├── postgress-deployment.yaml
│   │   ├── postgress-pvc.yaml
│   │   └── postgress-svc.yaml
│   └── values.yaml
└── README.md

4 directories, 18 files

Ein Beispiel eines Deployments Definition ./template/deployment.yamldie nimmt die Daten aus der ./values.yaml und erstellt ein Deployment in die Kuberenetes Cluster

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
  {{- $replica := .Values.replicacount}}
  {{- $image := .Values.imagenginx}}
  {{- with .Values.service}}
    app: {{.labels.app}}
  name: {{.labels.app}}-deployment
spec:
  replicas: {{$replica}}
  selector:
    matchLabels:
      app: {{.labels.app}}
  strategy: {}
  template:
    metadata:
      labels:
        app: {{.labels.app}}
    spec:
      containers:
      - image: {{$image}}
        name: {{.labels.app}}
	imagePullPolicy: IfNoPresent
  {{end}}