From a4babd1a77a32d8ab3fcedb40a0d07e51169c448 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Mon, 22 Apr 2019 12:51:34 -0500 Subject: [PATCH 1/7] Update versions --- slides/k8s/localkubeconfig.md | 6 +++--- slides/k8s/versions-k8s.md | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/slides/k8s/localkubeconfig.md b/slides/k8s/localkubeconfig.md index 9c9ad553..eaaf9e4e 100644 --- a/slides/k8s/localkubeconfig.md +++ b/slides/k8s/localkubeconfig.md @@ -16,11 +16,11 @@ - Download the `kubectl` binary from one of these links: - [Linux](https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/linux/amd64/kubectl) + [Linux](https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/linux/amd64/kubectl) | - [macOS](https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/darwin/amd64/kubectl) + [macOS](https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/darwin/amd64/kubectl) | - [Windows](https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/windows/amd64/kubectl.exe) + [Windows](https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/windows/amd64/kubectl.exe) - On Linux and macOS, make the binary executable with `chmod +x kubectl` diff --git a/slides/k8s/versions-k8s.md b/slides/k8s/versions-k8s.md index 1115b043..e093d20a 100644 --- a/slides/k8s/versions-k8s.md +++ b/slides/k8s/versions-k8s.md @@ -1,7 +1,7 @@ ## Versions installed -- Kubernetes 1.14.0 -- Docker Engine 18.09.3 +- Kubernetes 1.14.1 +- Docker Engine 18.09.5 - Docker Compose 1.21.1 From 9deeddc83aea75dcde00077784ff73e89fffa6cc Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Thu, 25 Apr 2019 14:48:11 -0500 Subject: [PATCH 2/7] Minor tweaks for kadm content --- slides/k8s/architecture.md | 19 +++++++++++++++++++ slides/k8s/cluster-upgrade.md | 2 ++ slides/k8s/cni.md | 3 ++- slides/k8s/dmuc.md | 8 ++++---- 4 files changed, 27 insertions(+), 5 deletions(-) diff --git a/slides/k8s/architecture.md b/slides/k8s/architecture.md index ecd28284..d324447a 100644 --- a/slides/k8s/architecture.md +++ b/slides/k8s/architecture.md @@ -165,6 +165,25 @@ What does that mean? --- +## Let's experiment a bit! + +- For the exercises in this section, connect to the first node of the `test` cluster + +.exercise[ + +- SSH to the first node of the test cluster + +- Check that the cluster is operational: + ```bash + kubectl get nodes + ``` + +- All nodes should be `Ready` + +] + +--- + ## Create - Let's create a simple object diff --git a/slides/k8s/cluster-upgrade.md b/slides/k8s/cluster-upgrade.md index a599f58d..57bce466 100644 --- a/slides/k8s/cluster-upgrade.md +++ b/slides/k8s/cluster-upgrade.md @@ -18,6 +18,8 @@ .exercise[ +- Log into node `test1` + - Check the version of kubectl and of the API server: ```bash kubectl version diff --git a/slides/k8s/cni.md b/slides/k8s/cni.md index e4749234..21ead238 100644 --- a/slides/k8s/cni.md +++ b/slides/k8s/cni.md @@ -650,7 +650,8 @@ For critical services, we might want to precisely control the update process. - We can see informative messages in the output of kube-router: ``` - time="2019-04-07T15:53:56Z" level=info msg="Peer Up" Key=X.X.X.X State=BGP_FSM_OPENCONFIRM Topic=Peer + time="2019-04-07T15:53:56Z" level=info msg="Peer Up" + Key=X.X.X.X State=BGP_FSM_OPENCONFIRM Topic=Peer ``` - We should see the routes of the other clusters show up diff --git a/slides/k8s/dmuc.md b/slides/k8s/dmuc.md index b4b2dc46..535dd9be 100644 --- a/slides/k8s/dmuc.md +++ b/slides/k8s/dmuc.md @@ -33,7 +33,7 @@ ## Our environment -- We will use the machine indicated as `dmuc` +- We will use the machine indicated as `dmuc1` (this stands for "Dessine Moi Un Cluster" or "Draw Me A Sheep",
in homage to Saint-Exupery's "The Little Prince") @@ -54,7 +54,7 @@ .exercise[ -- Log into the `dmuc` machine +- Log into the `dmuc1` machine - Get root: ```bash @@ -106,7 +106,7 @@ - Try to start the API server: ```bash kube-apiserver - # It will fail with --etcd-servers must be specified + # It will fail with "--etcd-servers must be specified" ``` ] @@ -559,7 +559,7 @@ Success! Our node should show up. -Its name will be its hostname (it should be `dmuc`). +Its name will be its hostname (it should be `dmuc1`). --- From dff8c1e43a940b9c0c17f67ec5cda7801c760b4d Mon Sep 17 00:00:00 2001 From: Arthur Chaloin Date: Fri, 26 Apr 2019 10:42:41 +0200 Subject: [PATCH 3/7] Add missing namespace name in kubctl label command example --- slides/k8s/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slides/k8s/architecture.md b/slides/k8s/architecture.md index d324447a..37940a88 100644 --- a/slides/k8s/architecture.md +++ b/slides/k8s/architecture.md @@ -307,7 +307,7 @@ class: extra-details - In the other, update our namespace: ```bash - kubectl label namespaces color=purple + kubectl label namespaces hello color=purple ``` ] From 82f8f41639fb48e179330c6bbfb194d577218650 Mon Sep 17 00:00:00 2001 From: Arthur Chaloin Date: Fri, 26 Apr 2019 10:44:01 +0200 Subject: [PATCH 4/7] Fix kubeconfig filename to match previous slides --- slides/k8s/dmuc.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slides/k8s/dmuc.md b/slides/k8s/dmuc.md index 535dd9be..a00d940c 100644 --- a/slides/k8s/dmuc.md +++ b/slides/k8s/dmuc.md @@ -535,7 +535,7 @@ clusters: - Start kubelet with that `kubeconfig.kubelet` file: ```bash - kubelet --kubeconfig kubelet.kubeconfig + kubelet --kubeconfig kubeconfig.kubelet ``` ] From d3dd5503cfc6c019b6091d9063c8b587c71b840d Mon Sep 17 00:00:00 2001 From: Arthur Chaloin Date: Fri, 26 Apr 2019 10:44:21 +0200 Subject: [PATCH 5/7] Fix typo in 'kuectl' --- slides/k8s/architecture.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slides/k8s/architecture.md b/slides/k8s/architecture.md index 37940a88..e3bf8c86 100644 --- a/slides/k8s/architecture.md +++ b/slides/k8s/architecture.md @@ -214,7 +214,7 @@ This is equivalent to `kubectl create namespace hello`. - Read back our object: ```bash - kuectl get namespace hello -o yaml + kubectl get namespace hello -o yaml ``` ] From 3557a546e16b68d38a3fc3205b5e2f6045a9f4f9 Mon Sep 17 00:00:00 2001 From: Arthur Chaloin Date: Fri, 26 Apr 2019 12:14:12 +0200 Subject: [PATCH 6/7] Replace kubenet by kuberouter for CNI slides --- slides/k8s/cni.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slides/k8s/cni.md b/slides/k8s/cni.md index 21ead238..306c4302 100644 --- a/slides/k8s/cni.md +++ b/slides/k8s/cni.md @@ -321,7 +321,7 @@ Note: the DaemonSet won't create any pods (yet) since there are no nodes (yet). - Copy `kubeconfig` to the other nodes: ```bash for N in 2 3; do - scp ~/kubeconfig kubenet$N: + scp ~/kubeconfig kuberouter$N: done ``` @@ -346,8 +346,8 @@ Note: the DaemonSet won't create any pods (yet) since there are no nodes (yet). - Open more terminals and join the other nodes: ```bash - ssh kubenet2 sudo kubelet --kubeconfig ~/kubeconfig --network-plugin=cni - ssh kubenet3 sudo kubelet --kubeconfig ~/kubeconfig --network-plugin=cni + ssh kuberouter2 sudo kubelet --kubeconfig ~/kubeconfig --network-plugin=cni + ssh kuberouter3 sudo kubelet --kubeconfig ~/kubeconfig --network-plugin=cni ``` ] From 2c0ed6ea2a1cb535d82c84fce9176a4926fb82e6 Mon Sep 17 00:00:00 2001 From: Jerome Petazzoni Date: Mon, 29 Apr 2019 15:05:50 -0500 Subject: [PATCH 7/7] Switch diagrams order --- prepare-vms/settings/jerome.yaml | 2 +- slides/k8s/concepts-k8s.md | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/prepare-vms/settings/jerome.yaml b/prepare-vms/settings/jerome.yaml index adf74639..62e8a08f 100644 --- a/prepare-vms/settings/jerome.yaml +++ b/prepare-vms/settings/jerome.yaml @@ -8,7 +8,7 @@ clusterprefix: node cards_template: jerome.html # Use "Letter" in the US, and "A4" everywhere else -paper_size: A4 +paper_size: Letter # Feel free to reduce this if your printer can handle it paper_margin: 0.2in diff --git a/slides/k8s/concepts-k8s.md b/slides/k8s/concepts-k8s.md index 78e524a3..dc597bed 100644 --- a/slides/k8s/concepts-k8s.md +++ b/slides/k8s/concepts-k8s.md @@ -130,6 +130,12 @@ class: pic --- +class: pic + +![One of the best Kubernetes architecture diagrams available](images/k8s-arch4-thanks-luxas.png) + +--- + ## Running the control plane on special nodes - It is common to reserve a dedicated node for the control plane @@ -253,22 +259,16 @@ class: pic --- -class: pic - -![One of the best Kubernetes architecture diagrams available](images/k8s-arch4-thanks-luxas.png) - ---- - ## Credits -- The first diagram is courtesy of Weave Works +- The first diagram is courtesy of Lucas Käldström, in [this presentation](https://speakerdeck.com/luxas/kubeadm-cluster-creation-internals-from-self-hosting-to-upgradability-and-ha) + + - it's one of the best Kubernetes architecture diagrams available! + +- The second diagram is courtesy of Weave Works - a *pod* can have multiple containers working together - IP addresses are associated with *pods*, not with individual containers -- The second diagram is courtesy of Lucas Käldström, in [this presentation](https://speakerdeck.com/luxas/kubeadm-cluster-creation-internals-from-self-hosting-to-upgradability-and-ha) - - - it's one of the best Kubernetes architecture diagrams available! - Both diagrams used with permission.