Concepts¶
Pods¶
The smallest deployment unit in kubernetes is a Pod.
A Pod can contain multiple containers.
A pod runs a single instance of an application.
To scale horizontally, use multiple pods.
A pod has a single IP.
Containers inside a pod communicate using
localhostContainers inside a pod share storage using Volumes.
Pods are disposable. To manage scheduling and self-healing, you should create Pods via a Controller.
Controllers¶
Controllers create and manage multiple pods.
Controllers handle replication, rollout, and self-healing within a cluster
Types of controller:
Controllers use Pod Templates to specify how to create the pods
Services¶
Services expose pod network endpoints to the cluster
A service uses a specification to define which pods to route traffic to.
A service can be used to expose a service externally using the following service types:
LoadBalancer
NodePort
Ingress¶
Ingress rules defines cluster external routes to connect services inside the cluster to the outside world.
To create an ingress rule, the cluster must have an Ingress Controller running.
Ingress can be used to arrange:
Routing
SSL/TLS termination
Authentication