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.

119 lines
2.8 KiB

6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
  1. ---
  2. - name: Create kubernetes directories
  3. file:
  4. path: "{{ item }}"
  5. state: directory
  6. owner: "{{ kube_owner }}"
  7. mode: "0755"
  8. when: ('k8s_cluster' in group_names)
  9. become: true
  10. tags:
  11. - kubelet
  12. - kube-controller-manager
  13. - kube-apiserver
  14. - bootstrap-os
  15. - apps
  16. - network
  17. - master # master tag is deprecated and replaced by control-plane
  18. - control-plane
  19. - node
  20. with_items:
  21. - "{{ kube_config_dir }}"
  22. - "{{ kube_manifest_dir }}"
  23. - "{{ kube_script_dir }}"
  24. - "{{ kubelet_flexvolumes_plugins_dir }}"
  25. - name: Create other directories of root owner
  26. file:
  27. path: "{{ item }}"
  28. state: directory
  29. owner: root
  30. mode: "0755"
  31. when: ('k8s_cluster' in group_names)
  32. become: true
  33. tags:
  34. - kubelet
  35. - kube-controller-manager
  36. - kube-apiserver
  37. - bootstrap-os
  38. - apps
  39. - network
  40. - master # master tag is deprecated and replaced by control-plane
  41. - control-plane
  42. - node
  43. with_items:
  44. - "{{ kube_cert_dir }}"
  45. - "{{ bin_dir }}"
  46. - name: Check if kubernetes kubeadm compat cert dir exists
  47. stat:
  48. path: "{{ kube_cert_compat_dir }}"
  49. get_attributes: false
  50. get_checksum: false
  51. get_mime: false
  52. register: kube_cert_compat_dir_check
  53. when:
  54. - ('k8s_cluster' in group_names)
  55. - kube_cert_dir != kube_cert_compat_dir
  56. - name: Create kubernetes kubeadm compat cert dir (kubernetes/kubeadm issue 1498)
  57. file:
  58. src: "{{ kube_cert_dir }}"
  59. dest: "{{ kube_cert_compat_dir }}"
  60. state: link
  61. mode: "0755"
  62. when:
  63. - ('k8s_cluster' in group_names)
  64. - kube_cert_dir != kube_cert_compat_dir
  65. - not kube_cert_compat_dir_check.stat.exists
  66. - name: Create cni directories
  67. file:
  68. path: "{{ item }}"
  69. state: directory
  70. owner: "{{ kube_owner }}"
  71. mode: "0755"
  72. with_items:
  73. - "/etc/cni/net.d"
  74. - "/opt/cni/bin"
  75. when:
  76. - kube_network_plugin in ["calico", "weave", "flannel", "cilium", "kube-ovn", "kube-router", "macvlan"]
  77. - ('k8s_cluster' in group_names)
  78. tags:
  79. - network
  80. - cilium
  81. - calico
  82. - weave
  83. - kube-ovn
  84. - kube-router
  85. - bootstrap-os
  86. - name: Create calico cni directories
  87. file:
  88. path: "{{ item }}"
  89. state: directory
  90. owner: "{{ kube_owner }}"
  91. mode: "0755"
  92. with_items:
  93. - "/var/lib/calico"
  94. when:
  95. - kube_network_plugin == "calico"
  96. - ('k8s_cluster' in group_names)
  97. tags:
  98. - network
  99. - calico
  100. - bootstrap-os
  101. - name: Create local volume provisioner directories
  102. file:
  103. path: "{{ local_volume_provisioner_storage_classes[item].host_dir }}"
  104. state: directory
  105. owner: root
  106. group: root
  107. mode: "{{ local_volume_provisioner_directory_mode }}"
  108. with_items: "{{ local_volume_provisioner_storage_classes.keys() | list }}"
  109. when:
  110. - ('k8s_cluster' in group_names)
  111. - local_volume_provisioner_enabled
  112. tags:
  113. - persistent_volumes