Skip to content

Commit

Permalink
Update multus to v4.1.0 and clarify cilium compatibility
Browse files Browse the repository at this point in the history
  • Loading branch information
ThisIsQasim committed Aug 30, 2024
1 parent b0be5f2 commit e66488c
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 4 deletions.
10 changes: 10 additions & 0 deletions docs/CNI/multus.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,16 @@ kube_network_plugin_multus: true
will install Multus and Calico and configure Multus to use Calico as the primary network plugin.
### Cilium compatibility
If you are using `cilium` as the primary CNI you'll have to set `cilium_cni_exclusive` to `false` to avoid cillium reverting multus config.

```yml
kube_network_plugin: cilium
kube_network_plugin_multus: true
cilium_cni_exclusive: false
```

## Using Multus

Once Multus is installed, you can create CNI configurations (as a CRD objects) for additional networks, in this case a macvlan CNI configuration is defined. You may replace the config field with any valid CNI configuration where the CNI binary is available on the nodes.
Expand Down
2 changes: 1 addition & 1 deletion roles/kubespray-defaults/defaults/main/download.yml
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ cilium_enable_hubble: false
kube_ovn_version: "v1.12.21"
kube_ovn_dpdk_version: "19.11-{{ kube_ovn_version }}"
kube_router_version: "v2.0.0"
multus_version: "v3.8"
multus_version: "v4.1.0"
helm_version: "v3.15.4"
nerdctl_version: "1.7.4"
krew_version: "v0.4.4"
Expand Down
1 change: 0 additions & 1 deletion roles/network_plugin/multus/defaults/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,4 @@ multus_cni_run_dir_host: "/run"
multus_cni_conf_dir: "{{ ('/host', multus_cni_conf_dir_host) | join }}"
multus_cni_bin_dir: "{{ ('/host', multus_cni_bin_dir_host) | join }}"
multus_cni_run_dir: "{{ ('/host', multus_cni_run_dir_host) | join }}"
multus_cni_version: "0.4.0"
multus_kubeconfig_file_host: "{{ (multus_cni_conf_dir_host, '/multus.d/multus.kubeconfig') | join }}"
23 changes: 21 additions & 2 deletions roles/network_plugin/multus/templates/multus-daemonset.yml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,34 @@ spec:
tolerations:
- operator: Exists
serviceAccountName: multus
initContainers:
- name: install-multus-binary
image: {{ multus_image_repo }}:{{ multus_image_tag }}
command: ["/install_multus"]
args:
- "--type"
- "thin"
resources:
requests:
cpu: "10m"
memory: "15Mi"
securityContext:
privileged: true
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- name: cnibin
mountPath: {{ multus_cni_bin_dir }}
mountPropagation: Bidirectional
containers:
- name: kube-multus
image: {{ multus_image_repo }}:{{ multus_image_tag }}
command: ["/entrypoint.sh"]
command: ["/thin_entrypoint"]
args:
- "--cni-conf-dir={{ multus_cni_conf_dir }}"
- "--multus-autoconfig-dir={{ multus_cni_conf_dir }}"
- "--cni-bin-dir={{ multus_cni_bin_dir }}"
- "--multus-conf-file={{ multus_conf_file }}"
- "--multus-kubeconfig-file-host={{ multus_kubeconfig_file_host }}"
- "--cni-version={{ multus_cni_version }}"
resources:
requests:
cpu: "100m"
Expand All @@ -55,6 +73,7 @@ spec:
capabilities:
add: ["SYS_ADMIN"]
{% endif %}
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
{% if container_manager == 'crio' %}
- name: run
Expand Down

0 comments on commit e66488c

Please sign in to comment.