Späť na blog
2026-06-12Deployment

Helm 3 na OpenShift

Package manager pre Kubernetes a jeho špecifiká na OpenShift.

Helm 3 funguje na OpenShift bez Tillera (ten bol v Helm 2 a bol bezpečnostný horor). Klient si drží release state v Secrets v target namespace. Inštalácia binárky je `brew install helm` alebo stiahnutie z GitHub releases – v konzole je Helm integrovaný do Developer perspective.

Najväčšia bolesť je SCC. Väčšina upstream chartov (Bitnami, oficiálne charts) predpokladá, že pod beží ako root alebo špecifický UID (napr. 1001). Na OpenShift dostane pod random UID a spadne. Riešenie: `helm install ... --set podSecurityContext.enabled=false --set containerSecurityContext.enabled=false` alebo prepis values.

Route vs. Ingress je ďalšia položka. Charts často generujú Ingress, ktorý OpenShift skonvertuje na Route – to je OK. Ale ak chart používa Ingress s custom annotations pre nginx-ingress (napr. `nginx.ingress.kubernetes.io/rewrite-target`), tie sa ignorujú. Prepni chart na Route (ak podporuje) alebo si pridaj Route manuálne.

OpenShift Console má integrovaný Helm katalóg. HelmChartRepository CR pridá repo cluster-wide, ProjectHelmChartRepository per namespace. Developer perspective v konzole potom ponúkne "Install Helm Chart" wizard s formulárom generovaným z values.schema.json. Skvelé pre self-service.

Pre GitOps kombináciu použi Argo CD s Helm source. ArgoCD renderuje chart cez `helm template` (nie `helm install`), takže Helm hooks (pre-install, post-upgrade) fungujú obmedzene – ich replacement je Argo sync waves a resource hooks. Alternatíva je Helm chart wrappnutý do Kustomize overlay pre finálne patche.