DevOps Pokročilý
GitOps s Helm Charts¶
HelmGitOpsKubernetesPackage Management 5 min čtení
Helm charts v GitOps workflow. Chart design, values management, dependency management a automated upgrades.
Helm v GitOps¶
Helm a GitOps se doplňují: Helm templating + GitOps delivery. ArgoCD i Flux nativně podporují HelmRelease.
# ArgoCD s Helm
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: api-server
spec:
source:
repoURL: https://charts.example.com
chart: api-server
targetRevision: 2.1.0
helm:
values: |
replicaCount: 3
image:
tag: v1.2.3
resources:
requests:
cpu: 200m
memory: 256Mi
Chart Design¶
# Chart.yaml
apiVersion: v2
name: microservice
version: 1.0.0
appVersion: "2.1.0"
dependencies:
- name: postgresql
version: "~13.0"
repository: https://charts.bitnami.com/bitnami
condition: postgresql.enabled
# values.yaml — sane defaults
replicaCount: 1
image:
repository: ""
tag: "latest"
pullPolicy: IfNotPresent
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 10
targetCPU: 80
Values per Environment¶
# values-prod.yaml (overlay)
replicaCount: 3
resources:
requests:
cpu: 500m
memory: 512Mi
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 20
# Flux HelmRelease s values overlay
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
spec:
chart:
spec:
chart: microservice
sourceRef:
kind: HelmRepository
name: internal
valuesFrom:
- kind: ConfigMap
name: common-values
- kind: ConfigMap
name: prod-values
Shrnutí¶
Helm charts v GitOps workflow kombinují šablonování s deklarativním delivery. Navrhujte charts s dobrými defaults a environment-specific values overlays.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.