Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🏠 Back to Blog

Container Orchestration (22%)

Cluster Networking

  • A kubernetes cluster consists of master and worker nodes. Each node must have a network interface with a valid IP address configured. Each host must be connected to a network.
  • Certain TCP/UDP ports are required to be open:
    • 6443/tcp
    • 10250/tcp
    • 10251/tcp
    • 10252/tcp
    • 2379/tcp
    • 2380/tcp
    • 30000-32767/tcp

Pod Networking

  • Every requires an IP address
  • Every pod in the cluster should be able to reach every other pod without using NAT

CNI

  • Container Network Interface
  • Container Network Interface (CNI) is a framework for dynamically configuring networking resources. It uses a group of libraries and specifications written in Go. The plugin specification defines an interface for configuring the network, provisioning IP addresses, and maintaining connectivity with multiple hosts.

DNS

  • Domain Name Service
  • Used to resolve names to IP addresses
  • CoreDNS is the default DNS service used in Kubernetes

Ingress

Services

  • Services are like a load balancer. They load balance traffic to backend pods (referred to as endpoints)
  • There are 3 types of services in Kubernetes
    • ClusterIP
      • the default
      • The service IP address is only available inside the cluster
    • NodePort
      • Makes the service accessible on a predefined port on all nodes in the cluster
    • LoadBalancer
      • Provisions a load balancer in a cloud environment to make the service accessible

Sidecars

  • Sidecars are a secondary container running inside our pod that provide a service for the primary pod
  • An example is a container in our pod that ships logs to an external service for the business-logic container

Envoy

Storage