Local Development Environment Setup for Kubernetes using Minikube

Kubernetes is an orchestrator for microservice apps running on containers. It is open source and automates the deployment, scaling and management of containerized applications.

For your local development purpose you might not want to interact with the K8s cluster hosted in Cloud & spend additional dollars. Also debugging can be challenging if you do not have services running locally. So in that case, as the initial step — you can build your docker image and test it locally first by deploying into Minikube.

I have created a video tutorial to setup a local development environment for K8s using Minikube. I will walk you through how to perform the required installations to create a running K8s cluster locally. We will then deploy an app using the K8s CLI. Once done, we will explore the deployed application and environments.

Minikube is a tool that allows you to run a single-node K8s cluster locally. Minikube starts a VM and runs the necessary K8s components. Once the K8s cluster is up, you can interact with it using the K8s CLI – kubectl.

Kubectl is used for running commands to deploy and manage components against your K8s instance. Minikube also configures kubectl for you.

 

You can find below the scripts used in the demonstration —

// Install Minikube
brew cask install minikube
// Verify that minikube is properly installed
minikube version
// Install the Kubernetes Command Line Utility – kubectl
brew install kubectl
// Start Minikube
minikube start
// Check Minikube status
minikube status
// View Kubernetes Dashboard
minikube dashboard
// View Kubernetes Cluster Information
kubectl cluster-info
// View the nodes that can be used to host your applications
kubectl get nodes
// Create a new deployment
kubectl run hello-minikube –image=k8s.gcr.io/echoserver:1.4 –port=8080
// List the deployments
kubectl get deployments
// Expose the deployment to an external IP
kubectl expose deployment hello-minikube –type=NodePort
// View the K8s services
kubectl get services
// View the URL that you can hit via browser
minikube service hello-minikube –url
// View the K8s pods in the cluster
kubectl get pods
// View the details of a specific resource
kubectl describe svc hello-minikube
// Delete the service and deployment
kubectl delete service,deployment hello-minikube
// Shut down the Minikube cluster
minikube stop



Categories: Kubernetes

2 replies

Trackbacks

  1. Crash Loop Detection in Kubernetes – dotnetvibes
  2. Kubernetes Architecture – dotnetvibes

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: