Skip to main content

Command Palette

Search for a command to run...

DevOps Week 15: Mastering Kubernetes with Minikube, Deployments, Services, and Ingress

Published
2 min read
A

A frelance mern stack developer at fiver and aspiring devops engineer

Content:

This week in my DevOps journey, I explored Kubernetes hands-on using Minikube on Ubuntu. I covered deployments, self-healing, scaling, services, and NGINX Ingress with HTTPS.

Minikube Setup

I installed and configured Minikube, set up a Master Node, and joined Worker Nodes. I explored Kubernetes master components like API Server, Scheduler, Controller Manager, and etcd. I learned how Kubelet executes containers on worker nodes according to master instructions.

Deploying Applications

I deployed Nginx, Apache, and Redis using a apps.yaml file and exposed them via NodePort Services. Key commands I used:

kubectl get pods
kubectl delete pod <pod-name>
kubectl describe pod <pod-name>
kubectl logs <pod-name>
Self-Healing and Scaling
Instead of running standalone containers, I created a Deployment with 3–4 replicas. Deleting a pod manually triggered Kubernetes to recreate it automatically, ensuring high availability.

Kubernetes Services
I explored three types of services:

ClusterIP: Internal access

NodePort: External access via <NodeIP>:<NodePort>

LoadBalancer: External IP access in cloud environments
I accessed services using Minikube commands and observed self-healing in action.

NGINX Ingress & HTTPS
I enabled NGINX Ingress and created an Ingress resource for domain routing. Using a TLS secret, I secured my application with HTTPS:

bash
Copy code
kubectl create secret tls <app-name>-tls --cert=tls.crt --key=tls.key
The combination of Deployments, Services, and Ingress creates a production-ready Kubernetes workflow.

Key Takeaways
Kubernetes ensures self-healing, scaling, and high availability

Services define how apps are accessed internally and externally

NGINX Ingress simplifies domain routing and SSL management

Minikube hands-on practice deepens understanding of Kubernetes architecture

More from this blog