Kubernetes (k8s)
- k8s is a platform that is used with huge number of services & capabilities that keeps growing.
- The core functionality of k8s is schedule workloads in containers across your infra. In addition to this there are many functionalities that k8s brings in
- Managing storage systems
- Secret Management
- Application health & readiness check
- Replicating application instances
- Horizontal pod Autoscaling
- Cluster Autoscaling
- Naming & Service Discovery
- Balancing loads
- Rolling updates
- Resource Monitoring
- Log Management
- Application debugging
- Authentication & Authorization
- Refer Here for k8s introduction
Container Orchestration
- Primary responsibility of k8s is container orchestration.
- It means
- making sure that all the containers that execute various workloads are scheduled on physical or virtual machines.
- Keep an eye on all running containers & replace dead, unresponsive or unhealthy containers with new containers.
- In k8s we embrace cattle mindset over pets
k8s components
- Refer Here for master and node components
- Cluster:
- It is collection of hosts(nodes) that provide compute, memory, storage and networking resources
- k8s uses these resources to run application workloads.
- Master Node:
- The master node is a single host in k8s cluster.
- This can be a physical server or virtual machine
- This is the control plane of k8s. This master is responisble for assigning work (container workloads) to be scheduled on nodes
- Nodes:
- It is a single host in k8s cluster
- This can be physical server or virtual machine
- These are managed by k8s master and they do the work of executing workloads in k8s (They were referred as minions)
- Node is responsible for doing the work assigned.
K8s architecture
Exercises
- Refer Here to learn about json and yaml
- Ensure you have cloud account (aws,azure)