Deploying a Service Using Minikube and Kubectl
Kubectl is the Kubernetes CLI tool. To know more about Kubectl, read the following article on w3wiki – Kubernetes – Kubectl. Follow these steps to deploy a service using Minikube and Kubectl:
Step 1. Enter the following command to start the Kubernetes cluster:
minikube start
If you are logged in as a root user you might get an error message:
Exiting due to DRV_AS_ROOT: The "docker" driver should not be used with root privileges.
This is because the default driver in the Docker driver and it should not be used with root privileges. For fixing this we should log in as a different user that the root user.
Enter the following command to add a new user
adduser [USERNAME]
Now enter the following command to login as a new user
su - [USERNAME]
Now upon entering the same minikube start command
minikube start
you will get a similar output, wait for some time until the installation of dependencies gets completed:
Step 2. Now if we check the number of nodes running, we will get the minikube node running.
kubectl get nodes
this will give you the following output:
or you can also check the status by running the following command:
minikube status
you will get a similar output on the terminal:
Step 2. To find out the services that are currently running on Kubernetes enter the following command:
kubectl get services
you will only see the default Kubernetes service running.
Step 3. Enter the following command on your terminal to create a deployment
kubectl create deployment w3wiki --image=kicbase/echo-server:1.0
Step 4. Enter the following command to expose the deployment to the port 6000:
kubectl expose deployment w3wiki --type=NodePort --port=6000
Step 5. Now when you check out the list of services
kubectl get services
you will find the w3wiki service:
Step 6. Now to run the service, enter the following minikube command:
minikube service w3wiki
It will display the following result:
You have to just copy the address (http://127.0.0.1:42093/ for me) and paste it to your browser to see the application website. It looks like the following:
Kubernetes Minikube
Minikube is a one-node Kubernetes cluster where master processes and work processes both run on one node. According to the official documentation of Minikube, Minikube is local Kubernetes, focusing on making it easy to learn and develop for Kubernetes. A prerequisite to use Minikube is a Docker container or a Virtual Machine environment. Minikube provides you a way to easily deploy application on Kubernetes for learning and developing purposes even if you don’t have enough resources like memory, CPU etc.
Contact Us