How to Install kubernetes on base non cloud physical cluster

Asking for help? Comment out what you need so we can get more information to help you!

Cluster information:

Kubernetes version: Latest (new install from repo)
Cloud being used: (put bare-metal if not on a public cloud) bare metal
Installation method: cli
Host OS: Ubuntu
CNI and version: Not a glue!
CRI and version: Not A clue!

You can format your yaml by highlighting it and pressing Ctrl-Shift-C, it will make your output easier to read.
The basic plan is to setup a control node - then add resources to that can meet the CI/CD pipeline requirements for system that are used to control physics experiments (I work for CCFE which hosts the JET project and some other experimental environments.)
However so all have been is 4 independent nodes with every thing running locally. So there seems very little information about setting up bare metal compute nodes and kubernetes cluster initialised with kubeadm init. Once it just launches stuff on the local node.

The kubeadm docs have a section on how to join your nodes after control plane initiationization. There is also docs for other methods of cluster management including kubespray which is ansible based and works on bare metal.

If you can pxe boot your nodes, there are other options that simplify the lifecycle management of your nodes like metal^3.

My group uses kubeadm on top of container linux with a little bash glue for our systems; vanilla VMs with no cloud provider integration.

1 Like

Saw this in this weeks kubeweekly which might be of help :slight_smile:

Hi, Thanks for this I hadn’t found this. I now have a GNS3 POC setup as a cluster. Now All need is work out which CNI to use to get them taking to each other! Just looking into which looks to be the best fit.

Hi Thanks also for this link. It following kubeadm setup link from mrbooytails but uses Weave net as the CNI, which doesn’t look to be a good fit the Target environment. I need to be to be to orchestrate singularity containers on the HPC Tesla NVGPU cluster we have, ARM Embedded system emulations with QEMU for control system testing as well as CI pipelines with Jenkins. Currently I am looking at Calico or Contiv-VPP as the CNI layer of out in house Kubernetes cluster.
Bare-metal Kubernetes is very much built it from ground up. Which explains may quick start use cloud native setups that leverage somebody else’s infrastructure for compute resource. Needs to be both light weight and flexible.