- A collection of bash scripts that automates the installation of a Kubernetes cluster onto a single node.
kubeadmis used to bootstrap the cluster and you are provided with an option to choosedockerorcontainerdas your container runtime.- Before creating the cluster, you will be asked to pick a container network interface. Below are the list of container network interfaces available in this project;
calico,cilium,flannel,kube-router,weavenet
- After bootstrapping and creating the Kubernetes cluster, there is an option to install useful tooling, such as;
helm,kubernetes-dashboard,kubernetes-metrics-server,grafana,prometheus,weavescope,falco,gatekeeper
- For more information on how the bash scripts are organised, review the Architecture document.
- For minimum
kubeadmresource requirements, refer to the officialkubeadminstallation guide.
- Required utilities to ensure that the scripts execute successfully.
bash,pwgen,tar,curl,bash-completion,epel-release
- Tested on;
debian-10,centos-8-stream
# clone the repository
$ git clone git@github.com:hubvu/kubeadm-single-node.git
# navigate into the directory
$ cd kubeadm-single-node/
# make 'main', 'optional' and 'teardown' into executable files
$ chmod +x main optional teardown
# run 'main' to start the Kubernetes cluster deployment
$ sudo ./main
# run 'optional' to install useful tools
$ sudo ./optional
# run 'teardown' to destroy the Kubernetes cluster deployment
$ sudo ./teardown- Contribution guidelines for this project can be found in the Contributing document.
- Licenced under the MIT License.