Launching Your First Kubernetes Cluster with Nginx Running

Launching Your First Kubernetes Cluster with Nginx Running

Introduction

Welcome back to Day 31 of the #90DaysDevOpsChallenge! After delving into the architecture of Kubernetes in the previous task, I'm excited to share my hands-on experience with Minikube. In this task, we'll explore Minikube, understand its features, and create our first Pod.

Minikube: A Quick Overview

What is Minikube?

Minikube is a powerful tool designed to swiftly set up a local Kubernetes cluster on macOS, Linux, and Windows. Whether you deploy it as a VM, a container, or on bare-metal, Minikube provides all the benefits of Kubernetes with minimal effort.

Key Features of Minikube

  • Latest Kubernetes Support: Minikube supports the latest Kubernetes release along with six previous minor versions.

  • Cross-Platform: It seamlessly operates on Linux, macOS, and Windows.

  • Versatile Deployment: Choose to deploy Minikube as a VM, a container, or on bare-metal.

  • Container Runtimes: Supports multiple container runtimes, including CRI-O, containerd, and docker.

  • Direct API Endpoint: Enjoy a blazing-fast image load and build with a direct API endpoint.

  • Advanced Features: Incorporates advanced features such as LoadBalancer, filesystem mounts, FeatureGates, and network policy.

  • Addon Support: Easily install Kubernetes applications with the help of addons.

  • CI Environment Support: Minikube is compatible with common CI environments.

Task-01: Installing Minikube

I'm thrilled to share that I've successfully installed Minikube on my local machine. To get started, I followed the detailed instructions on the official Minikube installation page.

Understanding Pods

What are Pods?

Pods are the smallest deployable units of computing in Kubernetes. A Pod represents one or more containers sharing storage and network resources, with a specification on how to run these containers. Think of a Pod as a logical host for your application.

Practical Implementation: Task-02

Now, let's put theory into action! I'm excited to share that I've created my first Pod on Kubernetes through Minikube. I chose to deploy an Nginx Pod, showcasing the versatility of Minikube.

Here's a simple YAML configuration for an Nginx Pod:

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    - name: nginx-container
      image: nginx

Save this YAML configuration in a file (e.g., nginx-pod.yaml) and apply it to create the Pod:

 kubectl apply -f nginx-pod.yaml

I'm thrilled to have successfully launched my first Kubernetes cluster with Minikube and deployed an Nginx Pod! Stay tuned for more exciting DevOps tasks in the #90DaysDevOpsChallenge!