Kubernetes is a portable, extensible open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
Google open-sourced the Kubernetes project in 2014. Kubernetes builds upon a decade and a half of experience that Google has with running production workloads at scale, combined with best-of-breed ideas and practices from the community
Docker , rkt , containerd or any OCI compliant runtime which will download image , configures network , mount volumes and assist container life cycle management.
Responsible for instructing container runtime to start , stop or modify a container
Manage service IPs and iptables rules
API server interacts with all other components in cluster All client interactions will happen via API server
Responsible for scheduling workload on minions or worker nodes based on resource constraints
Responsible for monitoring different containers in reconciliation loop Will discuss more about different controllers later in this course
Persistent store where we store all configurations and cluster state
Cloud vendor specific controller and cloud vendor is Responsible to develop this program