--- - name: Master | restart kubelet command: /bin/true notify: - Master | reload systemd - Master | reload kubelet - Master | wait for master static pods - name: Master | wait for master static pods command: /bin/true notify: - Master | wait for the apiserver to be running - Master | wait for kube-scheduler - Master | wait for kube-controller-manager - name: Master | Restart apiserver command: /bin/true notify: - Master | Remove apiserver container docker - Master | Remove apiserver container containerd/crio - Master | wait for the apiserver to be running - name: Master | Restart kube-scheduler command: /bin/true notify: - Master | Remove scheduler container docker - Master | Remove scheduler container containerd/crio - Master | wait for kube-scheduler - name: Master | Restart kube-controller-manager command: /bin/true notify: - Master | Remove controller manager container docker - Master | Remove controller manager container containerd/crio - Master | wait for kube-controller-manager - name: Master | reload systemd systemd: daemon_reload: true - name: Master | reload kubelet service: name: kubelet state: restarted - name: Master | Remove apiserver container docker shell: docker ps -af name=k8s_kube-apiserver* -q | xargs --no-run-if-empty docker rm -f register: remove_apiserver_container retries: 10 until: remove_apiserver_container.rc == 0 delay: 1 when: container_manager == "docker" - name: Master | Remove apiserver container containerd/crio shell: crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c 'crictl stopp % && crictl rmp %' register: remove_apiserver_container retries: 10 until: remove_apiserver_container.rc == 0 delay: 1 when: container_manager in ['containerd', 'crio'] - name: Master | Remove scheduler container docker shell: "docker ps -af name=k8s_kube-scheduler* -q | xargs --no-run-if-empty docker rm -f" register: remove_scheduler_container retries: 10 until: remove_scheduler_container.rc == 0 delay: 1 when: container_manager == "docker" - name: Master | Remove scheduler container containerd/crio shell: crictl pods --name kube-scheduler* -q | xargs -I% --no-run-if-empty bash -c 'crictl stopp % && crictl rmp %' register: remove_scheduler_container retries: 10 until: remove_scheduler_container.rc == 0 delay: 1 when: container_manager in ['containerd', 'crio'] - name: Master | Remove controller manager container docker shell: "docker ps -af name=k8s_kube-controller-manager* -q | xargs --no-run-if-empty docker rm -f" register: remove_cm_container retries: 10 until: remove_cm_container.rc == 0 delay: 1 when: container_manager == "docker" - name: Master | Remove controller manager container containerd/crio shell: crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c 'crictl stopp % && crictl rmp %' register: remove_cm_container retries: 10 until: remove_cm_container.rc == 0 delay: 1 when: container_manager in ['containerd', 'crio'] - name: Master | wait for kube-scheduler uri: url: https://localhost:10259/healthz validate_certs: no register: scheduler_result until: scheduler_result.status == 200 retries: 60 delay: 1 - name: Master | wait for kube-controller-manager uri: url: https://localhost:10257/healthz validate_certs: no register: controller_manager_result until: controller_manager_result.status == 200 retries: 60 delay: 1 - name: Master | wait for the apiserver to be running uri: url: "{{ kube_apiserver_endpoint }}/healthz" validate_certs: no register: result until: result.status == 200 retries: 60 delay: 1 - name: Master | set secret_changed command: /bin/true notify: - Master | set secret_changed to true - Master | Copy new kubeconfig for root user - name: Master | set secret_changed to true set_fact: secret_changed: true - name: Master | Copy new kubeconfig for root user copy: src: "{{ kube_config_dir }}/admin.conf" dest: "{{ ansible_env.HOME | default('/root') }}/.kube/config" remote_src: yes mode: "0600" backup: yes