What is a kubernetes?
It is open source orchestration tool for managing containerized workloads (apps running) and services, that facilitate both declarative configuration and automation. It has large rapidly growing ecosystem.
Short Description:
- Bare Metal: Install OS directly on hardware.
- Virtual Machine: Install inside the OS.
- Docker: Create Docker image
- Container: Packaging an apps along with runtime dependencies.
- Orchestration/Kubernetes tool: deploy and manage apps dynamically
K8S Cluster:
It means collection of control plane (master node) and worker nodes.
Kubectl:
K8s command line interface tool
It will communication with control plane
It can interact two ways
- Declarative – Yaml
- Imperative – Telling cluster to run some commands
Orchestration: Running micro services.
There was a glitch in the container i.e. if any issue with any single service then had to make changes to all of the services (etcd, controller master, API server, and scheduler) that’s why orchestration came with micro services. It has isolated all of the services, if any issue to service only that service will make changes and fix it, no need to fiddle other services.
The Micro-services running on worker nodes managing by control plane.
POD:
It is scheduling unit in K8s.
Sequence wise work of K8s:
- Create micro services
- Containerize it
- Put container in pod
- Deploy these pods in controllers
Why it’s called K8S?
8: “ubernete” eight words between first word “K” and last word “s”