🎡What is Minikube?
Minikube is a tool that enables you to run Kubernetes locally on your machine. It creates a single-node Kubernetes cluster on your local computer, allowing you to develop and test Kubernetes applications without needing to set up a full-scale cluster. Minikube is great for learning Kubernetes, testing deployments, and developing applications that will eventually be deployed on a larger Kubernetes cluster.
🎡Features of Minikube
Minikube offers several key features that make it a valuable tool for developers and Kubernetes enthusiasts:
Local Kubernetes Cluster: Minikube allows you to run a single-node Kubernetes cluster on your local machine, enabling you to develop and test Kubernetes applications in a local environment.
Easy Setup: Minikube is easy to set up and can be installed on various operating systems, including Linux, macOS, and Windows, with minimal dependencies.
Isolation: Minikube provides an isolated Kubernetes environment, allowing you to experiment with Kubernetes features without affecting your production environment.
Resource Management: Minikube allows you to specify resource constraints, such as CPU and memory limits, for the Kubernetes cluster, making it suitable for testing resource-intensive applications.
Add-ons: Minikube supports various add-ons, such as Kubernetes Dashboard, Heapster, and others, to enhance your Kubernetes experience.
Kubernetes Version Support: Minikube supports running different versions of Kubernetes, allowing you to test your applications against specific Kubernetes versions.
Integration with Docker: Minikube seamlessly integrates with Docker, allowing you to build and deploy Docker containers on the Minikube Kubernetes cluster.
Networking: Minikube provides networking features that allow your Kubernetes pods to communicate with each other and with the outside world.
Storage: Minikube supports various storage options, such as local storage, hostPath, and NFS, for storing data in your Kubernetes applications.
Generally, Minikube is a powerful tool for learning, testing, and developing Kubernetes applications in a local environment.
🔄Pre-requisites
Ubuntu / AWS EC2 instance with t2.medium type or above.
kubectl
Docker
🛠Task 1 : Install minikube on your local & Create your first pod on Kubernetes through minikube.
📍Update your system packages
sudo apt-get update
📍Install Curl Package
sudo apt install -y curl wget apt-transport-https
📍Install the Docker
sudo apt install -y docker.io
📍Start and Enable Docker
sudo systemctl enable docker
📍Add the current user to the docker group (To use docker without root)
sudo usermod -aG docker $USER && newgrp docker
📍Then Once Reboot your system
sudo reboot
🕴 Install Minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
🤖Make it executable and move it into your path:
chmod +x minikube
sudo mv minikube /usr/local/bin/
🖥Install the Kubectl
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/
Start the Minikube
minikube start --driver=docker
☸make nginx-pod.yaml file
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
👩🔧run nginx-pod
kubectl apply -f nginx-pod.yaml
⚙Check pod
kubectl get pods
delete the pod
kubectl delete pod nginx-pod
stop the Minikube cluster
minikube stop
delete minikube cluster
minikube delete