This is an extension of the RKE2 configuration documentation, and provides more context on the UDS RKE2-specific packages, to include the uds-rke2/exemptions
and uds-rke2/infrastructure
Zarf packages.
This package deploys MetalLB and MachineID + Pause for L2 advertisement and pod/namespace integrity, respectively.
The L2 advertisement requires the network interface and IP address pool. These are supplied via variables seen in the Zarf package deployment or UDS bundle deployment (local-path-core
bundle configuration example) manifests.
To find the interface that you would like to advertise on, use ifconfig
and identify the local network-facing interface. An example network interface is eth0
, when advertising to the local network via 192.168.x.x
.
The defaults for MetalLB L2 advertisement are set within the UDS Infrastructure Zarf Package as Zarf Variables. These can be influence via --set
if deploying the Zarf package standalone, or by using a uds-config.yaml
that contains the Zarf variables under the infrastructure
field.
BASE_IP
is set using an automated process that extracts the server node's base IP; however, this can be manually overridden pre- or post-deployment via the metallb-l2-values file.
If IP reservations for L2 advertisement contain skips, you cna specify whether a service or gateway grabs a specific IP via an annotation. An example is below:
# example istio-admin-gateway service
apiVersion: v1
kind: Service
metadata:
annotations:
metallb.universe.tf/loadBalancerIPs: "192.168.1.100" # Add annotation and replace with your desired IP
If you must use only specific IPs, (e.g. 192.168.1.100, 192.168.1.105, and 192.168.1.110), you must modify the ipaddresspool
CR to contain full CIDR addresses. An example is below:
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: ip-address-pool
namespace: uds-rke2-infrastructure
spec:
addresses:
- 192.168.1.100/32
- 192.168.1.105/32
- 192.168.1.110/32
This package contains exemptions from UDS Pepr policies that enforce prohibitive restrictions on storage layer and cluster-level functionality. Below are optional components that can be deployed with the --components
flag. These are based on the storage layer flavor chosen for the custom Zarf Init.
local-path-exemptions
longhorn-exemptions
rook-ceph-exemptions
Please see this UDS exemptions documentation for more details on implementation.