Skip to content
0:00 / 0:00

#kube-proxy#iptables#kubernetesarchitecture

Kubernetes Deconstructed - Carson Anderson, DOMO

Utah Kubernetes Meetup

118 subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2018 to 2026.
  • Presented by Carson Anderson, DOMO
  • May be out of date. Uploaded 8 years ago, in an area where tools change fast.

Intermediate. Assumes working knowledge.

3.5K views8 years ago2 recommendations

Cloud and DevOpsSystems programmingKubernetesNetworking and protocolsDocker and containers

Carson Anderson breaks down the internal components of Kubernetes, explaining how pods, services, and kube-proxy work under the hood.

Understanding Kubernetes as a whole can be daunting. With so many different components working together it can be hard to know how the pieces work together or where new products and features fit in. I will start at the highest level and then peel off the layers one at time to explain how some of the "magic" happens. Over the course of the presentation I will break Kubernetes into the following layers: "Kubernetes for the End User": A quick summary on some of the core components of Kubernetes: Namespaces, Deployments, Pods, Services, and Ingress Rules. At this layer the user just needs to understand the promises made by Kubernetes, not necessarily the way it keeps them. This layer primarily serves to establish a typical cluster workload. The resources defined here will be used when explaining all of the deeper layers. "Kubernetes for the Cluster Admin": This Layer peels away some of the cluster "Magic". I will cover how the service account, default tokens, ReplicaSet and Pods from the previous layer got created by the kube-controller-manager. I will also explain how the kube-scheduler decided which node the workload should run on and how that decision could have been influenced by fields in the pod spec. This section will touch on the core concepts of Ingress controllers, Admission Controllers, scheduling, and core controller loops. "Kubernetes for the Cloud Admin": This layer covers Kubernetes at an infrastructure level. Core concepts covered are: Horizontal Scaling, Load Balancing, high availability for masters and nodes, node management, and fault-tolerance levels. Here is also where I set the stage for the network layer that is covered next. "Kubernetes for the Network Admin": Now we dig deeper into the network infrastructure. Explaining how pods and services work together, how your network traffic figures out where to go, and how it gets there. This section covers the concepts of East-West and North-South load balancing. The goal is to provide an basic understanding of the network promises made by Kubernetes and how you might replace them with other software and services. "Kubernetes for the Linux Admin": A discussion of Kubernetes at the OS layer. This layer digs into the processes and configuration of the base OS. This includes pluggable container engines ex: Docker vs. Rkt, logging, CNI, metric gathering and volume mounting. "Kubernetes for the Power-User": Time permitting, the final section will put all of the previous ones together to show how a next-generation application might be deployed on top of Kubernetes and take advantage of the more advanced features. Full presentation - bit.do/kube-decon-full KubeCon presentation - youtube.com/watch?v=90kZRyPcRZw @Carsonoid - github.com/carsonoid Sozi - sozi.baierouge.fr

Why it's here

2 people recommend this

What people say. Highly recommended for its clear, visual explanation of Kubernetes networking, services, and internal architecture.

Moments people linked to

u/ascii158in r/kubernetes • Recommends

On “Cloud Infrastructure Engineer Internship Interview”

Kubernetes deconstructed give a very good overview over the architecture and mental models of kubernetes. It's a bit outdated in places (docker is no longer a supported container runtime), but the concept is sound.

u/nbutton23in r/kubernetes • Recommends

On “N00b Q: What’s the actual resource that performs the load balancing in a k8s cluster?”

If you look in kube-system you will see a pod call Kube-proxy that runs on every node. It's whole job is to look for services. When it finds a service it gathers all the endpoint (pod IPs) then modifies the IP tables on the node. Once you hit a node it's random which pod you will go to. link to this video is a good overview of services
3View on Reddit