Kubernetes Logo

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 localhost

  • Containers 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