Day 31 Task: Launching your First Kubernetes Cluster with Nginx running
What is minikube?
Minikube is a tool which quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows. It can deploy as a VM, a container, or on bare-metal.
Minikube is a pared-down version of Kubernetes that gives you all the benefits of Kubernetes with a lot less effort.
This makes it an interesting option for users who are new to containers, and also for projects in the world of edge computing and the Internet of Things.
Features of minikube
(a) Supports the latest Kubernetes release (+6 previous minor versions)
(b) Cross-platform (Linux, macOS, Windows)
(c) Deploy as a VM, a container, or on bare-metal
(d) Multiple container runtimes (CRI-O, containerd, docker)
(e) Direct API endpoint for blazing fast image load and build
(f) Advanced features such as LoadBalancer, filesystem mounts, FeatureGates, and network policy
(g) Addons for easily installed Kubernetes applications
(h) Supports common CI environments
Task-01:
Install minikube on your local
Launch EC2 instance with Instance type as “t2.medium”. Install docker by using commands such as “sudo apt-get update” and “sudo apt-get install docker.io”.
sudo usermod -aG docker $USER
sudo systemctl start docker
sudo systemctl enable docker
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
After running the CURL command you will see minikube folder
Download the Minikube binary using curl
Make it executable and move it into your path:
chmod +x minikube
sudo mv minikube /usr/local/bin/
To check version of miniKube
To confirm successful installation of both a hypervisor and Minikube, you can run the following command to start up a local Kubernetes cluster:
Now lets install kubectl which is command line tool
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Make it executable and move it into your path
chmod +x kubectl
sudo mv kubectl /usr/local/bin/
Activating Minikube and Checking Status
minikube start --driver=docker
In below image, we used driver_name=docker, so first you need to install docker in your machine.
Once minikube start finishes, run the command below to check the status of the cluster:
minikube status
If you have previously installed Minikube, and run:
minikube start
and minikube start returned an error:
machine does not exist
then you need to clear minikube local state:
minikube delete
For log in to minikube use command:
minikube ssh
Pod:
Pods are the smallest deployable units of computing that you can create and manage in Kubernetes.
A Pod (as in a pod of whales or pea pod) is a group of one or more containers, with shared storage and network resources, and a specification for how to run the containers. A Pod's contents are always co-located and co-scheduled and run in a shared context. A Pod models an application-specific "logical host": it contains one or more application containers that are relatively tightly coupled.
Task-02:
Create your first pod on Kubernetes through minikube.
Fisrt setup your minikube over the ec2 instance then
Create a file, inside folder create pod.yaml file for nginx.
To create a pod using pod.yaml file use below command:
To check list of pods:
kubectl apply -f <pod.yaml>
kubectl get pods
Thanks for reading the blog & do share them with someone in need.
Please share your views and suggestions, they are always welcome.
See you then in the next blog.
Subscribe to my newsletter
Read articles from Lokesh Kumar directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by