From 20947da3f0961ea36ea62cb54ff675c2a60bcffd Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 15 Aug 2022 22:42:01 +0200 Subject: kubernetes/kubeadm: make k8s node name configureable --- roles/kubernetes/kubeadm/control-plane/tasks/main.yml | 14 +++++++------- roles/kubernetes/kubeadm/control-plane/tasks/primary.yml | 8 ++++---- .../kubeadm/control-plane/templates/kubeadm-init.config.j2 | 2 +- .../kubeadm/control-plane/templates/kubeadm-join.config.j2 | 2 +- roles/kubernetes/kubeadm/prune/tasks/main.yml | 2 +- .../kubernetes/kubeadm/worker/templates/kubeadm.config.j2 | 2 +- 6 files changed, 15 insertions(+), 15 deletions(-) (limited to 'roles/kubernetes') diff --git a/roles/kubernetes/kubeadm/control-plane/tasks/main.yml b/roles/kubernetes/kubeadm/control-plane/tasks/main.yml index fbfc4027..b6160dab 100644 --- a/roles/kubernetes/kubeadm/control-plane/tasks/main.yml +++ b/roles/kubernetes/kubeadm/control-plane/tasks/main.yml @@ -22,7 +22,7 @@ - name: check if control-plane node is tainted (1/2) - command: "kubectl --kubeconfig /etc/kubernetes/admin.conf get node {{ inventory_hostname }} -o json" + command: "kubectl --kubeconfig /etc/kubernetes/admin.conf get node {{ kubernetes_node_name }} -o json" check_mode: no register: kubectl_get_node changed_when: False @@ -36,22 +36,22 @@ block: - name: remove control-plane taint from node when: "'node-role.kubernetes.io/control-plane' in kube_node_taints" - command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ inventory_hostname }} node-role.kubernetes.io/control-plane-" + command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ kubernetes_node_name }} node-role.kubernetes.io/control-plane-" - name: remove deprecated master taint from node when: "'node-role.kubernetes.io/master' in kube_node_taints" - command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ inventory_hostname }} node-role.kubernetes.io/master-" + command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ kubernetes_node_name }} node-role.kubernetes.io/master-" - name: add taint from control-plane node when: kubernetes.dedicated_controlplane_nodes block: - name: add control-plane taint to node when: "'node-role.kubernetes.io/control-plane' not in kube_node_taints" - command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ inventory_hostname }} node-role.kubernetes.io/control-plane='':NoSchedule" + command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ kubernetes_node_name }} node-role.kubernetes.io/control-plane='':NoSchedule" - name: add deprecated master taint to node when: "'node-role.kubernetes.io/master' not in kube_node_taints" - command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ inventory_hostname }} node-role.kubernetes.io/master='':NoSchedule" + command: "kubectl --kubeconfig /etc/kubernetes/admin.conf taint nodes {{ kubernetes_node_name }} node-role.kubernetes.io/master='':NoSchedule" - name: prepare kubectl (1/2) file: @@ -66,8 +66,8 @@ - name: add kubectl completion config for shells loop: - - zsh - - bash + - zsh + - bash blockinfile: path: "/root/.{{ item }}rc" create: yes diff --git a/roles/kubernetes/kubeadm/control-plane/tasks/primary.yml b/roles/kubernetes/kubeadm/control-plane/tasks/primary.yml index 4204c07d..cbad58d9 100644 --- a/roles/kubernetes/kubeadm/control-plane/tasks/primary.yml +++ b/roles/kubernetes/kubeadm/control-plane/tasks/primary.yml @@ -71,7 +71,7 @@ kubernetes_current_nodes: "{{ kubectl_node_list.stdout_lines | map('replace', 'node/', '') | list }}" - name: create bootstrap token for existing cluster - when: "groups['_kubernetes_nodes_'] | difference(kubernetes_current_nodes) | length > 0" + when: "groups['_kubernetes_nodes_'] | map('extract', hostvars, 'kubernetes_node_name') | difference(kubernetes_current_nodes) | length > 0" command: kubeadm token create --ttl 42m check_mode: no register: kubeadm_token_create @@ -93,12 +93,12 @@ changed_when: False - name: set variables needed by kubernetes/nodes to join the cluster + loop: "{{ groups['_kubernetes_nodes_'] }}" + delegate_to: "{{ item }}" + delegate_facts: True set_fact: kube_bootstrap_token: "{% if kubeadm_token_generate.stdout is defined %}{{ kubeadm_token_generate.stdout }}{% elif kubeadm_token_create.stdout is defined %}{{ kubeadm_token_create.stdout }}{% endif %}" kube_bootstrap_ca_cert_hash: "sha256:{{ kube_ca_openssl.stdout }}" - delegate_to: "{{ item }}" - delegate_facts: True - loop: "{{ groups['_kubernetes_nodes_'] }}" ## install node-local-dns diff --git a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2 b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2 index b6743282..23cd36e6 100644 --- a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2 +++ b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-init.config.j2 @@ -16,7 +16,7 @@ skipPhases: - addon/kube-proxy {% endif %} nodeRegistration: - name: "{{ inventory_hostname }}" + name: "{{ kubernetes_node_name }}" criSocket: "{{ kubernetes_cri_socket }}" {% if kubernetes_overlay_node_ip is defined %} kubeletExtraArgs: diff --git a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-join.config.j2 b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-join.config.j2 index 77ad480b..77da9021 100644 --- a/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-join.config.j2 +++ b/roles/kubernetes/kubeadm/control-plane/templates/kubeadm-join.config.j2 @@ -16,7 +16,7 @@ controlPlane: advertiseAddress: "{{ kubernetes_overlay_node_ip }}" {% endif %} nodeRegistration: - name: "{{ inventory_hostname }}" + name: "{{ kubernetes_node_name }}" criSocket: "{{ kubernetes_cri_socket }}" {% if kubernetes_overlay_node_ip is defined %} kubeletExtraArgs: diff --git a/roles/kubernetes/kubeadm/prune/tasks/main.yml b/roles/kubernetes/kubeadm/prune/tasks/main.yml index 45020963..1c746294 100644 --- a/roles/kubernetes/kubeadm/prune/tasks/main.yml +++ b/roles/kubernetes/kubeadm/prune/tasks/main.yml @@ -3,7 +3,7 @@ run_once: true delegate_to: "{{ groups['_kubernetes_primary_controlplane_node_'] | first }}" loop: "{{ groups['_kubernetes_nodes_prune_'] | default([]) }}" - command: "kubectl delete node {{ item }}" + command: "kubectl delete node {{ hostvars[item].kubernetes_node_name }}" - name: prune network plugin include_tasks: "net_{{ kubernetes_network_plugin }}.yml" diff --git a/roles/kubernetes/kubeadm/worker/templates/kubeadm.config.j2 b/roles/kubernetes/kubeadm/worker/templates/kubeadm.config.j2 index 451498cd..70314fde 100644 --- a/roles/kubernetes/kubeadm/worker/templates/kubeadm.config.j2 +++ b/roles/kubernetes/kubeadm/worker/templates/kubeadm.config.j2 @@ -9,7 +9,7 @@ discovery: caCertHashes: - "{{ kube_bootstrap_ca_cert_hash }}" nodeRegistration: - name: "{{ inventory_hostname }}" + name: "{{ kubernetes_node_name }}" criSocket: "{{ kubernetes_cri_socket }}" {% if kubernetes_overlay_node_ip is defined %} kubeletExtraArgs: -- cgit v1.2.3