There are multiple ways of setting up kubernetes. To play around or learn kubernetes you can set it up via multiple ways such as:
The kubeadm tool can also be used for setting up a local viable cluster with the help of a config management tools such as Ansible. A detailed step by step tutorial for installing kuberetes with ansible on a local cluster can be found here.
However for running a prodcuction grade cluster in cloud it’s better to use a managed service from providers such as GCP, AWS, Azure or DigitalOcean.
For a local development or learning setup
minikube is the easiest to start with and we
will go through steps to setup a local minikube cluster.
A typical kubernetes deployments consists of master and worker node with components shown in the image below.
Minikube bundles all these components together in a single node kubernetes cluser. This gives us a simple setup to work and interact with.
To interact with a kubernetes cluster we need a utility
kubectl. The kubectl utility can interact with both local
as well as a remote setup with some configuration.
Inorder to install kubectl utility on linux
- Download the latest release with the command
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
- Validate the binary Download checksum file
curl -LO "https://dl.k8s.io/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl.sha256"
Validate the binary
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
- Install kubectl
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
For more detail visit here
If you want to enable shell completion for kubectl then please see this link
it explains how to add it for
To install minikube on linux follow the commands:
- Download the binary
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
- Install the binary
sudo install minikube-linux-amd64 /usr/local/bin/minikube
- Setup a local kubernetes cluster Minikube needs a driver to setup the cluster on the local machine. A list of drivers supported can be found here. I prefer the docker driver as it’s easier to setup and clean and is also a very common utility for dev and ops people. To start the cluster with docker driver, run the command:
minikube start --driver=docker
To make this the default driver we can run the following command
minikube config set driver docker
Once you are done with the setup you can start and stop the cluster with the
minikube start #starts the cluster minikube stop #stops the cluster
You can interact with the cluster using
kubectl get nodes
kubectl get nodes
This should return the output as such
NAME STATUS ROLES AGE VERSION minikube Ready control-plane,master 37h v1.22.3
In the article we took a look at how to setup kubectl utility and minikube for local development on kubernetes.