feat(nfc_kubernetes): new variable 'nfc_role_kubernetes_node_prime' to denote the hostname of the prime node

!65 fixes #28
This commit is contained in:
2024-05-04 01:40:11 +09:30
parent cbd2ec7ef8
commit ece10c7ee0
4 changed files with 10 additions and 7 deletions

View File

@ -46,6 +46,8 @@ nfc_role_kubernetes_install_kubevirt: false
nfc_role_kubernetes_kubevirt_operator_replicas: 1 nfc_role_kubernetes_kubevirt_operator_replicas: 1
# nfc_role_kubernetes_node_prime: '' # Mandatory*, string. the inventory_hostname of the prime node. ONLY required for multi-node deployments
nfc_role_kubernetes_oidc_enabled: false nfc_role_kubernetes_oidc_enabled: false
nfc_role_kubernetes_resolv_conf_file: /etc/resolv.conf nfc_role_kubernetes_resolv_conf_file: /etc/resolv.conf
@ -136,7 +138,7 @@ k3s:
# usernames: [] # usernames: []
# runtimeClasses: [] # runtimeClasses: []
# namespaces: [kube-system] # namespaces: [kube-system]
when: "{{ kubernetes_config.cluster.prime.name | default(inventory_hostname) == inventory_hostname }}" when: "{{ nfc_role_kubernetes_prime | bool }}"
############################################################################################# #############################################################################################

View File

@ -34,7 +34,7 @@
- src: kubernetes-manifest-rbac.yaml.j2 - src: kubernetes-manifest-rbac.yaml.j2
dest: /var/lib/rancher/k3s/server/manifests/rbac-authorization-common.yaml dest: /var/lib/rancher/k3s/server/manifests/rbac-authorization-common.yaml
when: "{{ kubernetes_config.cluster.prime.name | default(inventory_hostname) == inventory_hostname }}" when: "{{ nfc_role_kubernetes_prime | bool }}"
- src: iptables-kubernetes.rules.j2 - src: iptables-kubernetes.rules.j2
dest: "/etc/iptables-reloader/rules.d/iptables-kubernetes.rules" dest: "/etc/iptables-reloader/rules.d/iptables-kubernetes.rules"
@ -71,7 +71,7 @@
owner: root owner: root
group: root group: root
mode: '700' mode: '700'
delegate_to: "{{ kubernetes_config.cluster.prime.name }}" delegate_to: "{{ nfc_role_kubernetes_node_prime }}"
when: when:
kubernetes_config.hosts[inventory_hostname].labels | default([]) | list | length > 0 kubernetes_config.hosts[inventory_hostname].labels | default([]) | list | length > 0
or or

View File

@ -620,7 +620,7 @@
exit 127; exit 127;
fi fi
executable: /bin/bash executable: /bin/bash
delegate_to: "{{ kubernetes_config.cluster.prime.name | default(inventory_hostname) }}" delegate_to: "{{ nfc_role_kubernetes_node_prime }}"
run_once: true run_once: true
register: kubernetes_ready_check register: kubernetes_ready_check
retries: 30 retries: 30
@ -723,7 +723,7 @@
- name: Fetch Join Token - name: Fetch Join Token
ansible.builtin.slurp: ansible.builtin.slurp:
src: /var/lib/rancher/k3s/server/token src: /var/lib/rancher/k3s/server/token
delegate_to: "{{ kubernetes_config.cluster.prime.name | default(inventory_hostname) }}" delegate_to: "{{ nfc_role_kubernetes_node_prime }}"
run_once: true run_once: true
register: k3s_join_token register: k3s_join_token
no_log: true # Value is sensitive no_log: true # Value is sensitive
@ -734,7 +734,7 @@
- name: Create Token fact - name: Create Token fact
ansible.builtin.set_fact: ansible.builtin.set_fact:
k3s_join_token: "{{ k3s_join_token.content | b64decode | replace('\n', '') }}" k3s_join_token: "{{ k3s_join_token.content | b64decode | replace('\n', '') }}"
delegate_to: "{{ kubernetes_config.cluster.prime.name | default(inventory_hostname) }}" delegate_to: "{{ nfc_role_kubernetes_node_prime }}"
run_once: true run_once: true
no_log: true # Value is sensitive no_log: true # Value is sensitive
when: > when: >
@ -769,7 +769,7 @@
INSTALL_K3S_SKIP_DOWNLOAD=true \ INSTALL_K3S_SKIP_DOWNLOAD=true \
INSTALL_K3S_VERSION="v{{ node_k3s.desired_version }}" \ INSTALL_K3S_VERSION="v{{ node_k3s.desired_version }}" \
K3S_TOKEN="{{ k3s_join_token }}" \ K3S_TOKEN="{{ k3s_join_token }}" \
K3S_URL="https://{{ hostvars[kubernetes_config.cluster.prime.name | default(inventory_hostname)].ansible_host }}:6443" \ K3S_URL="https://{{ hostvars[nfc_role_kubernetes_node_prime].ansible_host }}:6443" \
/tmp/install.sh - /tmp/install.sh -
executable: /bin/bash executable: /bin/bash
changed_when: false changed_when: false

View File

@ -5,6 +5,7 @@
cacheable: false cacheable: false
nfc_role_kubernetes_prime: true nfc_role_kubernetes_prime: true
nfc_role_kubernetes_master: true nfc_role_kubernetes_master: true
nfc_role_kubernetes_node_prime: "{{ inventory_hostname }}"
when: > when: >
not nfc_role_kubernetes_worker | bool not nfc_role_kubernetes_worker | bool
and and