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.

49 lines
2.1 KiB

  1. ---
  2. - name: Node Feature Discovery | Create addon dir
  3. file:
  4. path: "{{ kube_config_dir }}/addons/node_feature_discovery"
  5. state: directory
  6. owner: root
  7. group: root
  8. mode: "0755"
  9. when:
  10. - inventory_hostname == groups['kube_control_plane'][0]
  11. - name: Node Feature Discovery | Templates list
  12. set_fact:
  13. node_feature_discovery_templates:
  14. - { name: nfd-ns, file: nfd-ns.yaml, type: ns }
  15. - { name: nfd-api-crd, file: nfd-api-crds.yaml, type: crd }
  16. - { name: nfd-serviceaccount, file: nfd-serviceaccount.yaml, type: sa }
  17. - { name: nfd-role, file: nfd-role.yaml, type: role }
  18. - { name: nfd-clusterrole, file: nfd-clusterrole.yaml, type: clusterrole }
  19. - { name: nfd-rolebinding, file: nfd-rolebinding.yaml, type: rolebinding }
  20. - { name: nfd-clusterrolebinding, file: nfd-clusterrolebinding.yaml, type: clusterrolebinding }
  21. - { name: nfd-master-conf, file: nfd-master-conf.yaml, type: cm }
  22. - { name: nfd-worker-conf, file: nfd-worker-conf.yaml, type: cm }
  23. - { name: nfd-topologyupdater-conf, file: nfd-topologyupdater-conf.yaml, type: cm }
  24. - { name: nfd-gc, file: nfd-gc.yaml, type: deploy }
  25. - { name: nfd-master, file: nfd-master.yaml, type: deploy }
  26. - { name: nfd-worker, file: nfd-worker.yaml, type: ds }
  27. - { name: nfd-service, file: nfd-service.yaml, type: srv }
  28. - name: Node Feature Discovery | Create manifests
  29. template:
  30. src: "{{ item.file }}.j2"
  31. dest: "{{ kube_config_dir }}/addons/node_feature_discovery/{{ item.file }}"
  32. mode: "0644"
  33. with_items: "{{ node_feature_discovery_templates }}"
  34. register: node_feature_discovery_manifests
  35. when:
  36. - inventory_hostname == groups['kube_control_plane'][0]
  37. - name: Node Feature Discovery | Apply manifests
  38. kube:
  39. name: "{{ item.item.name }}"
  40. kubectl: "{{ bin_dir }}/kubectl"
  41. resource: "{{ item.item.type }}"
  42. filename: "{{ kube_config_dir }}/addons/node_feature_discovery/{{ item.item.file }}"
  43. state: "latest"
  44. with_items: "{{ node_feature_discovery_manifests.results }}"
  45. when:
  46. - inventory_hostname == groups['kube_control_plane'][0]