DevOps/helm/README.md
2022-10-26 11:41:04 +02:00

62 lines
1.8 KiB
Markdown

### 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.yaml`die 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}}
```