Kubernetes is Greek for Pilot or Helmsman. It is primarily used as an orchestration tool for containers.
Kubernetes Deployment (KD):
Deployment is responsible for creating and updating instances of application.
Kubernetes Master (KM):
KM schedule the application instances that was created by the KD onto individual nodes in the cluster.
Kubernetes Deployment Controller (KDC):
KDC monitors application instances and replaces an instance if the node hosting the instance goes down.
Kubernetes Pod (KP):
KP is a subset of KD. KP consists of one or more application containers and some shared resource for those containers. Shared resource can be shared storage or networking resource like IP address.
Kubernetes Node (KN):
KN is a physical or virtual machine that is managed by KM. Multiple Pods can exist in a Node. KN has the following:
- kubelet: A process that ensures communication between KM and KN.
- Container runtime like docker/rkt
Kubernetes Service (KS):
KS is an abstraction layer which defines a logical set of pods and enables external traffic exposure like load balancing. The set of pods can exist in one or more KN.
Labels are key-value pairs that are attached to objects such as pods. They are similar to hash-tags.
Integrated load balancing in KS enables scaling.
Rolling updates allows incremental updates by replacing existing pods with new ones within a KS.
Reference: Kubernetes Basics. Images were taken from the link provided.