From 67806fc59291102cc9b9fda54718db66a8e704d7 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Wed, 7 Apr 2021 15:59:16 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Add=20a=20bunch=20of=20con?= =?UTF-8?q?trol=20plane=20diagrams?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../advanced-control-plane-split-events.svg | 3921 ++++++++++++++++ .../control-planes/advanced-control-plane.svg | 3596 +++++++++++++++ .../control-planes/managed-kubernetes.svg | 1294 ++++++ .../single-control-and-workers.svg | 1611 +++++++ .../images/control-planes/single-node-dev.svg | 914 ++++ .../control-planes/stacked-control-plane.svg | 3940 +++++++++++++++++ slides/k8s/concepts-k8s.md | 30 + slides/workshop.css | 9 + 8 files changed, 15315 insertions(+) create mode 100644 slides/images/control-planes/advanced-control-plane-split-events.svg create mode 100644 slides/images/control-planes/advanced-control-plane.svg create mode 100644 slides/images/control-planes/managed-kubernetes.svg create mode 100644 slides/images/control-planes/single-control-and-workers.svg create mode 100644 slides/images/control-planes/single-node-dev.svg create mode 100644 slides/images/control-planes/stacked-control-plane.svg diff --git a/slides/images/control-planes/advanced-control-plane-split-events.svg b/slides/images/control-planes/advanced-control-plane-split-events.svg new file mode 100644 index 00000000..ae30df7d --- /dev/null +++ b/slides/images/control-planes/advanced-control-plane-split-events.svg @@ -0,0 +1,3921 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADVANCED CONTROL PLANE + WORKERS(SPLIT EVENTS) + + + + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + passive + + + + active + + + + + + + + + + + + + + + + + + + + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + + + + app pod + + + + some combination of VMs,containers, pods ... + APIload balancer + + + + API server + + API server + + API server + + API server + + API server + + API server + + scheduler + + scheduler + + + + controller manager + + controller manager + + + + + + + + etcd + + + + + + + + + + etcd + + + + etcd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + load balancer,DNS RR, etcdserver list ... + + + + etcd (events) + + + + + + + + + + etcd (events) + + + + etcd (events) + + + + + + + + + + + + + + + + + + + + + + + + + + load balancer,DNS RR, etcdserver list ... + + diff --git a/slides/images/control-planes/advanced-control-plane.svg b/slides/images/control-planes/advanced-control-plane.svg new file mode 100644 index 00000000..84ff5350 --- /dev/null +++ b/slides/images/control-planes/advanced-control-plane.svg @@ -0,0 +1,3596 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADVANCED CONTROL PLANE + WORKERS + + + + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + passive + + + + active + + + + + + + + + + + + + + + + + + + + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + + + + app pod + + + + some combination of VMs,containers, pods ... + APIload balancer + + + + API server + + API server + + API server + + API server + + API server + + API server + + scheduler + + scheduler + + + + controller manager + + controller manager + + + + + + + + etcd + + + + + + + + + + etcd + + + + etcd + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + load balancer,DNS RR, etcdserver list ... + diff --git a/slides/images/control-planes/managed-kubernetes.svg b/slides/images/control-planes/managed-kubernetes.svg new file mode 100644 index 00000000..30a02615 --- /dev/null +++ b/slides/images/control-planes/managed-kubernetes.svg @@ -0,0 +1,1294 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MANAGED KUBERNETES + + + + controllermanager + + + + scheduler + + control plane(operated by provider) + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + + + + + + + + + + + + + + pod + + + + kubelet + + + + kubelet + + + + + + pod + + + + + + pod + + + + + + pod + + + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + ? + + ? + API server + + + + + + cloudcontrollermanager + etcd + + + diff --git a/slides/images/control-planes/single-control-and-workers.svg b/slides/images/control-planes/single-control-and-workers.svg new file mode 100644 index 00000000..3bec2e53 --- /dev/null +++ b/slides/images/control-planes/single-control-and-workers.svg @@ -0,0 +1,1611 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SINGLE-NODE CONTROL PLANE + WORKERS(DEPLOYED WITH KUBEADM) + + + + + + + + + + + + + + + + + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + kubelet + + container engine + + + + + + + + + API server + + + + kubelet + + container engine + + + + kubelet + + container engine + + + + + + + + + + + + + + etcd + + + + + + + + + controller manager + + + + + + + + + scheduler + + + + + + + + + other pods... + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + API server + + + diff --git a/slides/images/control-planes/single-node-dev.svg b/slides/images/control-planes/single-node-dev.svg new file mode 100644 index 00000000..828de926 --- /dev/null +++ b/slides/images/control-planes/single-node-dev.svg @@ -0,0 +1,914 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SINGLE-NODE CLUSTER (FOR DEVELOPMENT) + + + API server + + + + controllermanager + + + + scheduler + + VM or container + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + etcd + + + + + + + + + + kubelet + + + + + + pod + + + + + containerengine + + + + + + + + + + pod + + + + + + pod + + + diff --git a/slides/images/control-planes/stacked-control-plane.svg b/slides/images/control-planes/stacked-control-plane.svg new file mode 100644 index 00000000..432209b2 --- /dev/null +++ b/slides/images/control-planes/stacked-control-plane.svg @@ -0,0 +1,3940 @@ + + + + + + image/svg+xml + + how-does-k8s-work + + + + + how-does-k8s-work + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + STACKED CONTROL PLANE + WORKERS(DEPLOYED WITH KUBEADM) + + + + + + + + + + + + kubelet + + container engine + + + + + + + + + + + + + + + API server + + + + kubelet + + container engine + + + + + + + + + + + + + + etcd + + + + + + + + + controller manager + + + + + + + + + scheduler + + + + + + + + + other pods... + + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + + + + + + + API server + + + + kubelet + + container engine + + + + + + + + + + + + + + etcd + + + + + + + + + controller manager + + + + + + + + + scheduler + + + + + + + + + other pods... + + + + + + + + + + + + + + + + API server + + + + kubelet + + container engine + + + + + + + + + + + + + + etcd + + + + + + + + + controller manager + + + + + + + + + passive + + + + + + + + + other pods... + + + + + + + + + active + + + + + + + + + + + + + + + + + + + + + + APIload balancer + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + + 👩🏼‍💻👨🏾‍💻🤖 + + $ kubectl ... + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + kubelet + + container engine + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + app pod + + + + + + + + + + + + + + app pod + + + + + diff --git a/slides/k8s/concepts-k8s.md b/slides/k8s/concepts-k8s.md index f8d3a0db..4fd7a3fe 100644 --- a/slides/k8s/concepts-k8s.md +++ b/slides/k8s/concepts-k8s.md @@ -220,6 +220,36 @@ class: extra-details --- +class: pic +![](images/control-planes/single-node-dev.svg) + +--- + +class: pic +![](images/control-planes/managed-kubernetes.svg) + +--- + +class: pic +![](images/control-planes/single-control-and-workers.svg) + +--- + +class: pic +![](images/control-planes/stacked-control-plane.svg) + +--- + +class: pic +![](images/control-planes/advanced-control-plane.svg) + +--- + +class: pic +![](images/control-planes/advanced-control-plane-split-events.svg) + +--- + class: extra-details ## How many nodes should a cluster have? diff --git a/slides/workshop.css b/slides/workshop.css index f3047404..f64fdec0 100644 --- a/slides/workshop.css +++ b/slides/workshop.css @@ -109,8 +109,17 @@ div.pic p { div.pic img { display: block; margin: auto; + /* + "pic" class slides should have a single, full screen picture. + We used to have these attributes below but they prevented + pictures from taking up the whole slide. Replacing them with + 100%/100% seems to put the pictures full screen, but I've left + these old attributes here just in case. max-width: 1210px; max-height: 550px; + */ + max-width: 100%; + max-height: 100%; } div.pic h1, div.pic h2, div.title h1, div.title h2 { text-align: center;