Kubespray is a composition of playbooks, , provisioning tools, and domain knowledge for generic OS/Kubernetes cluster configuration management tasks. Kubespray provides:
a highly available cluster
composable attributes
support for most popular Linux distributions
continuous-integration tests
Pre-requisites
the repos below to your GitHub Organization account
(version 1.13.X)
Install on your local machine to interact with the Kubernetes cluster.
Install to help package the services along with the configurations, environment, secrets, etc into .
Hardware
One Bastion machine to run Kubespray
HA-PROXY machine which acts as a load balancer with Public IP. (CPU: 2Core , Memory: 4Gb)
one machine which acts as a master node. (CPU: 2Core , Memory: 4Gb)
one machine which acts as a worker node. (CPU: 8Core , Memory: 16Gb)
ISCSI volumes for persistence volume. (number of quantity: 2 )
kaniko-cache-claim:- 10Gb
Jenkins home:- 100Gb
Software
Kubernetes nodes
Ubuntu 18.04
SSH
Privileged user
Python
Bastion machine
Ansible
git
Python
Preparing The Nodes
Run and follow instructions on all nodes.
Install Python
Ansible needs Python to be installed on all the machines.
apt-get update && apt-get install python3-pip -y
Disable Swap
sudo swapoff -a
sudo sed -i '/ swap /d' /etc/fstab
Setup SSH using key-based authentication
All the machines should be in the same network with ubuntu or centos installed.
ssh key should be generated from the Bastion machine and must be copied to all the servers part of your inventory.