Kubernetes Setup Using Kubeadm In AWS EC2 Ubuntu Servers - ===================== . . .

muni devops:
Kubernetes Setup Using Kubeadm In AWS EC2 Ubuntu Servers -


3 - Ubuntu Serves

1 - Manager (4GB RAM , 2 Core) t2.medium

2 - Workers (1 GB, 1 Core) t2.micro

Note: Open Required Ports In AWS Security Groups. For now we will open All trafic.


First, login as ‘root’ user because the following set of commands need to be executed with ‘sudo’ permissions.

sudo su -

Install Required packages and apt keys.

apt-get update -y
apt-get install -y apt-transport-https
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
apt-get update -y

#Turn Off Swap Space

swapoff -a
sed -i ‘/ swap / s/^(.*)$/#\1/g’ /etc/fstab

Install And Enable Docker

apt install http://docker.io|docker.io -y
usermod -aG docker ubuntu
systemctl restart docker
systemctl enable docker.service

#Install kubeadm, Kubelet And Kubectl

apt-get install -y kubelet kubeadm kubectl kubernetes-cni

Enable and start kubelet service

systemctl daemon-reload
systemctl start kubelet
systemctl enable kubelet.service


===========In Master Node Start====================

Steps Only For Kubernetes Master

Switch to the root user.

sudo su -

Initialize Kubernates master by executing below commond.

kubeadm init

#exit root user & exeucte as normal user


mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

To verify, if kubectl is working or not, run the following command.

kubectl get pods -o wide --all-namespaces

#You will notice from the previous command, that all the pods are running except one: ‘kube-dns’. For resolving this we will install a # pod network. To install the weave pod network, run the following command:

kubectl apply -f “https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d ‘\n’)”

kubectl get nodes

kubectl get pods --all-namespaces

Get token

kubeadm token create --print-join-command

=========In Master Node End====================
Add Worker Machines to Kubernates Master

Copy kubeadm join token from and execute in Worker Nodes to join to cluster

kubectl commonds has to be executed in master machine.

Check Nodes

kubectl get nodes

Tej Singh Rana:
Thanks for sharing this, @muni devops :+1: