mirror of
https://github.com/techno-tim/k3s-ansible.git
synced 2026-08-08 23:13:19 +02:00
57a22e364d
- pin kube-vip and cluster traffic to the private guest interface\n- disable disposable guest firewalls and verify API reachability before joins\n- keep control-plane orchestration on the primary and preserve failure diagnostics
32 lines
1.1 KiB
YAML
32 lines
1.1 KiB
YAML
---
|
|
- name: Verify primary Kubernetes API reachability from {{ joining_master }}
|
|
ansible.builtin.wait_for:
|
|
host: >-
|
|
{{ hostvars[groups[group_name_master | default('master')][0]].k3s_node_ip
|
|
| split(',') | first }}
|
|
port: 6443
|
|
connect_timeout: 2
|
|
timeout: 30
|
|
delegate_to: "{{ joining_master }}"
|
|
|
|
- name: Join transient k3s-init service for {{ joining_master }}
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
systemd-run -p RestartSec=2 -p Restart=on-failure --unit=k3s-init
|
|
k3s server {{ hostvars[joining_master].k3s_server_init_args }}
|
|
creates: "{{ systemd_dir }}/k3s-init.service"
|
|
delegate_to: "{{ joining_master }}"
|
|
no_log: true
|
|
|
|
- name: Wait for primary registration of {{ joining_master }}
|
|
ansible.builtin.command:
|
|
cmd: >-
|
|
{{ k3s_kubectl_binary | default('k3s kubectl') }} get node
|
|
{{ hostvars[joining_master].ansible_hostname }}
|
|
delegate_to: "{{ groups[group_name_master | default('master')][0] }}"
|
|
register: joined_master
|
|
until: joined_master.rc == 0
|
|
retries: "{{ retry_count | default(20) }}"
|
|
delay: 2
|
|
changed_when: false
|