You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
4.2 KiB

  1. ---
  2. - name: Preinstall | propagate resolvconf to k8s components
  3. command: /bin/true
  4. notify:
  5. - Preinstall | reload kubelet
  6. - Preinstall | kube-controller configured
  7. - Preinstall | kube-apiserver configured
  8. - Preinstall | restart kube-controller-manager docker
  9. - Preinstall | restart kube-controller-manager crio/containerd
  10. - Preinstall | restart kube-apiserver docker
  11. - Preinstall | restart kube-apiserver crio/containerd
  12. when: not ansible_os_family in ["Flatcar Container Linux by Kinvolk"] and not is_fedora_coreos
  13. - name: Preinstall | update resolvconf for Flatcar Container Linux by Kinvolk
  14. command: /bin/true
  15. notify:
  16. - Preinstall | apply resolvconf cloud-init
  17. - Preinstall | reload kubelet
  18. when: ansible_os_family in ["Flatcar Container Linux by Kinvolk"]
  19. - name: Preinstall | apply resolvconf cloud-init
  20. command: /usr/bin/coreos-cloudinit --from-file {{ resolveconf_cloud_init_conf }}
  21. when: ansible_os_family in ["Flatcar Container Linux by Kinvolk"]
  22. - name: Preinstall | update resolvconf for Fedora CoreOS
  23. command: /bin/true
  24. notify:
  25. - Preinstall | reload NetworkManager
  26. - Preinstall | reload kubelet
  27. when: is_fedora_coreos
  28. - name: Preinstall | reload NetworkManager
  29. service:
  30. name: NetworkManager.service
  31. state: restarted
  32. - name: Preinstall | reload kubelet
  33. service:
  34. name: kubelet
  35. state: restarted
  36. notify:
  37. - Preinstall | kube-controller configured
  38. - Preinstall | kube-apiserver configured
  39. - Preinstall | restart kube-controller-manager docker
  40. - Preinstall | restart kube-controller-manager crio/containerd
  41. - Preinstall | restart kube-apiserver docker
  42. - Preinstall | restart kube-apiserver crio/containerd
  43. when: not dns_early|bool
  44. # FIXME(mattymo): Also restart for kubeadm mode
  45. - name: Preinstall | kube-apiserver configured
  46. stat:
  47. path: "{{ kube_manifest_dir }}/kube-apiserver.manifest"
  48. get_attributes: no
  49. get_checksum: no
  50. get_mime: no
  51. register: kube_apiserver_set
  52. when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'
  53. # FIXME(mattymo): Also restart for kubeadm mode
  54. - name: Preinstall | kube-controller configured
  55. stat:
  56. path: "{{ kube_manifest_dir }}/kube-controller-manager.manifest"
  57. get_attributes: no
  58. get_checksum: no
  59. get_mime: no
  60. register: kube_controller_set
  61. when: inventory_hostname in groups['kube_control_plane'] and dns_mode != 'none' and resolvconf_mode == 'host_resolvconf'
  62. - name: Preinstall | restart kube-controller-manager docker
  63. shell: "{{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-controller-manager* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
  64. when:
  65. - container_manager == "docker"
  66. - inventory_hostname in groups['kube_control_plane']
  67. - dns_mode != 'none'
  68. - resolvconf_mode == 'host_resolvconf'
  69. - kube_controller_set.stat.exists
  70. - name: Preinstall | restart kube-controller-manager crio/containerd
  71. shell: "{{ bin_dir }}/crictl pods --name kube-controller-manager* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
  72. when:
  73. - container_manager in ['crio', 'containerd']
  74. - inventory_hostname in groups['kube_control_plane']
  75. - dns_mode != 'none'
  76. - resolvconf_mode == 'host_resolvconf'
  77. - kube_controller_set.stat.exists
  78. - name: Preinstall | restart kube-apiserver docker
  79. shell: "{{ docker_bin_dir }}/docker ps -f name=k8s_POD_kube-apiserver* -q | xargs --no-run-if-empty {{ docker_bin_dir }}/docker rm -f"
  80. when:
  81. - container_manager == "docker"
  82. - inventory_hostname in groups['kube_control_plane']
  83. - dns_mode != 'none'
  84. - resolvconf_mode == 'host_resolvconf'
  85. - name: Preinstall | restart kube-apiserver crio/containerd
  86. shell: "{{ bin_dir }}/crictl pods --name kube-apiserver* -q | xargs -I% --no-run-if-empty bash -c '{{ bin_dir }}/crictl stopp % && {{ bin_dir }}/crictl rmp %'"
  87. when:
  88. - container_manager in ['crio', 'containerd']
  89. - inventory_hostname in groups['kube_control_plane']
  90. - dns_mode != 'none'
  91. - resolvconf_mode == 'host_resolvconf'
  92. - name: Preinstall | Restart systemd-resolved
  93. service:
  94. name: systemd-resolved
  95. state: restarted