diff --git a/roles/kubernetes/kubeadm/tasks/main.yml b/roles/kubernetes/kubeadm/tasks/main.yml index ba399151540c9df66b124738993068972d65a32a..c849002b226bd4a6287cbb515d46d4d9dc6929ef 100644 --- a/roles/kubernetes/kubeadm/tasks/main.yml +++ b/roles/kubernetes/kubeadm/tasks/main.yml @@ -65,14 +65,38 @@ kubeadm_token: "{{ temp_token.stdout }}" - name: Join to cluster if needed - command: >- - {{ bin_dir }}/kubeadm join - --config {{ kube_config_dir}}/kubeadm-client.conf - --ignore-preflight-errors=all - register: kubeadm_join - when: not is_kube_master and (not kubelet_conf.stat.exists) environment: PATH: "{{ bin_dir }}:{{ ansible_env.PATH }}" + when: not is_kube_master and (not kubelet_conf.stat.exists) + block: + + - name: Join to cluster + command: >- + {{ bin_dir }}/kubeadm join + --config {{ kube_config_dir}}/kubeadm-client.conf + register: kubeadm_join + async: 60 + poll: 15 + + rescue: + + - name: Join to cluster with ignores + command: >- + {{ bin_dir }}/kubeadm join + --config {{ kube_config_dir}}/kubeadm-client.conf + --ignore-preflight-errors=all + register: kubeadm_join + async: 60 + poll: 15 + + always: + + - name: Display kubeadm join stderr if any + when: kubeadm_join is failed + debug: + message: | + Joined with warnings + {{ kubeadm_join.stderr_lines }} - name: Wait for kubelet bootstrap to create config wait_for: