Kubernetes overview

Kubernetes Hierarchy

  • image
  • container
  • pod ( one or more containers that would be deployed together on the same host to share volumes )
  • deployment
  • service

Kubelet

Kubelets run on every host to start and stop pods and communicate with the Docker engine on the host level.

Kube-proxy

Kube-proxies also run on every host to redirect the traffic to specific services and pods.

Container Linux

Container Linux by CoreOS (formerly known as CoreOS Linux, or just CoreOS) an OS specifically designed to run containers, a lightweight Linux distribution that uses containers to run applications. It does not even have a package manager, but contains the basic GNU Core Utilities for administration. It also include include KubeletDockeretcd and flannel.

Kubernetes Networking

Flannel

Flannel gives each host a separate IP subnet range to prevent IP address collisions, providing a unique IP address to each container. Flannel is the standard SDN ( software-defined network ) tool for CoreOS (Container Linux), it is shipped with the distribution.

Calico

Calico provides security in the Kubernetes cluster. By default in the Kubernetes cluster any pod can communicate to any other pod on any host. Calico restricts the inter pod communication using namespaces and selectors. It allows the communication from the host to the pods to enable health checks. Calico has tight integration with Flannel.

Canal

As Calico and Flannel nicely fit together, Canal is the combination of the two to provide a comprehensive inter-pod networking solution in the Kubernetes cluster.

Leave a comment

Leave a Reply