update: add k3s_url_ip variable to configuration files and update references in Ansible playbooks

This commit is contained in:
jon brookes 2025-08-09 13:32:07 +01:00
parent ae59661982
commit 34fbe9b5b3
5 changed files with 18 additions and 14 deletions

View file

@ -7,3 +7,4 @@ export VM1_IP="192.168.56.80"
export VM2_IP="192.168.56.81" export VM2_IP="192.168.56.81"
export VM3_IP="192.168.56.82" export VM3_IP="192.168.56.82"
export VAGRANT_NETWORK_PREFIX="192.168.56" export VAGRANT_NETWORK_PREFIX="192.168.56"
export K3S_URL_IP="192.168.56.250"

View file

@ -69,4 +69,4 @@
ansible.builtin.replace: ansible.builtin.replace:
path: /home/vagrant/.kube/config path: /home/vagrant/.kube/config
regexp: "127.0.0.1:6443" regexp: "127.0.0.1:6443"
replace: "{{ vm1_ip }}:6443" replace: "{{ k3s_url_ip }}:6443"

View file

@ -8,13 +8,13 @@
- vars.yaml - vars.yaml
tasks: tasks:
- name: Debug IP variables # - name: Debug IP variables
ansible.builtin.debug: # ansible.builtin.debug:
msg: # msg:
- "vm1_ip: {{ vm1_ip }}" # - "vm1_ip: {{ vm1_ip }}"
- "vm2_ip: {{ vm2_ip }}" # - "vm2_ip: {{ vm2_ip }}"
- "vm3_ip: {{ vm3_ip }}" # - "vm3_ip: {{ vm3_ip }}"
- "Current inventory_hostname: {{ inventory_hostname }}" # - "Current inventory_hostname: {{ inventory_hostname }}"
- name: Check if k3s is already installed - name: Check if k3s is already installed
ansible.builtin.stat: ansible.builtin.stat:
@ -55,7 +55,7 @@
- name: Install k3s on first node - name: Install k3s on first node
ansible.builtin.shell: | ansible.builtin.shell: |
set -o pipefail set -o pipefail
K3S_TOKEN=$(cat /opt/k3s-token) /bin/bash /tmp/k3s_install.sh server --cluster-init --disable traefik --disable servicelb --tls-san {{ vm1_ip }} --node-name vm1 --node-ip {{ vm1_ip }} K3S_TOKEN=$(cat /opt/k3s-token) /bin/bash /tmp/k3s_install.sh server --cluster-init --disable traefik --disable servicelb --tls-san {{ k3s_url_ip }} --node-name vm1 --node-ip {{ vm1_ip }}
if [ $? -eq 0 ]; then if [ $? -eq 0 ]; then
mkdir -p /home/vagrant/.kube && cp /etc/rancher/k3s/k3s.yaml /home/vagrant/.kube/config && chown vagrant:vagrant /home/vagrant/.kube/config mkdir -p /home/vagrant/.kube && cp /etc/rancher/k3s/k3s.yaml /home/vagrant/.kube/config && chown vagrant:vagrant /home/vagrant/.kube/config
fi fi
@ -89,9 +89,9 @@
{% else %} {% else %}
NODE_IP="{{ vm1_ip }}" NODE_IP="{{ vm1_ip }}"
{% endif %} {% endif %}
K3S_URL=https://{{ vm1_ip }}:6443 \ K3S_URL=https://{{ k3s_url_ip }}:6443 \
K3S_TOKEN={{ k3s_token_content.stdout }} \ K3S_TOKEN={{ k3s_token_content.stdout }} \
INSTALL_K3S_EXEC="server --server https://{{ vm1_ip }}:6443 --disable traefik --disable servicelb --node-name={{ inventory_hostname }} --node-ip ${NODE_IP}" \ INSTALL_K3S_EXEC="server --server https://{{ k3s_url_ip }}:6443 --disable traefik --disable servicelb --node-name={{ inventory_hostname }} --node-ip ${NODE_IP}" \
/bin/bash /tmp/k3s_install.sh 2>&1 /bin/bash /tmp/k3s_install.sh 2>&1
exit_code=$? exit_code=$?
if [ $exit_code -ne 0 ]; then if [ $exit_code -ne 0 ]; then

View file

@ -6,8 +6,7 @@
serial: 1 # Ensure tasks are executed one host at a time serial: 1 # Ensure tasks are executed one host at a time
vars_files: vars_files:
- vault.yml - vars.yaml
- vars.yml
vars: vars:
tailscale_host: "{{ hostvars[inventory_hostname]['tailscale_host'] }}" tailscale_host: "{{ hostvars[inventory_hostname]['tailscale_host'] }}"
@ -22,6 +21,9 @@
# msg: "{{ item.key }}: {{ item.value.ipv4 | map(attribute='address') | list }}" # msg: "{{ item.key }}: {{ item.value.ipv4 | map(attribute='address') | list }}"
# with_dict: "{{ ansible_facts['network_interfaces'] }}" # with_dict: "{{ ansible_facts['network_interfaces'] }}"
# when: ansible_facts['network_interfaces'] is defined # when: ansible_facts['network_interfaces'] is defined
# - name: Debug k3s_url_ip
# ansible.builtin.debug:
# msg: "k3s_url_ip: {{ k3s_url_ip }}"
- name: Detect interface with the desired IP range - name: Detect interface with the desired IP range
ansible.builtin.set_fact: ansible.builtin.set_fact:
@ -65,7 +67,7 @@
auth_pass mysecret auth_pass mysecret
} }
virtual_ipaddress { virtual_ipaddress {
192.168.56.250 {{ k3s_url_ip }}
} }
} }
owner: root owner: root

View file

@ -3,6 +3,7 @@
vm1_ip: "{{ lookup('env', 'VM1_IP') | default('192.168.56.80', true) }}" vm1_ip: "{{ lookup('env', 'VM1_IP') | default('192.168.56.80', true) }}"
vm2_ip: "{{ lookup('env', 'VM2_IP') | default('192.168.56.81', true) }}" vm2_ip: "{{ lookup('env', 'VM2_IP') | default('192.168.56.81', true) }}"
vm3_ip: "{{ lookup('env', 'VM3_IP') | default('192.168.56.82', true) }}" vm3_ip: "{{ lookup('env', 'VM3_IP') | default('192.168.56.82', true) }}"
k3s_url_ip: "{{ lookup('env', 'K3S_URL_IP') | default('192.168.56.250', true) }}"
workstation_ip: "{{ lookup('env', 'WORKSTATION_IP') | default('192.168.56.10', true) }}" workstation_ip: "{{ lookup('env', 'WORKSTATION_IP') | default('192.168.56.10', true) }}"
network_prefix: "{{ lookup('env', 'VAGRANT_NETWORK_PREFIX') | default('192.168.56', true) }}" network_prefix: "{{ lookup('env', 'VAGRANT_NETWORK_PREFIX') | default('192.168.56', true) }}"