--- - name: Install Containerd include_role: name: containerd when: - kubernetes_cri == "containerd" #register: kubernetes_cri_changed #- name: Restart kubelet after kubernetes cri installation # service: # name: kubelet # status: restarted # when: # - kubernetes_cri_changed is changed - name: Remove swapfile from /etc/fstab mount: name: swap fstype: swap state: absent - name: Ensuring /etc/systemd/system/kubelet.service.d Folder Exists file: path: "/etc/systemd/system/kubelet.service.d" state: "directory" group: root owner: root mode: 0755 - name: Configure kubelet service template: src: "etc/{{ item }}.j2" dest: "/etc/{{ item }}" group: root owner: root mode: 0644 with_items: - "systemd/system/kubelet.service.d/0-containerd.conf" - "sysconfig/kubelet" - name: Enable kubelet on boot service: name=kubelet state=started enabled=yes - stat: path=/etc/kubernetes/admin.conf register: st changed_when: False - name: Create KubernetesMasterConfigured group group_by: key=KubernetesMasterConfigured when: - st.stat.exists - include_tasks: "init_cluster.yml" when: - groups['KubernetesMasterConfigured'] is not defined - groups['KubernetesMasters'][0] == ansible_hostname # Install API loadbalancer - include_tasks: "load_balancer.yml" when: - kubernetes_master is true - groups['KubernetesMaster'] | length > 1 # Prepare first master for extend procedure - include_tasks: "prepare_first_master.yml" when: - groups['KubernetesMasterConfigured'][0] == ansible_hostname - groups['KubernetesMasterConfigured'] | length == 1 # to be tested (potential syntax error) - groups['KubernetesMaster'] | length > 1 - stat: path=/etc/kubernetes/admin.conf register: st changed_when: False - name: Create KubernetesMasterConfigured group group_by: key=KubernetesMasterConfigured when: - st.stat.exists - name: Extend Master services on unconfigured hosts include_tasks: "add_master.yml" when: - groups['KubernetesMaster'] | length > 1 #- name: Check if a node is still tainted # command: kubectl get nodes '{{ ansible_host }}' -o jsonpath='{.spec.taints}' # when: taint_master # register: current_taint # tags: taint # #- name: taint the machine if needed # command: kubectl taint nodes --all node-role.kubernetes.io/master- # when: taint_master == true and current_taint.stdout # tags: taint # # At this point, we have a kubernetes up and running, but ready for it # - name: Make /root/.kube directory file: path="/root/.kube" owner=root group=root mode=0700 state=directory - name: Copy certificat file on copy: src=/etc/kubernetes/admin.conf dest=/root/.kube/config remote_src=yes owner=root group=root mode=0600