This document discusses building Kubernetes from the ground up, including setting up infrastructure, generating certificates, deploying the control plane and worker nodes, configuring networking, and testing deployments. It covers setting up the Kubernetes control plane components like the API server, controller manager, and scheduler. It also discusses networking models in Kubernetes and testing deployments, replicasets, rolling updates and more. Next steps discussed include improving high availability, DNS, secrets management, and using managed Kubernetes offerings from cloud providers.
Report
Share
Report
Share
1 of 48
More Related Content
Kubernetes from the ground up
1. Kubernetes from the ground up
Through the looking glass of the Kubernetes
internals
Skyworkz - https://skyworkz.nl
Sander Knape - https://sanderknape.com
4. Container use cases
● Run X amount of containers
○ Autoscaling
○ Distributed on different nodes / AZs / Regions
● Rolling updates
● Schedule containers (cron)
● ...
6. Kubernetes is big
● Ninth place in commits at GitHub on March 6, 2018 https://en.wikipedia.org/wiki/Kubernetes
● First CNCF graduated project https://www.cncf.io/blog/2018/03/06/kubernetes-first-cncf-project-graduate/
7. Why build it yourself?
● Learn more about the Kubernetes components
● Gives you more knowledge, helpful when debugging Kubernetes
● It’s fun!
23. Controller manager: manages controllers
1. Node Controller: Responsible for noticing and responding when nodes go down.
2. Replication Controller: Responsible for maintaining the correct number of pods for every
replication controller object in the system.
3. Endpoints Controller: Populates the Endpoints object (that is, joins Services & Pods).
4. Service Account & Token Controllers: Create default accounts and API access tokens for
new namespaces.
https://kubernetes.io/docs/concepts/overview/components/#kube-controller-manager
33. Kubernetes Networking Model
1. All Pods can communicate with all other Pods without using network address
translation (NAT).
2. All Nodes can communicate with all Pods without NAT.
3. The IP that a Pod sees itself as is the same IP that others see it as.
https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/
34. Kubernetes Networking Model
● Same network: https://github.com/aws/amazon-vpc-cni-k8s
● Overlay network: https://github.com/coreos/flannel
https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/