--- - name: Local Volume Provisioner | Ensure base dir is created on all hosts file: path: "{{ local_volume_base_dir }}" ensure: directory owner: root group: root mode: 0700 delegate_to: "{{ item }}" with_items: "{{ groups['k8s-cluster'] }}" failed_when: false - name: Local Volume Provisioner | Create addon dir file: path: "{{ kube_config_dir }}/addons/local_volume_provisioner" owner: root group: root mode: 0755 recurse: true - name: Local Volume Provisioner | Create manifests template: src: "{{item.file}}.j2" dest: "{{kube_config_dir}}/addons/local_volume_provisioner/{{item.file}}" with_items: - {name: local-storage-provisioner-pv-binding, file: provisioner-admin-account.yml, type: clusterrolebinding} - {name: local-volume-config, file: volume-config.yml, type: configmap} - {name: local-volume-provisioner, file: provisioner-ds.yml, type: daemonset} register: local_volume_manifests when: inventory_hostname == groups['kube-master'][0] - name: Local Volume Provisioner | Apply manifests kube: name: "{{item.item.name}}" namespace: "{{ system_namespace }}" kubectl: "{{bin_dir}}/kubectl" resource: "{{item.item.type}}" filename: "{{kube_config_dir}}/addons/local_volume_provisioner/{{item.item.file}}" state: "latest" with_items: "{{ local_volume_manifests.results }}" when: inventory_hostname == groups['kube-master'][0]