The other day it occured to to install kubernetes with 2 VMs running in virtualbox. I always want to be in the bleeding edge, longer support time, but more problems and less documentation.
For my install I decided to use Centos 8 which was just release this year in Sept 29th. To start the OS install, has some changes but minimal.
The other new pains where a bit more around installation of docker and setup of kubernetes, in this post I intend to provide you with some information and links, but not the details steps.
The official install guide
The official set of instructions to install kubernetes can be found here, I didn’t use this steps until I got to the part of installing the network plugin Calico: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#instructions
Get started with the install…
Problem #1 my guide was not great…
Maybe because the guide is based for CentOs7, but I found missing pieces.
I started the install following the linuxtechi by Pradeep Kumar, but soon found problems with docker install and missing the steps for network plugin for k8s. I liked because it has a diagram and names the VMs like k8s-master and worker-node1 which makes it easy to follow. Use it to follow the overall steps, as a guide to a guide, but as mentioned there are missing steps for which you will need my other links below: https://www.linuxtechi.com/install-kubernetes-1-7-centos7-rhel7/.
A more complete guide is perhaps this one, but I can’t say that I have reviewed all the steps as I used Pradeep’s: https://www.howtoforge.com/tutorial/centos-kubernetes-docker-cluster/
Problem #2: latest docker is not able to install
For installing docker in Centos 8, you will be unable to use the latest docker-ce 3:19.03.4-3.el7 due to missing dependancies.
[root@node1 ~]# dnf install docker-ce Last metadata expiration check: 15:53:53 ago on Sat 09 Nov 2019 03:09:35 PM EST. Error: Problem: package docker-ce-3:19.03.4-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed - cannot install the best candidate for the job - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded - package containerd.io-1.2.2-3.el7.x86_64 is excluded - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
So you need to install a specific version of docker, for that I did find a good guide and updated to Centos 8: https://www.techrepublic.com/article/how-to-install-docker-ce-on-centos-8/
After those two problems you are good with the steps and your k8s should be ready to use.
Problems with a 2 network interface in virtualbox
On the side, I did find a bit of a challenge setup the 2 network device inside of my VM. And for that I had to use
nmcli connection show and copy the details of a working connection and use them in
nmcli connection add -a I am cutting corners here, but I don’t want to cover the details here as this was a separate problem. Related to virtualbox and the way that host-only networks work with centos8.