Abstract
Where we will begin and the first steps to be taken.
Existing infrastructure with quick and dirty etcd#
Before we start installing software we’ll define our starting point.
Requirements#
The work documented here assumes that requires 4 otherwise-unused PCs, each running ArchLinux and connected to a local area network with known IP addresses that can be controlled by the administrator. The control plane node will ideally have more capacity than the worker nodes, but all four may be the same so long as the minimum hardware requirements summed with the minimum requirements are met by the control plane node. Fortunately these are not especially demanding and we’re not doing heavy workloads with the cluster, so the Lenovo M910q that was ordered for this purpose will do just fine.
There are two methods of deploying etcd for the purposes of Bare Metal Kubernetes, as a separate cluster or as a workload in the cluster itself. Either method requires that the control plane node also supports the etcd deployment and based on previous experience, the author thinks it wise to keep the etcd deployment separate from the Kubernetes services for the sake of easy management.
Quick and dirty etcd#
The shortest path to a running single-node etcd service is to simply install the package with yay or makepkg then start and enable the service on the node that will be running it.
Install the service.
Enable and start etcd.
systemctl enable --now etcd
This is obviously bad practice as none of this infrastructure has been defined in a declarative fashion, but it does produce a running etcd service on the control plane node.
Now that we’ve done the preparation manually, we can move on to automating the process.