Introduction
Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management.
in this post we
will install Kubernetes on Ubuntu 18.04.
Prerequisites
· 2 or more Linux
servers running Ubuntu 18.04
· sudo or root
access
· Command-line/terminal
window (Ctrl–Alt–T)
Steps to Install
Kubernetes on Ubuntu
Set up Docker
Step 1: Install Docker
Kubernetes requires Docker to run its container. follow below steps to install docker before we starts kubernetes.
If you already
have docker installed on your machines then skip this part and start from step2
1. Update the package with below command:
sudo apt-get
update
2. Install Docker
sudo apt-get
install docker.io
3. if you have
more than two nodes then install it on all the nodes with above commands
4. after
successfully installation of docker verify it with below command.
docker ––version
Step 2: Start and Enable Docker
1. Set Docker to launch at boot by using below command:
sudo systemctl
enable docker
2. Verify Docker
is running:
sudo systemctl
status docker
To start Docker if
it’s not running:
sudo systemctl
start docker
3. Repeat on all
the other nodes.
Install Kubernetes
Step 3: Add Kubernetes Signing Key
As you are downloading the kubernetes from non standard repo, it is necessary to ensure that the software is veritable
1. Enter the following to add a signing key:
curl -s
https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
if you face curl
is not installed then use below command to install it.
sudo apt-get
install curl
2. Repeat point #1 on all server.
Step 4: Add Software Repositories
kubernetes will not included in default repo. to add it to the default repo use below command.
sudo
apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial
main"
Repeat on each
server node.
Step 5: Kubernetes Installation Tools
Kubeadm (Kubernetes Admin) is a tool that helps initialize a cluster. It fast-tracks setup by using community-sourced best practices. Kubelet is the work package, which runs on every node and starts containers. The tool gives you command-line access to clusters.
1. Install Kubernetes tools by using below command:
sudo apt-get
install kubeadm kubelet kubectl
sudo apt-mark hold
kubeadm kubelet kubectl
wait untill
process get completes.
2. Verify the installation with:
kubeadm version
3. Repeat for each server node.
Kubernetes Deployment
Step 6: Begin Kubernetes Deployment
Step 7: Assign Unique Hostname for Each Server Node
use below commands
to set hostname so that it will be easy to understand and differentiate between
master and worker nodes.
assign the unique hostname to each node.
sudo hostnamectl
set-hostname master-node
Next, set a worker node hostname by entering the following on the worker server:
sudo hostnamectl set-hostname worker01
Step 8: Initialize Kubernetes on Master Node
login to the master node and enter below command.
sudo kubeadm init
--pod-network-cidr=10.244.0.0/16
once command runs successfully it will give you message at the end. make a note of the complete entry, it will be used to join the worked nodes to cluster.
Next, use below
commands to create a directory for the cluster:
kubernetes-master:~$ mkdir -p $HOME/.kube
kubernetes-master:~$
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubernetes-master:~$
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Step 9: Deploy Pod Network to Cluster
A Pod Network is a
way to allow communication between nodes in the cluster.
we are using the flannel virtual network in our installation
Enter the
following:
sudo kubectl apply
-f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Allow the process
to complete.
Verify that
everything is running and communicating:
kubectl get pods
--all-namespaces
Step 10: Join Worker Node to Cluster
As indicated in Step 7, you can enter the kubeadm join command on each worker node to connect it to the cluster.
Switch to the worker01 system and enter the command you noted from Step 7:
kubeadm join
--discovery-token abcdef.1234567890abcdef --discovery-token-ca-cert-hash
sha256:1234..cdef 1.2.3.4:6443
Replace the alphanumeric codes with those from your master server. Repeat for each worker node on the cluster. Wait a few minutes; then you can check the status of the nodes.
Switch to the master server, and enter:
kubectl get nodes
The system should display the worker nodes that you joined to the cluster.
Nice document..
ReplyDeleteGreat
ReplyDelete