Slide 1

Slide 1 text

Helm and ArgoCD Like peanutbutter and chocolate. GitOps Guide to the Galaxy 1 Christian Hernandez Cloud Platforms BU

Slide 2

Slide 2 text

2 Helm is a package manager for Kubernetes applications define, install and update applications

Slide 3

Slide 3 text

3 a package consisting of related Kubernetes YAML files a place where Charts can be stored, shared and distributed a specific instance of a Chart deployed on Kubernetes Chart Repository Release

Slide 4

Slide 4 text

4 How does Helm work? OPENSHIFT NAMESPACE Image Repository Releases Helm Chart (templates) Values (configs) Helm CLI

Slide 5

Slide 5 text

Helm Templates apiVersion: build.openshift.io/v1 kind: BuildConfig . . . spec: . . . source: type: Git git: uri: {{ .Values.build.uri }} contextDir: {{ .Values.build.contextDir }} {{- if and .Values.build.native.useDefaultDockerfile (eq .Values.build.mode “native”) }} dockerfile: |- FROM registry.redhat.com/quarkus/mandrel-20-rhel8 AS builder . . . {{- end }} strategy: {{- if eq .Values.build.mode “jvm” }} type: Source sourceStrategy: . . . apiVersion: apps/v1 kind: Deployment metadata: . . . spec: replicas: {{ .Values.deploy.replicas }} . . . template: spec: containers: - name: web image: {{ .Release.Name }}:{{ .Values.image.tag }} {{- if .Values.deploy.resources }} resources: {{- toYaml .Values.deploy.resources | nindent 12 }} {{- end }} . . .

Slide 6

Slide 6 text

Configuration using “Values” build: uri: https://github.com/deweya/quarkus-quickstarts contextDir: getting-started mode: jvm deploy: resources: limits: cpu: 500m memory: 2Gi Create a values.yaml file $ helm install quarkus-app redhat-charts/quarkus --values values.yaml Install the Helm chart BuildConfig ImageStream

Slide 7

Slide 7 text

Helm Integration with ArgoCD ● Charts can be sourced from: ○ Git Repositories ○ Helm Repositories ● Override Chart Values ○ Separate Values files ○ Individual parameters ● Managed via UI or CLI ● Values.yaml file can only be stored if you’re hosting your own helm repo

Slide 8

Slide 8 text

Let’s Explore! Hacking away at it until it works. GitOps Guide to the Galaxy 8 Keyboard time!