- Open source Container Orchestration tool
- by Google
- Helps manage containerized applications in different deployment environments
Orchestration tool offers:
- High Availability, no downtime
- Scalability, high performance
- Disaster recovery, backup/restore
Used terminology
https://kubernetes.io/docs/reference/glossary
K8s | Kubernetes |
CNCF | Cloud Native Computing Foundation |
NetPol | Network Policies |
PV | Persistent Volumes |
PVC | Persistent Volume Claims |
CSI | Container Storage Interface |
CNI | Container Network Interface |
CI/CD | Continuous Integration & Continuous Deployment |
RBAC | Role Based Access Control |
OCI | Open Container Initiative |
CRI | Container Runtime Interface |
SMI | Service Mesh Interface |
SLO | Service Level Objectives |
SLI | Service Level Indicators |
SLA | Service Level Agreements |
Components
- Node
- Control Plane Node (Master Node)
- API server: entry point to K8s cluster. UI/API/CLI
- Controller Manager: keeps track of what’s happening in the cluster
- Scheduler: ensure Pods placement
- etcd: K8s backing store. Key/Value storage. holds the current status of any K8s component
- Worker Node
- Control Plane Node (Master Node)
- Pod:
- Smallest unit & is ephemeral
- Abstraction over container
- 1 application per Pod
- Gets its own IP
- Service:
- Permanent static IP
- Lifecycle of Pod and Service not connected
- Volume:
- K8s doesn’t manage data persistence
- local or remote
- Ingress
- ConfigMap:
- External configuration of your application (URLs)
- for non-confidential data only!
- Deployment:
- Blueprint for the Pod
- use the same Service
- DB can’t be replicated via Deployment!
- for stateLESS apps
- Secret:
- like ConfigMap
- in Base64 encoded format
- StatefulSet:
- for stateFUL apps or databases
- DaemonSet