What is Kubernetes used for?
Kubernetes is an open-source platform for managing containerised workloads and services. It allows you to run distributed system resiliently with failover and scaling for any application.
In simple terms Kubernetes is a container orchestration tool that makes sure all the containers are in the right place and all the services are running smoothly. It was originally developed by Google.
A Kubernetes cluster consists of at least one Master node and a few worker nodes.
Your applications run on the worker nodes in Docker containers.
The master node runs the API server which is the entry point to the K8S cluster, also the controller manager which keeps an overview of what is running in the cluster and the scheduler ensures correct pod placement.
The main element of the master node is an etcd key value store which holds the current state of the Kubernetes cluster.
A virtual network enables the master node to talk to the worker nodes.
Kubernetes Basic Concepts
POD is a wrapper for a container and is the smallest unit you will configure and or interact with. A pod can die and a new one will get created.
SERVICE is a service that sits in front of each pod and it maintains a permanent IP address to enable communication between the pods and it also functions as a load balancer.
All the configuration is done through the API server running on the master node. All the configuration is either in YAML or JSON format.
Why is Kubernetes called K8S
Very simply the 8 in K8S refers to the number of letters between the K and the S in Kubernetes!
What language is Kubernetes?
Kubernetes is written in Go (Golang)