Getting Started with Minikube Kubernetes

How to run local Kubernetes clusters?
What is Minkube?
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.
Before getting started
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.
Prerequisites
  • Install kubectl if not installed already. Link

  • Install a hypervisor if not installed already. Hyper-V or VirtualBox

  • Minimum System specifications
    Start Minikube
    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.
    Verify Minikube
    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
    Stop Minikube
    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.
    Troubleshoot
    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.

    Let’s understand how to deploy an image on a local Kubernetes cluster using kubectl & minikube.

    Deploy an image on Kubernetes
    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
    Access Minikube Deployment
    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
    Check container status
    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
    Get URL
    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)
    Browse the URL
    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#

    27

    This website collects cookies to deliver better user experience

    Getting Started with Minikube Kubernetes