diff --git a/Dockerfile b/Dockerfile index 4222e32a4e..b6de605fe1 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.19.400" 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 8d2a2c59ce..b8299d4123 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. + ## 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 655c93431d..0036552cff 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