fix: deploy Hetzner CCM resources in kube-system namespace
All checks were successful
Deploy Cluster / Terraform (push) Successful in 18s
Deploy Cluster / Ansible (push) Successful in 3m10s

This commit is contained in:
2026-03-01 03:44:36 +00:00
parent d6168083c2
commit f95dfbf9ac

View File

@@ -1,18 +1,13 @@
---
- name: Check if Hetzner CCM is already deployed
command: kubectl get namespace hetzner-cloud-system
command: kubectl -n kube-system get deployment hcloud-cloud-controller-manager
register: ccm_namespace
failed_when: false
changed_when: false
- name: Create Hetzner CCM namespace
command: kubectl create namespace hetzner-cloud-system
when: ccm_namespace.rc != 0
changed_when: true
- name: Create Hetzner cloud secret
shell: |
kubectl -n hetzner-cloud-system create secret generic hcloud \
kubectl -n kube-system create secret generic hcloud \
--from-literal=token='{{ hcloud_token }}' \
--from-literal=network='{{ cluster_name }}-network' \
--dry-run=client -o yaml | kubectl apply -f -
@@ -26,9 +21,9 @@
- name: Detect CCM workload kind
shell: |
if kubectl -n hetzner-cloud-system get deployment hcloud-cloud-controller-manager >/dev/null 2>&1; then
if kubectl -n kube-system get deployment hcloud-cloud-controller-manager >/dev/null 2>&1; then
echo deployment
elif kubectl -n hetzner-cloud-system get daemonset hcloud-cloud-controller-manager >/dev/null 2>&1; then
elif kubectl -n kube-system get daemonset hcloud-cloud-controller-manager >/dev/null 2>&1; then
echo daemonset
else
echo missing
@@ -37,7 +32,7 @@
changed_when: false
- name: Wait for CCM deployment rollout
command: kubectl rollout status deployment/hcloud-cloud-controller-manager -n hetzner-cloud-system
command: kubectl rollout status deployment/hcloud-cloud-controller-manager -n kube-system
register: ccm_rollout_deploy
until: ccm_rollout_deploy.rc == 0
changed_when: false
@@ -46,7 +41,7 @@
when: ccm_workload_kind.stdout == "deployment"
- name: Wait for CCM daemonset rollout
command: kubectl rollout status daemonset/hcloud-cloud-controller-manager -n hetzner-cloud-system
command: kubectl rollout status daemonset/hcloud-cloud-controller-manager -n kube-system
register: ccm_rollout_ds
until: ccm_rollout_ds.rc == 0
changed_when: false
@@ -55,7 +50,7 @@
when: ccm_workload_kind.stdout == "daemonset"
- name: Show CCM namespace objects when workload missing
command: kubectl -n hetzner-cloud-system get all
command: kubectl -n kube-system get all | grep hcloud-cloud-controller-manager || true
register: ccm_ns_objects
changed_when: false
when: ccm_workload_kind.stdout == "missing"