--- - include_tasks: setup-RedHat.yml when: ansible_os_family == 'RedHat' - include_tasks: setup-Debian.yml when: ansible_os_family == 'Debian' - name: Ensure dependencies are installed. package: name=curl state=present - name: Install Kubernetes packages. package: name: "{{ item.name | default(item) }}" state: "{{ item.state | default('present') }}" notify: restart kubelet with_items: "{{ kubernetes_packages }}" - name: Configure KUBELET_EXTRA_ARGS. lineinfile: path: /etc/systemd/system/kubelet.service.d/10-kubeadm.conf line: 'Environment="KUBELET_EXTRA_ARGS={{ kubernetes_kubelet_extra_args }}"' regexp: 'Environment="KUBELET_EXTRA_ARGS=' insertafter: '^Environment=' state: present notify: restart kubelet - name: Ensure kubelet is started and enabled at boot. service: name: kubelet state: started enabled: yes - name: Check if Kubernetes has already been initialized. stat: path: /etc/kubernetes/admin.conf register: kubernetes_init_stat - name: configure docker cgroup driver shell: sed -i "s/cgroup-driver=systemd/cgroup-driver=cgroupfs/g" /etc/systemd/system/kubelet.service.d/10-kubeadm.conf - name: restart docker services shell: systemctl daemon-reload && service kubelet restart # Set up master. - include_tasks: master-setup.yml when: kubernetes_role == 'master' # Set up nodes. - name: Get the kubeadm join command from the Kubernetes master. shell: kubeadm token create --print-join-command changed_when: False run_once: true delegate_to: "{{ groups['master'][0] }}" register: kubernetes_join_command - include_tasks: node-setup.yml when: kubernetes_role == 'node'