Kubernetes Node Setup
This section addresses configuration steps to be performed on the BCM head node.
Set the IP addresses for the interfaces on knode-01 and ensure that the network device names match the site survey.
[bcm10-headnode]% device [bcm10-headnode->device]% use knode-01 [bcm10-headnode->device[knode-01]]% interfaces [bcm10-headnode->device[knode-01]->interfaces]% set ipmi0 ip 10.133.3.25 [bcm10-headnode->device*[knode-01*]->interfaces*]% set bond0 ip 10.133.4.25 [bcm10-headnode->device*[knode-01*]->interfaces*]% set ens3f1np1 networkdevicename ens1f1np1 Found bond0 member interface ens3f1np1 [bcm10-headnode->device*[knode-01*]->interfaces*]% commit
Create the other knodes by cloning the first one.
[bcm10-headnode]% device [bcm10-headnode->device]% foreach --clone knode-01 -n knode-02..knode-03 --next-ip () [bcm10-headnode->device*]% commit Successfully committed 2 Devices
Now as with the DGX nodes, assign the MAC addresses for each of the interfaces and the node itself by the site survey.
Repeat this for all 3 knodes.
[bcm10-headnode]% device [bcm10-headnode->device]% use knode-01 [bcm10-headnode->device[knode-01]]% interfaces [bcm10-headnode->device[knode-01]->interfaces]% set enp65s0np0 mac 08:C0:EB:F5:71:87 [bcm10-headnode->device*[knode-01*]->interfaces*]% set ens1f1np1 mac 08:C0:EB:F5:74:F7 [bcm10-headnode->device*[knode-01*]->interfaces*]% exit [bcm10-headnode->device*[knode-01*]]% set mac 08:C0:EB:F5:71:87 [bcm10-headnode->device*[knode-01*]]% commit
The knodes will need to be differentiated from the default image.
Create a new softwareimage for the k8s control nodes.
[bcm10-headnode]% softwareimage [bcm10-headnode->softwareimage]% clone default-image k8s-control-plane-image [bcm10-headnode->softwareimage*[k8s-control-plane-image*]]% commit [bcm10-headnode->softwareimage[k8s-control-plane-image]]% kernelmodules [bcm10-headnode->softwareimage[k8s-control-plane-image]->kernelmodules]% add mlx5_core [bcm10-headnode->softwareimage*[k8s-control-plane-image*]->kernelmodules*[mlx5_core*]]% commit
Create a new category for the k8s control nodes.
[bcm10-headnode]% category [bcm10-headnode->category]% clone default k8s-control-plane [bcm10-headnode->category*[k8s-control-plane*]]% commit [bcm10-headnode->category[k8s-control-plane]]% set softwareimage k8s-control-plane-image [bcm10-headnode->category*[k8s-control-plane*]]% commit
Exit cmsh and go back to the root shell. Save the following XML code to a new file
/cm/local/apps/cmd/etc/htdocs/disk-setup/k8s-disksetup.xml
.<?xml version="1.0" encoding="ISO-8859-1"?> <diskSetup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <device> <blockdev>/dev/nvme0n1</blockdev> <partition id="a0" partitiontype="esp"> <size>100M</size> <type>linux</type> <filesystem>fat</filesystem> <mountPoint>/boot/efi</mountPoint> <mountOptions>defaults,noatime,nodiratime</mountOptions> </partition> <partition id="a1"> <size>max</size> <type>linux</type> <filesystem>xfs</filesystem> <mountPoint>/</mountPoint> <mountOptions>defaults,noatime,nodiratime</mountOptions> </partition> </device> </diskSetup>
Go back into cmsh and assign the disk layout to the k8s control nodes.
# cmsh [bcm10-headnode]% category [bcm10-headnode->category]% use k8s-control-plane [bcm10-headnode->category[k8s-control-plane]]% set disksetup /cm/local/apps/cmd/etc/htdocs/disk-setup/k8s-disksetup.xml [bcm10-headnode->category*[k8s-control-plane*]]% commit
Assign the new category to the knodes.
[bcm10-headnode]% device [bcm10-headnode->device]% foreach -n knode-01..knode-03 (set category k8s-control-plane) [bcm10-headnode->device*]% commit Successfully committed 3 Devices
Power on and provision the k8s control nodes.