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.

55 lines
1.9 KiB

  1. ---
  2. - name: VSphere CSI Driver | Check vsphare credentials
  3. include_tasks: vsphere-credentials-check.yml
  4. - name: VSphere CSI Driver | Generate CSI cloud-config
  5. template:
  6. src: "{{ item }}.j2"
  7. dest: "{{ kube_config_dir }}/{{ item }}"
  8. mode: "0640"
  9. with_items:
  10. - vsphere-csi-cloud-config
  11. when: inventory_hostname == groups['kube_control_plane'][0]
  12. - name: VSphere CSI Driver | Generate Manifests
  13. template:
  14. src: "{{ item }}.j2"
  15. dest: "{{ kube_config_dir }}/{{ item }}"
  16. mode: "0644"
  17. with_items:
  18. - vsphere-csi-namespace.yml
  19. - vsphere-csi-driver.yml
  20. - vsphere-csi-controller-rbac.yml
  21. - vsphere-csi-node-rbac.yml
  22. - vsphere-csi-controller-config.yml
  23. - vsphere-csi-controller-deployment.yml
  24. - vsphere-csi-controller-service.yml
  25. - vsphere-csi-node.yml
  26. register: vsphere_csi_manifests
  27. when: inventory_hostname == groups['kube_control_plane'][0]
  28. - name: VSphere CSI Driver | Apply Manifests
  29. kube:
  30. kubectl: "{{ bin_dir }}/kubectl"
  31. filename: "{{ kube_config_dir }}/{{ item.item }}"
  32. state: "latest"
  33. with_items:
  34. - "{{ vsphere_csi_manifests.results }}"
  35. when:
  36. - inventory_hostname == groups['kube_control_plane'][0]
  37. - not item is skipped
  38. loop_control:
  39. label: "{{ item.item }}"
  40. - name: VSphere CSI Driver | Generate a CSI secret manifest
  41. command: "{{ kubectl }} create secret generic vsphere-config-secret --from-file=csi-vsphere.conf={{ kube_config_dir }}/vsphere-csi-cloud-config -n {{ vsphere_csi_namespace }} --dry-run --save-config -o yaml"
  42. register: vsphere_csi_secret_manifest
  43. when: inventory_hostname == groups['kube_control_plane'][0]
  44. no_log: "{{ not (unsafe_show_logs | bool) }}"
  45. - name: VSphere CSI Driver | Apply a CSI secret manifest
  46. command:
  47. cmd: "{{ kubectl }} apply -f -"
  48. stdin: "{{ vsphere_csi_secret_manifest.stdout }}"
  49. when: inventory_hostname == groups['kube_control_plane'][0]
  50. no_log: "{{ not (unsafe_show_logs | bool) }}"