Enable Hetzner CCM and CSI for cloud provider integration
- Enable --kubelet-arg=cloud-provider=external on all nodes (control planes and workers) - Activate CCM Kustomization with 10m timeout for Hetzner cloud-controller-manager - Activate CSI Kustomization with dependsOn CCM and 10m timeout for hcloud-csi - Update deploy workflow to wait for CCM/CSI readiness (600s timeout) - Add providerID verification to post-deploy health checks This enables proper cloud provider integration with Hetzner CCM for node labeling and Hetzner CSI for persistent volume provisioning.
This commit is contained in:
@@ -290,9 +290,9 @@ jobs:
|
|||||||
key: dopplerToken
|
key: dopplerToken
|
||||||
namespace: external-secrets
|
namespace: external-secrets
|
||||||
EOF
|
EOF
|
||||||
# CCM and CSI are suspended for stable baseline - using k3s embedded cloud provider
|
# Wait for CCM and CSI (Hetzner cloud integration)
|
||||||
# kubectl -n flux-system wait --for=condition=Ready kustomization/addon-ccm --timeout=300s
|
kubectl -n flux-system wait --for=condition=Ready kustomization/addon-ccm --timeout=600s
|
||||||
# kubectl -n flux-system wait --for=condition=Ready kustomization/addon-csi --timeout=300s
|
kubectl -n flux-system wait --for=condition=Ready kustomization/addon-csi --timeout=600s
|
||||||
kubectl -n flux-system wait --for=condition=Ready kustomization/addon-tailscale-operator --timeout=300s
|
kubectl -n flux-system wait --for=condition=Ready kustomization/addon-tailscale-operator --timeout=300s
|
||||||
# Observability stack deferred - complex helm release timing out, debug separately
|
# Observability stack deferred - complex helm release timing out, debug separately
|
||||||
# kubectl -n flux-system wait --for=condition=Ready kustomization/addon-observability --timeout=300s
|
# kubectl -n flux-system wait --for=condition=Ready kustomization/addon-observability --timeout=300s
|
||||||
@@ -302,6 +302,7 @@ jobs:
|
|||||||
working-directory: ansible
|
working-directory: ansible
|
||||||
run: |
|
run: |
|
||||||
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl get nodes -o wide"
|
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl get nodes -o wide"
|
||||||
|
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl describe nodes | grep -E '(Name:|providerID:)'"
|
||||||
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl -n flux-system get gitrepositories,kustomizations,helmreleases"
|
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl -n flux-system get gitrepositories,kustomizations,helmreleases"
|
||||||
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl -n kube-system get pods -o wide"
|
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl -n kube-system get pods -o wide"
|
||||||
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl get storageclass"
|
ansible -i inventory.ini 'control_plane[0]' -m command -a "kubectl get storageclass"
|
||||||
|
|||||||
@@ -3,4 +3,4 @@ k3s_version: latest
|
|||||||
k3s_server_url: ""
|
k3s_server_url: ""
|
||||||
k3s_token: ""
|
k3s_token: ""
|
||||||
k3s_node_ip: ""
|
k3s_node_ip: ""
|
||||||
k3s_kubelet_cloud_provider_external: false
|
k3s_kubelet_cloud_provider_external: true
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ k3s_node_ip: ""
|
|||||||
k3s_primary_public_ip: ""
|
k3s_primary_public_ip: ""
|
||||||
k3s_disable_embedded_ccm: true
|
k3s_disable_embedded_ccm: true
|
||||||
k3s_disable_servicelb: true
|
k3s_disable_servicelb: true
|
||||||
k3s_kubelet_cloud_provider_external: false
|
k3s_kubelet_cloud_provider_external: true
|
||||||
|
|||||||
@@ -11,5 +11,5 @@ spec:
|
|||||||
name: platform
|
name: platform
|
||||||
path: ./infrastructure/addons/ccm
|
path: ./infrastructure/addons/ccm
|
||||||
wait: true
|
wait: true
|
||||||
timeout: 5m
|
timeout: 10m
|
||||||
suspend: true
|
suspend: false
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ spec:
|
|||||||
kind: GitRepository
|
kind: GitRepository
|
||||||
name: platform
|
name: platform
|
||||||
path: ./infrastructure/addons/csi
|
path: ./infrastructure/addons/csi
|
||||||
# dependsOn:
|
dependsOn:
|
||||||
# - name: addon-ccm # Deferred - CCM suspended for stable baseline
|
- name: addon-ccm
|
||||||
wait: true
|
wait: true
|
||||||
timeout: 5m
|
timeout: 10m
|
||||||
suspend: true
|
suspend: false
|
||||||
|
|||||||
Reference in New Issue
Block a user