From c3a796faef184e5eb2a4651e44e3cf3393b475be Mon Sep 17 00:00:00 2001 From: AJ Bowen Date: Tue, 11 Jun 2019 16:28:50 -0700 Subject: [PATCH] observations from Velocity workshop --- slides/k8s/cloud-controller-manager.md | 12 ++++++------ slides/k8s/cluster-backup.md | 12 ++++++------ slides/k8s/cluster-upgrade.md | 4 ++-- slides/k8s/cni.md | 6 +++--- slides/k8s/csr-api.md | 6 +++--- slides/k8s/multinode.md | 2 +- slides/k8s/podsecuritypolicy.md | 4 ++-- slides/k8s/staticpods.md | 14 +++++++------- 8 files changed, 30 insertions(+), 30 deletions(-) diff --git a/slides/k8s/cloud-controller-manager.md b/slides/k8s/cloud-controller-manager.md index d0975278..cbf25cf8 100644 --- a/slides/k8s/cloud-controller-manager.md +++ b/slides/k8s/cloud-controller-manager.md @@ -20,15 +20,15 @@ - Configuring routing tables in the cloud network (specific to GCE) -- Updating node labels to indicate region, zone, instance type ... +- Updating node labels to indicate region, zone, instance type... - Obtain node name, internal and external addresses from cloud metadata service - Deleting nodes from Kubernetes when they're deleted in the cloud -- Managing *some* volumes (e.g. ELBs, AzureDisks ...) +- Managing *some* volumes (e.g. ELBs, AzureDisks...) - (Eventually, volumes will be managed by the CSI) + (Eventually, volumes will be managed by the CSI) (the what?) --- @@ -83,7 +83,7 @@ The list includes the following providers: ## Audience questions -- What kind of clouds are you using / planning to use? +- What kind of clouds are you using/planning to use? - What kind of details would you like to see in this section? @@ -105,7 +105,7 @@ The list includes the following providers: - When using managed clusters, this is done automatically -- There is very little documentation to write the configuration file +- There is very little documentation on writing the configuration file (except for OpenStack) @@ -123,7 +123,7 @@ The list includes the following providers: - To get these addresses, the node needs to communicate with the control plane -- ... Which means joining the cluster +- ...Which means joining the cluster (The problem didn't occur when cloud-specific code was running in kubelet: kubelet could obtain the required information directly from the cloud provider's metadata service.) diff --git a/slides/k8s/cluster-backup.md b/slides/k8s/cluster-backup.md index eb34a58c..c42a153d 100644 --- a/slides/k8s/cluster-backup.md +++ b/slides/k8s/cluster-backup.md @@ -6,7 +6,7 @@ - error recovery (human or process has altered or corrupted data) - - cloning environments (for testing, validation ...) + - cloning environments (for testing, validation...) - Let's see the strategies and tools available with Kubernetes! @@ -18,13 +18,13 @@ (it gives us replication primitives) -- Kubernetes helps us to clone / replicate environments +- Kubernetes helps us to clone/replicate environments (all resources can be described with manifests) - Kubernetes *does not* help us with error recovery -- We still need to backup / snapshot our data: +- We still need to back up/snapshot our data: - with database backups (mysqldump, pgdump, etc.) @@ -58,7 +58,7 @@ - If our deployment system isn't fully automated, it should at least be documented -- Litmus test: how long does it take to deploy a cluster ... +- Litmus test: how long does it take to deploy a cluster... - for a senior engineer? @@ -66,7 +66,7 @@ - Does it require external intervention? - (e.g. provisioning servers, signing TLS certs ...) + (e.g. provisioning servers, signing TLS certs...) --- @@ -108,7 +108,7 @@ - For real applications: add resources (as YAML files) -- For applications deployed multiple times: Helm, Kustomize ... +- For applications deployed multiple times: Helm, Kustomize... (staging and production count as "multiple times") diff --git a/slides/k8s/cluster-upgrade.md b/slides/k8s/cluster-upgrade.md index 48197842..0b477ce9 100644 --- a/slides/k8s/cluster-upgrade.md +++ b/slides/k8s/cluster-upgrade.md @@ -287,8 +287,8 @@ - Download the configuration on each node, and upgrade kubelet: ```bash for N in 1 2 3; do - ssh node$N sudo kubeadm upgrade node config --kubelet-version v1.14.2 - ssh node $N sudo apt install kubelet=1.14.2-00 + ssh test$N sudo kubeadm upgrade node config --kubelet-version v1.14.2 + ssh test$N sudo apt install kubelet=1.14.2-00 done ``` ] diff --git a/slides/k8s/cni.md b/slides/k8s/cni.md index 3970f119..cd206ab1 100644 --- a/slides/k8s/cni.md +++ b/slides/k8s/cni.md @@ -276,7 +276,7 @@ class: extra-details - The address of the API server will be `http://A.B.C.D:8080` - (where `A.B.C.D` is the address of `kuberouter1`, running the control plane) + (where `A.B.C.D` is the public address of `kuberouter1`, running the control plane) .exercise[ @@ -453,7 +453,7 @@ We should see the local pod CIDR connected to `kube-bridge`, and the other nodes - Or try to exec into one of the kube-router pods: ```bash - kubectl -n kube-system exec kuber-router-xxxxx bash + kubectl -n kube-system exec kube-router-xxxxx bash ``` ] @@ -575,7 +575,7 @@ done ## Starting the route reflector -- Only do this if you are doing this on your own +- Only do this slide if you are doing this on your own - There is a Compose file in the `compose/frr-route-reflector` directory diff --git a/slides/k8s/csr-api.md b/slides/k8s/csr-api.md index 2673c4a1..35e2fa02 100644 --- a/slides/k8s/csr-api.md +++ b/slides/k8s/csr-api.md @@ -231,7 +231,7 @@ For a user named `jean.doe`, we will have: - Let's use OpenSSL; it's not the best one, but it's installed everywhere (many people prefer cfssl, easyrsa, or other tools; that's fine too!) - + .exercise[ - Generate the key and certificate signing request: @@ -244,7 +244,7 @@ For a user named `jean.doe`, we will have: The command above generates: -- a 2048-bit RSA key, without DES encryption, stored in key.pem +- a 2048-bit RSA key, without encryption, stored in key.pem - a CSR for the name `jean.doe` in group `devs` --- @@ -319,7 +319,7 @@ The command above generates: - Switch back to `cluster-admin`: ```bash - kctx - + kctx - # mraa? FIXME? ``` - Inspect the CSR: diff --git a/slides/k8s/multinode.md b/slides/k8s/multinode.md index 0efb7dc5..9a4b1313 100644 --- a/slides/k8s/multinode.md +++ b/slides/k8s/multinode.md @@ -96,7 +96,7 @@ class: extra-details - We need to generate a `kubeconfig` file for kubelet -- This time, we need to put the IP address of `kubenet1` +- This time, we need to put the public IP address of `kubenet1` (instead of `localhost` or `127.0.0.1`) diff --git a/slides/k8s/podsecuritypolicy.md b/slides/k8s/podsecuritypolicy.md index fd333919..97c721d1 100644 --- a/slides/k8s/podsecuritypolicy.md +++ b/slides/k8s/podsecuritypolicy.md @@ -212,7 +212,7 @@ - Have a look at the static pods: ```bash - ls -l /etc/kubernetes/manifest + ls -l /etc/kubernetes/manifests ``` - Edit the one corresponding to the API server: @@ -236,7 +236,7 @@ - Add `PodSecurityPolicy` - (It should read `--enable-admission-plugins=NodeRestriction,PodSecurityPolicy`) + It should read: `--enable-admission-plugins=NodeRestriction,PodSecurityPolicy` - Save, quit diff --git a/slides/k8s/staticpods.md b/slides/k8s/staticpods.md index e95b0840..31ad23ea 100644 --- a/slides/k8s/staticpods.md +++ b/slides/k8s/staticpods.md @@ -18,7 +18,7 @@ ## A possible approach -- Since each component of the control plane can be replicated ... +- Since each component of the control plane can be replicated... - We could set up the control plane outside of the cluster @@ -39,9 +39,9 @@ - Worst case scenario, we might need to: - set up a new control plane (outside of the cluster) - + - restore a backup from the old control plane - + - move the new control plane to the cluster (again) - This doesn't sound like a great experience @@ -57,7 +57,7 @@ - The kubelet can also get a list of *static pods* from: - a directory containing one (or multiple) *manifests*, and/or - + - a URL (serving a *manifest*) - These "manifests" are basically YAML definitions @@ -100,11 +100,11 @@ ## Static pods vs normal pods -- The API only gives us a read-only access to static pods +- The API only gives us read-only access to static pods -- We can `kubectl delete` a static pod ... +- We can `kubectl delete` a static pod... - ... But the kubelet will re-mirror it immediately + ...But the kubelet will re-mirror it immediately - Static pods can be selected just like other pods