Day 31 Task: Launching your First Kubernetes Cluster with Nginx running

Gopal GautamGopal Gautam
3 min read

🔹What is minikube?

Minikube is an open-source tool designed to enable developers and Kubernetes enthusiasts to run a single-node Kubernetes cluster on their local machines. It's a lightweight and easy-to-use solution that helps simplify Kubernetes development, testing, and learning by providing a local, isolated Kubernetes environment.

Here are some key features of Minikube:

  1. Local Kubernetes Cluster: Minikube sets up a fully functional, single-node Kubernetes cluster on your local development machine. This cluster replicates many aspects of a production Kubernetes environment.

  2. Ease of Installation: Minikube is straightforward to install and use. It provides platform-specific installation options for Windows, macOS, and Linux, ensuring a smooth setup process.

  3. Isolation: Minikube runs the Kubernetes cluster within a virtual machine (VM) or container, depending on your configuration. This isolation ensures that the local development environment remains unaffected and isolated from the Kubernetes cluster.

  4. Cluster Management: It offers a command-line interface (CLI) that simplifies cluster management tasks. You can start, stop, delete, and configure your Minikube cluster with ease using Minikube CLI commands.

  5. Kubernetes Versions: Minikube supports various versions of Kubernetes, allowing you to work with different releases of the Kubernetes platform. You can choose the Kubernetes version that matches your project's requirements.

  6. Add-Ons and Plugins: Minikube provides support for add-ons and plugins that enhance the functionality of the local cluster. These add-ons include features like the Kubernetes Dashboard, metrics server, and more.

  7. Networking Options: Minikube supports multiple networking options, such as bridge, host-only, and others. You can choose the networking mode that best suits your use case.

  8. Storage Solutions: Developers can configure Minikube with different storage drivers, including VirtualBox, Docker, and others, to customize the storage setup of the Kubernetes cluster.

  9. Accessible Development: Minikube is commonly used by developers to create a local Kubernetes environment for application development, debugging, and testing. It facilitates the development of Kubernetes-native applications.

  10. Learning Kubernetes: Beginners and those new to Kubernetes can use Minikube to learn Kubernetes concepts, experiment with deployments, and practice working with Kubernetes resources in a safe and controlled environment.

  11. Continuous Integration (CI): Minikube can be integrated into CI/CD pipelines to automate the testing of Kubernetes-based applications. This ensures that applications behave consistently across different Kubernetes environments.

  12. Community and Support: Minikube has an active community of users and contributors, which means you can find resources, documentation, and support from the community when using the tool.

🔹Install minikube on your local

#install docker on ubuntu
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg

sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable docker
sudo systemctl status docker

#install minikube on ubuntu
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

sudo install minikube-linux-amd64 /usr/local/bin/minikube

minikube start --driver=docker

🔹Let's understand the concept of pod

A Pod is one of the fundamental building blocks in Kubernetes, and it represents the smallest deployable unit within the Kubernetes ecosystem. Pods are used to encapsulate one or more containerized applications, storage resources, and a unique network IP address. Understanding the concept of a Pod is crucial in Kubernetes because it's the basic unit for deploying and scaling applications.

🔹Task:

Create your first pod on Kubernetes through minikube

0
Subscribe to my newsletter

Read articles from Gopal Gautam directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Gopal Gautam
Gopal Gautam

Hii I am a backend/DevOps engineer.I have a experience with development and automation.I mostly work with Python, django, Cloud based technologies.