fix: reinstall stale unregistered k3s nodes
Deploy Cluster / Terraform (push) Successful in 33s
Deploy Cluster / Ansible (push) Failing after 39m4s

This commit is contained in:
2026-05-03 18:10:58 +00:00
parent ff542024d2
commit 496be23058
3 changed files with 26 additions and 0 deletions
+1
View File
@@ -25,6 +25,7 @@
(not k3s_agent_service.stat.exists) (not k3s_agent_service.stat.exists)
or ((k3s_agent_service_state.stdout | default('')) != 'active') or ((k3s_agent_service_state.stdout | default('')) != 'active')
or (k3s_version != 'latest' and k3s_version not in (installed_k3s_version.stdout | default(''))) or (k3s_version != 'latest' and k3s_version not in (installed_k3s_version.stdout | default('')))
or (not (k3s_node_registered | default(true) | bool))
}} }}
- name: Configure k3s registry mirrors - name: Configure k3s registry mirrors
+1
View File
@@ -25,6 +25,7 @@
(not k3s_service.stat.exists) (not k3s_service.stat.exists)
or ((k3s_service_state.stdout | default('')) != 'active') or ((k3s_service_state.stdout | default('')) != 'active')
or (k3s_version != 'latest' and k3s_version not in (installed_k3s_version.stdout | default(''))) or (k3s_version != 'latest' and k3s_version not in (installed_k3s_version.stdout | default('')))
or (not (k3s_node_registered | default(true) | bool))
}} }}
- name: Wait for API endpoint on 6443 (secondary only) - name: Wait for API endpoint on 6443 (secondary only)
+24
View File
@@ -118,6 +118,18 @@
# Use Load Balancer for HA - all control planes join via LB endpoint # Use Load Balancer for HA - all control planes join via LB endpoint
k3s_join_endpoint: "{{ kube_api_endpoint | default(hostvars[groups['control_plane'][0]]['k3s_primary_private_ip']) }}" k3s_join_endpoint: "{{ kube_api_endpoint | default(hostvars[groups['control_plane'][0]]['k3s_primary_private_ip']) }}"
pre_tasks:
- name: Check whether secondary control plane is registered in Kubernetes
command: kubectl get node/{{ inventory_hostname }}
delegate_to: "{{ groups['control_plane'][0] }}"
register: k3s_node_registration
changed_when: false
failed_when: false
- name: Record secondary control plane registration state
set_fact:
k3s_node_registered: "{{ k3s_node_registration.rc == 0 }}"
roles: roles:
- k3s-server - k3s-server
@@ -234,6 +246,18 @@
k3s_server_url: "https://{{ kube_api_endpoint | default(hostvars[groups['control_plane'][0]]['k3s_primary_private_ip']) }}:6443" k3s_server_url: "https://{{ kube_api_endpoint | default(hostvars[groups['control_plane'][0]]['k3s_primary_private_ip']) }}:6443"
k3s_node_ip: "{{ k3s_private_ip }}" k3s_node_ip: "{{ k3s_private_ip }}"
pre_tasks:
- name: Check whether worker is registered in Kubernetes
command: kubectl get node/{{ inventory_hostname }}
delegate_to: "{{ groups['control_plane'][0] }}"
register: k3s_node_registration
changed_when: false
failed_when: false
- name: Record worker registration state
set_fact:
k3s_node_registered: "{{ k3s_node_registration.rc == 0 }}"
roles: roles:
- k3s-agent - k3s-agent