diff --git a/roles/kubernetes/kubeadm/tasks/main.yml b/roles/kubernetes/kubeadm/tasks/main.yml index 97ad3e73a..52ec185ba 100644 --- a/roles/kubernetes/kubeadm/tasks/main.yml +++ b/roles/kubernetes/kubeadm/tasks/main.yml @@ -111,8 +111,8 @@ | sed 's#server:.*#server: https://127.0.0.1:{{ kube_apiserver_port }}#g' | {{ bin_dir }}/kubectl --kubeconfig {{ kube_config_dir }}/admin.conf replace -f - run_once: true + delegate_to: "{{ groups['kube-master']|first }}" when: - - inventory_hostname == groups['kube-master']|first - kubeadm_config_api_fqdn is not defined - kubeadm_discovery_address != kube_apiserver_endpoint | replace("https://", "") - not kube_proxy_remove @@ -129,8 +129,8 @@ - name: Restart all kube-proxy pods to ensure that they load the new configmap shell: "{{ bin_dir }}/kubectl --kubeconfig {{ kube_config_dir }}/admin.conf delete pod -n kube-system -l k8s-app=kube-proxy --force --grace-period=0" run_once: true + delegate_to: "{{ groups['kube-master']|first }}" when: - - inventory_hostname == groups['kube-master']|first - kubeadm_config_api_fqdn is not defined - kubeadm_discovery_address != kube_apiserver_endpoint | replace("https://", "") - not kube_proxy_remove @@ -153,8 +153,8 @@ - name: Delete kube-proxy daemonset if kube_proxy_remove set, e.g. kube_network_plugin providing proxy services shell: "{{ bin_dir }}/kubectl --kubeconfig /etc/kubernetes/admin.conf delete daemonset -n kube-system kube-proxy" run_once: true + delegate_to: "{{ groups['kube-master']|first }}" when: - - inventory_hostname == groups['kube-master']|first - kube_proxy_remove - kubeadm_discovery_address != kube_apiserver_endpoint | replace("https://", "") # When scaling/adding nodes in the existing k8s cluster, kube-proxy wouldn't be created, as `kubeadm init` wouldn't run.