In this blog, I am going to give brief introduction to Kubernetes and it’s services. In later blog, we will deploy and configure Kubernets cluster on OpenStack VM.
Kubernetes is basically a cluster management tool for Docker container. It help us to schedule and deploy any number of container replicas onto a node clusters. Kubernetes is enough inteligent to take care of making decisions like which containers go on which servers/node.
Kubernetes is a KEY to assess and dealing with various containers instead of simply working with Docker on a manually configured host.
Kubernetes enables you to respond quickly to customer demand by scaling or rolling out new features and to make maximal use of your hardware.
- lean: lightweight, simple, accessible
- portable: public, private, hybrid, multi cloud
- extensible: modular, pluggable, hookable, composable, toolable
- self-healing: auto-placement, auto-restart, auto-replication
Parts of Kubernetes
A running Kubernetes cluster contains node agents (kubelet) and master components (APIs, scheduler, etc), on top of a distributed storage solution. The Kubernetes node has the services necessary to run application containers and be managed from the master systems.
- Master: the managing machine, which oversees one or more minions.
- Minion: a slave that runs tasks as delegated by the user and Kubernetes master.
- Pod: an application (or part of an application) that runs on a minion. This is the basic unit of manipulation in Kubernetes.
- Replication Controller: ensures that the requested number of pods are running on minions at all times.
- Label: an arbitrary key/value pair that the Replication Controller uses for service discovery
kubecfg: the command line config tool
- Service: an endpoint that provides load balancing across a replicated group of pods
To manage resources within Kubernetes, It will interact with the Kubernetes API and pulling down the Kubernetes binaries that will give all the services necessary to get Kubernetes configuration up and running. Like most other cluster management solutions, Kubernetes works by creating a master, which exposes the Kubernetes API and allows to request certain tasks to be completed. The master then spawns containers to handle the workload. Aside from running Docker, each node runs the Kubelet service — which is an agent that works with the container manifest — and a proxy service. The Kubernetes control plane is comprised of many components, but they all run on the single Kubernetes master node.