# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. --- - name: setting playbook user info facts before escalating privileges set_fact: playbook_user_id: "{{ ansible_user_uid }}" playbook_group_id: "{{ ansible_user_gid }}" playbook_user_dir: "{{ ansible_user_dir }}" kube_master: "{{ groups['primary'][0] }}" kube_worker: "{{ inventory_hostname }}" kube_node_hostname: "{{ ansible_fqdn }}" - name: deploying kubelet and support assets to node include_role: name: deploy-kubeadm-aio-common tasks_from: main - name: generating the kubeadm join command for the node include: util-generate-join-command.yaml delegate_to: "{{ kube_master }}" - name: joining node to kubernetes cluster vars: kubeadm_aio_action: join-kube kubeadm_aio_join_command: "{{ kubeadm_cluster_join_command }}" include: util-run-join-command.yaml # FIXME(portdirect): running as root for now to unblock the gates, though this # runs ok under ansible 2.5.4 locally without privileges - name: waiting for node to be ready delegate_to: "{{ kube_master }}" become: true become_user: root shell: kubectl get node "{{ kube_node_hostname }}" -o jsonpath="{$.status.conditions[?(@.reason=='KubeletReady')]['type']}" || echo "Not registered yet" environment: KUBECONFIG: '/etc/kubernetes/admin.conf' register: task_result until: task_result.stdout == 'Ready' retries: 120 delay: 5 ...