~
How to install and configure Kubernetes Ubuntu 18.10, here I am using google instance
~
Below are the details of instances
Node Name | Master Node | Node1 | Node2 | Node3 |
Hostname | K8master | K8node1 | K8nod2 | K8nod3 |
IP Address | 10.142.0.15 | 10.142.0.16 | 10.142.0.17 | 10.142.0.18 |
~
There is one master node and other three nodes will at as slave and will add in Kubernetes cluster.
*Installation and configuration steps*
~
Step1 – First run apt-get update on all instances
~
Step2 – change the hostname of all instances
sudo hostnamectl set-hostname “<hostname>”
exec bash
~
Step3 – add below entries in /etc/hosts on all instances
K8master 10.142.0.15
K8node1 10.142.0.16
K8nod2 10.142.0.17
K8nod3 10.142.0.18
~
Step4 – Install docker and start the service on all instances
sudo apt-get install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
~
Step5 – Install required packages on all instances
sudo apt-get install apt-transport-https curl -y
~
Step6 – Add Kubernetes package repository key on all instances
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
~
Step7 – Configure Kubernetes repository using below apt commands on all instances
sudo apt-add-repository “deb http://apt.kubernetes.io/ kubernetes-xenial main”
~
Step8 – Disable swap on all instances*
sudo swapoff -a
*Note – permanent swap disable, comment out swapfile in /etc/fstab
~
Step9 – Install Kubeadm package on all instances
sudo apt-get install kubeadm -y
~
Step9 – Initialize and Start Kubernetes Cluster on Master Node
sudo kubeadm init –pod-network-<cidr>
~
Output –
Your Kubernetes control-plane has initialized successfully!
To start using your cluster, you need to run the following as a regular user:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
You should now deploy a pod network to the cluster.
Run “kubectl apply -f [podnetwork].yaml” with one of the options listed at:
https://kubernetes.io/docs/concepts/cluster-administration/addons/
Then you can join any number of worker nodes by running the following on each as root:
kubeadm join 10.142.0.15:6443 –token dlrgmp.6ur3hxw4p82blpty \
–discovery-token-ca-cert-hash sha256:9c7f3814c72f7a4c57bb47792d5ac13b67938cbb2302740e9bf55be80615c78e
~
As mater node initialize successfully, need to start cluster by below commands
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
and verify the master node status
~
# kubectl get nods
NAME STATUS ROLES AGE VERSION
K8master Not Ready master 1m v1.14.1
above command output shows that master node is not ready because as of now we have not deployed any pod.
~
Step10 – Installation of Flannel as Pod Network on Master node
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
~
verify the master node status and pod namespaces
sudo kubectl get nodes
sudo kubectl get pods –all-namespaces
~
Step11 – add the nodes on cluster
In Step 9, kubeadm output will show the command to add the node on cluster
~
Run below command on all node instances
sudo kubeadm join 10.142.0.15:6443 –token dlrgmp.6ur3hxw4p82blpty \ –discovery-token-ca-cert-hash sha256:9c7f3814c72f7a4c57bb47792d5ac13b67938cbb2302740e9bf55be80615c78e
~
Now check the master and slave node status from master server