mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-03-13 23:17:35 -02:30
[multus] added support for mixed type of container engine (#9224)
* [multus] added support for mixed type of container engine * [multus] fixed for using with cluster/upgrade-cluster/scale playbooks
This commit is contained in:
@@ -10,12 +10,26 @@
|
||||
- {name: multus-clusterrole, file: multus-clusterrole.yml, type: clusterrole}
|
||||
- {name: multus-clusterrolebinding, file: multus-clusterrolebinding.yml, type: clusterrolebinding}
|
||||
register: multus_manifest_1
|
||||
when: inventory_hostname == groups['kube_control_plane'][0]
|
||||
|
||||
- name: Multus | Check container engine type
|
||||
set_fact:
|
||||
container_manager_types: "{{ ansible_play_hosts_all|map('extract', hostvars, ['container_manager'])|list|unique }}"
|
||||
|
||||
- name: Multus | Copy manifest templates
|
||||
template:
|
||||
src: "{{ item.file }}.j2"
|
||||
src: multus-daemonset.yml.j2
|
||||
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
||||
mode: 0644
|
||||
with_items:
|
||||
- {name: multus-daemonset, file: multus-daemonset.yml, type: daemonset}
|
||||
- {name: multus-daemonset-containerd, file: multus-daemonset-containerd.yml, type: daemonset, engine: containerd }
|
||||
- {name: multus-daemonset-docker, file: multus-daemonset-docker.yml, type: daemonset, engine: docker }
|
||||
- {name: multus-daemonset-crio, file: multus-daemonset-crio.yml, type: daemonset, engine: crio }
|
||||
register: multus_manifest_2
|
||||
vars:
|
||||
query: "*|[?container_manager=='{{ container_manager }}']|[0].inventory_hostname"
|
||||
vars_from_node: "{{ hostvars|json_query(query) }}"
|
||||
delegate_to: "{{ groups['kube_control_plane'][0] }}"
|
||||
when:
|
||||
- item.engine in container_manager_types
|
||||
- hostvars[inventory_hostname].container_manager == item.engine
|
||||
- inventory_hostname == vars_from_node
|
||||
|
||||
Reference in New Issue
Block a user