The KUBErnetes INITiator
KubeInit provides Ansible playbooks and roles for the deployment and configuration of multiple Kubernetes distributions. The main goal of KubeInit is to have a fully automated way to deploy in a single command a curated list of prescribed architectures.
KubeInit's documentation is hosted in this same repository. The documentation is rendered using Sphinx and uploaded to GitHub pages using a GitHub action.
K8s distribution: OKD/OpenShift Driver: Libvirt OS: CentOS/Fedora, Debian/Ubuntu
- A fresh deployed server with enough RAM and disk space (120GB in RAM and 300GB in disk) and CentOS 8 (it should work also in Fedora/Debian/Ubuntu hosts).
- We assume that the hypervisor node is called nyctea (defined in the inventory).
- Have root access with certificates.
- Adjust the inventory file to suit your needs i.e. the worker nodes you will need in your cluster.
The following example command will deploy a multi-master OKD 4.5 cluster with 1 worker node in a single command and in approximately 30 minutes.
git clone https://github.com/Kubeinit/kubeinit.git
cd kubeinit
ansible-playbook \
--user root \
-v -i ./hosts/okd/inventory \
--become \
--become-user root \
./playbooks/okd.ymlAfter provisioning any of the scenarios, you should have your environment ready to go. To connect to the nodes from the hypervisor use the IP addresses from the inventory files.