satish8450 / Documents-AWS

Documents Listed her
0 stars 0 forks source link

K8s Cluster Setup #8

Open satish8450 opened 1 year ago

satish8450 commented 1 year ago

Agenda: Kubernetes Setup Using Kubeadm In AWS EC2 Ubuntu Servers

Prerequisite:

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.

==========COMMON FOR MASTER & SLAVES START ====

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 </etc/apt/sources.list.d/kubernetes.list deb https://apt.kubernetes.io/ kubernetes-xenial main EOF apt-get update -y

Turn Off Swap Space

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

Install And Enable Docker

apt install docker.io -y usermod -aG docker ubuntu systemctl restart docker systemctl enable docker.service

Install kubeadm, Kubelet And Kubectl

sudo apt-get update sudo apt-get install -y kubelet

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

Enable and start kubelet service

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

==========COMMON FOR MASTER & SLAVES END=====

===========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

exit

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

Deploy Sample Application

kubectl run nginx-demo --image=nginx --port=80

kubectl expose deployment nginx-demo --port=80 --type=NodePort

Get Node Port details

kubectl get services

https://www.youtube.com/watch?v=ih8Sel-QqLk&list=PLUltco2RCw40MEt_qD3itOxCcs_YdzL0H