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 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'roles/kubernetes/kubeadm/control-plane/tasks') 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 -- cgit v1.2.3