Kubernetes and Minikube Fundamentals
Tags: tutorial, kubernetes
Published: 2022-12-19 13:47:03

**Kubernetes** is an open source container management system that is designed to automate the deployment, scaling and administration of containerized applications on a large scale. It was developed by Google and became a Cloud Native Computing Foundation project. Kubernetes lets you run multiple containers on a network of machines and manage those containers efficiently, making it easy to build and run containerized applications in distributed environments.

Kubernetes is primarily used to manage large-scale containerized applications. It allows you to easily deploy and update containerized applications in distributed environments, automatically scaling the number of containers running as load needs change. This makes it easy to build and run highly available and highly scalable applications. Kubernetes also provides features to monitor and diagnose running applications, helping to ensure they are always running correctly.

## How to start using Kubernetes?

To get started with Kubernetes, you will need to have a network of machines where Kubernetes can run. This could be a cluster of physical machines or a cluster of virtual machines in a cloud. You will also need to install Kubernetes software on each machine in the cluster. After that, you can start building and deploying containerized applications to the cluster using Kubernetes commands and tools. There are several tutorials and guides available online that can help you get started with Kubernetes. It's a good idea to start with simple examples and then expand your skills as you gain more knowledge and experience.

## Basic Kubernetes commands

There are many different commands available in Kubernetes, but here are some basic commands that you might find useful:

`kubectl get`: This command displays information about running Kubernetes resources, such as pods, services, and deployment settings. For example, you can use kubectl get pods to see a list of all pods running on the cluster.

`kubectl describe` : This command provides detailed information about a specific Kubernetes resource. For example, you can use kubectl describe pod <pod-name> to see details about a specific pod, such as its configuration and state history.

`kubectl create`: This command creates a new Kubernetes resource. For example, you can use **kubectl create deployment <deployment-name>** to create a new deployment.

`kubectl delete`: This command deletes a Kubernetes resource. For example, you can use kubectl delete deployment <deployment-name> to delete a deployment.

`kubectl logs`: This command displays the logs for a specific pod. This can be useful for diagnosing problems with a running application. For example, you can use `kubectl logs <pod-name>` to view the logs for a pod.

These are just a few examples of basic Kubernetes commands. There are many other commands available, each with its own functionality and uses.

## Summary about minikube

Minikube is a tool that makes it easy to run Kubernetes locally on your machine. It allows you to create and manage a Kubernetes cluster with just one node on your local machine, which is useful for development and testing. That way, you can experience Kubernetes' functionality without needing an actual cluster. Minikube also includes several development tools that make it easy to build and deploy containerized applications to your local cluster. It is a popular tool among developers who are learning Kubernetes or need a local development environment to test containerized applications.

## How to start with minikube ?

To start using Minikube, you will first need to install it on your machine. This can be done using your operating system's package manager, such as apt-get on Ubuntu or brew on macOS. After installing Minikube, you can use the `minikube start` command to start a local cluster with one node. This may take some time depending on your machine configuration. After starting the cluster, you can use the `kubectl` command to manage the cluster and deploy containerized applications to it. It is recommended to consult Minikube's documentation for more information on how to use it and to learn more about its functionalities.

## Basic minikube commands

Here are some basic commands that you might find useful when using **Minikube**:

`minikube start`: This command starts a local single-node Kubernetes cluster. It creates a virtual environment in which Kubernetes can run and configures kubectl to communicate with the cluster.

`minikube stop`: This command stops the local Kuberne cluster