diff --git a/ansible/roles/k3s-server/tasks/main.yml b/ansible/roles/k3s-server/tasks/main.yml index 3558791..88f2420 100644 --- a/ansible/roles/k3s-server/tasks/main.yml +++ b/ansible/roles/k3s-server/tasks/main.yml @@ -20,7 +20,7 @@ environment: INSTALL_K3S_VERSION: "{{ k3s_version if k3s_version != 'latest' else '' }}" K3S_TOKEN: "{{ k3s_token }}" - command: /tmp/install-k3s.sh server --cluster-init + command: /tmp/install-k3s.sh server --cluster-init --advertise-address={{ k3s_primary_ip }} when: - not k3s_service.stat.exists - k3s_primary | default(false) diff --git a/ansible/site.yml b/ansible/site.yml index 5a077ec..e82e0ed 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -20,6 +20,7 @@ vars: k3s_primary: true k3s_token: "{{ lookup('password', '/dev/null length=32 chars=ascii_letters,digits') }}" + k3s_primary_ip: "{{ ansible_all_ipv4_addresses | select('match', '^10\\.') | first }}" roles: - k3s-server @@ -33,10 +34,14 @@ register: node_token changed_when: false + - name: Get private IP + set_fact: + k3s_primary_private_ip: "{{ ansible_all_ipv4_addresses | select('match', '^10\\.') | first }}" + - name: Set join token fact set_fact: k3s_token: "{{ node_token.stdout }}" - k3s_primary_ip: "{{ ansible_default_ipv4.address }}" + k3s_primary_ip: "{{ k3s_primary_private_ip }}" - name: Fetch kubeconfig fetch: