59 lines
2 KiB
YAML
59 lines
2 KiB
YAML
---
|
|
- include_tasks: vsphere-credentials-check.yml
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Choose how to deploy CSI driver based on controller version
|
|
set_fact:
|
|
controller_spec: "{% if vsphere_csi_controller is version('v2.0.0', '<') %}vsphere-csi-controller-ss.yml{% else %}vsphere-csi-controller-deployment.yml{% endif %}"
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Generate CSI cloud-config
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "{{ kube_config_dir }}/{{ item }}"
|
|
mode: 0640
|
|
with_items:
|
|
- vsphere-csi-cloud-config
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Generate Manifests
|
|
template:
|
|
src: "{{ item }}.j2"
|
|
dest: "{{ kube_config_dir }}/{{ item }}"
|
|
with_items:
|
|
- vsphere-csi-controller-rbac.yml
|
|
- "{{ controller_spec }}"
|
|
- vsphere-csi-node.yml
|
|
register: vsphere_csi_manifests
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Generate a CSI secret manifest
|
|
command: "{{ bin_dir }}/kubectl create secret generic vsphere-config-secret --from-file=csi-vsphere.conf={{ kube_config_dir }}/vsphere-csi-cloud-config -n kube-system --dry-run --save-config -o yaml"
|
|
register: vsphere_csi_secret_manifest
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
no_log: true
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Apply a CSI secret manifest
|
|
command:
|
|
cmd: "{{ bin_dir }}/kubectl apply -f -"
|
|
stdin: "{{ vsphere_csi_secret_manifest.stdout }}"
|
|
when: inventory_hostname == groups['kube_control_plane'][0]
|
|
no_log: true
|
|
tags: vsphere-csi-driver
|
|
|
|
- name: vSphere CSI Driver | Apply Manifests
|
|
kube:
|
|
kubectl: "{{ bin_dir }}/kubectl"
|
|
filename: "{{ kube_config_dir }}/{{ item.item }}"
|
|
state: "latest"
|
|
with_items:
|
|
- "{{ vsphere_csi_manifests.results }}"
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- not item is skipped
|
|
loop_control:
|
|
label: "{{ item.item }}"
|
|
tags: vsphere-csi-driver
|