21
Getting Started with Minikube Kubernetes
How to run local Kubernetes clusters?
Minikube is local Kubernetes, concentrating on delivering an easy to learn and develop the infrastructure for Kubernetes.
It runs a single node cluster on your local computer.
Check the system virtualization configuration. To validate virtualization support on Windows 8 and above, run the subsequent command on your Windows terminal or command prompt.
systeminfo
If you recognize the following output, virtualization is supported on Windows.
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
If you recognize the following output, the system already has a Hypervisor established.
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Install kubectl if not installed already. Link
Install a hypervisor if not installed already. Hyper-V or VirtualBox
After completion of the required prerequisites, kindly run the below command to start Minikube on a single node cluster locally.
NOTE: Run Command Prompt in Administrator Mode.
minikube start --driver=<DriverName>
Example
minikube start --driver=hyperv
The above command will need some time to finish all the necessary configurations.
Once minikube start ends, run the command below to check the status of the cluster. Refer below the screenshot to check the output.
minikube status
To stop the local Minikube Kubernetes cluster, run:
minikube stop
Notice the above command outputs “1 node stopped” it confirms that Minkube runs on a single-node Kubernetes cluster.
If minikube start throws an error means may be local state cleanup is required. Run the following command to clean the state:
minikube delete
After this try minikube start.
Using an existing image named echoserver using kubectl command to deploy an existing image on the local cluster:
kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.10
The console output is similar to this:
deployment.apps/hello-minikube created
Expose it as a Service:
kubectl expose deployment hello-minikube --type=NodePort --port=8080
The option --type=NodePort specifies the type of Service.
The console output is similar to this:
service/hello-minikube exposed
As we have just created the Service, need to wait until the Pod is up and running:
kubectl get pod
If the output shows the STATUS as ContainerCreating, it’s being created. The result is similar to this:
NAME READY STATUS RESTARTS AGE
hello-minikube 0/1 ContainerCreating 0 3s
If the output shows the STATUS as Running, it's now up and running. The product is identical to this:
NAME READY STATUS RESTARTS AGE
hello-minikube 1/1 Running 0 11m
To get the URL of the exposed Service to view its details, run the following command to
minikube service hello-minikube --url
The console output is similar to this:
[http://172.24.160.91:30599](http://172.24.160.91:30599)
To view the details, copy and paste the URL into your browser.
The output in the browser is similar to this:
Hostname: hello-minikube
Pod Information:
-no pod information available-
Server values:
server_version=nginx: 1.13.3 - lua: 10008
Request Information:
client_address=172.17.0.1
method=GET
real path=/
query=
request_version=1.1
request_scheme=http
request_uri=http://172.24.160.91:8080/
Request Headers:
accept=text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
accept-encoding=gzip, deflate
accept-language=en-US,en;q=0.9
cache-control=max-age=0
connection=keep-alive
host=172.24.160.91:30599
upgrade-insecure-requests=1
user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Request Body:
-no body in request-
Congratulations..!! You have successfully deployed a basic application on Local Kubernetes Cluster.
Thank you for reading. Keep visiting and share this in your network. Please put your thoughts and feedback in the comments section.
Follow on following channels to stay tuned on upcoming stories on C#
21