From d31905c4bc8880b4974a7c88a25daf5791289beb Mon Sep 17 00:00:00 2001 From: Thomas Ferrandiz Date: Mon, 13 Jun 2022 12:15:27 +0000 Subject: [PATCH] Update multus charts to v3.8-build2021110403 * This update adds the Whereabouts CNI as an optional dependency of Multus. * Update the doc to explain how to activate Whereabouts with HelmChartConfig --- Dockerfile | 2 +- docs/install/network_options.md | 38 +++++++++++++++++++++++++++++++++ scripts/build-images | 1 + 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 16fcd09c2db..8fa1f011fe3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -121,7 +121,7 @@ RUN CHART_VERSION="v3.23.103" CHART_FILE=/charts/rke2-calico-crd RUN CHART_VERSION="1.17.000" CHART_FILE=/charts/rke2-coredns.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh RUN CHART_VERSION="4.1.003" CHART_FILE=/charts/rke2-ingress-nginx.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh RUN CHART_VERSION="2.11.100-build2021111904" CHART_FILE=/charts/rke2-metrics-server.yaml CHART_BOOTSTRAP=false /charts/build-chart.sh -RUN CHART_VERSION="v3.8-build2021110402" CHART_FILE=/charts/rke2-multus.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh +RUN CHART_VERSION="v3.8-build2021110403" CHART_FILE=/charts/rke2-multus.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh RUN CHART_VERSION="1.2.201" CHART_FILE=/charts/rancher-vsphere-cpi.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh RUN CHART_VERSION="2.5.1-rancher101" CHART_FILE=/charts/rancher-vsphere-csi.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh RUN CHART_VERSION="0.1.1100" CHART_FILE=/charts/harvester-cloud-provider.yaml CHART_BOOTSTRAP=true /charts/build-chart.sh diff --git a/docs/install/network_options.md b/docs/install/network_options.md index 8d2a2c59ced..b391576f71a 100644 --- a/docs/install/network_options.md +++ b/docs/install/network_options.md @@ -159,6 +159,44 @@ macvlan, etc) as secondary CNI plugins for Multus. These containernetworking plu To use any of these plugins, a proper NetworkAttachmentDefinition object will need to be created to define the configuration of the secondary network. The definition is then referenced by pod annotations, which Multus will use to provide extra interfaces to that pod. An example using the macvlan cni plugin with Mu is available [in the multus-cni repo](https://github.com/k8snetworkplumbingwg/multus-cni/blob/master/docs/quickstart.md#storing-a-configuration-as-a-custom-resource). +## Using Multus with the Whereabouts CNI +[Whereabouts](https://github.com/k8snetworkplumbingwg/whereabouts) is an IP Address Management (IPAM) CNI plugin that assigns IP addresses cluster-wide. +Starting with RKE2 1.22, RKE2 includes the option to use Whereabouts with Multus to manage the IP addresses of the additional interfaces created through Multus. +In order to do this, you need to use [HelmChartConfig](../helm.md#customizing-packaged-components-with-helmchartconfig) to configure the Multus CNI to use Whereabouts. + +You can do this by creating a file named `/var/lib/rancher/rke2/server/manifests/rke2-multus-config.yml` with the following content: +```yaml +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: rke2-multus + namespace: kube-system +spec: + valuesContent: |- + rke2-whereabouts: + enabled: true +``` + +This will configure the chart for Multus to use `rke2-whereabouts` as a dependency. + +If you want to customize the Whereabouts image, this is possible like this: +```yaml +apiVersion: helm.cattle.io/v1 +kind: HelmChartConfig +metadata: + name: rke2-multus + namespace: kube-system +spec: + valuesContent: |- + rke2-whereabouts: + enabled: true + image: + repository: ghcr.io/k8snetworkplumbingwg/whereabouts + tag: latest-amd64 +``` + +NOTE: You should write this file before starting rke2 with the `cni=multus` flag as explained above. + ## Using Multus with SR-IOV (experimental) **Please note this is an experimental feature introduced with v1.21.2+rke2r1.** diff --git a/scripts/build-images b/scripts/build-images index 3772ff16b65..2109466641f 100755 --- a/scripts/build-images +++ b/scripts/build-images @@ -71,6 +71,7 @@ xargs -n1 -t docker image pull --quiet << EOF > build/images-multus.txt ${REGISTRY}/rancher/hardened-ib-sriov-cni:v1.0.2-build20220419 ${REGISTRY}/rancher/hardened-sriov-network-resources-injector:v1.3-build20220419 ${REGISTRY}/rancher/hardened-sriov-network-webhook:v1.1.0-build20220419 + ${REGISTRY}/rancher/hardened-whereabouts:v0.5.3-build20220610 EOF xargs -n1 -t docker image pull --quiet << EOF > build/images-harvester.txt