From 6fe995d2eb72d4d1d971be469baf76d096079724 Mon Sep 17 00:00:00 2001 From: Matjaz Pancur <matjaz.pancur@fri.uni-lj.si> Date: Tue, 25 Feb 2020 14:05:19 +0100 Subject: [PATCH] remove --record parameter --- lab-build-python-app.md | 79 ++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 45 deletions(-) diff --git a/lab-build-python-app.md b/lab-build-python-app.md index e3b3318..e474c25 100644 --- a/lab-build-python-app.md +++ b/lab-build-python-app.md @@ -13,45 +13,45 @@ Show a Kubernetes development process and 0-downtime upgrades for simple Python - minikube instance (I used latest minikube with a little more RAM (4GB) and K8s v1.17.0 (currently default version for minikube). I deployed it on VirtualBox (--vm-driver parameter): ``` - matjaz@mbp (â |minikube:default) ~/git/k8s-upgrade-demo/v1$ minikube start --memory 4G --vm-driver virtualbox --kubernetes-version v1.17.0 - đ minikube v1.6.2 on Darwin 10.14.6 - ⨠Selecting 'virtualbox' driver from user configuration (alternates: [hyperkit vmwarefusion]) - đĽ Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... - đł Preparing Kubernetes v1.17.0 on Docker '19.03.5' ... - đ Pulling images ... - đ Launching Kubernetes ... - â Waiting for cluster to come online ... - đ Done! kubectl is now configured to use "minikube" - - matjaz@mbp ~$ minikube version - minikube version: v1.6.2 - commit: 54f28ac5d3a815d1196cd5d57d707439ee4bb392 - matjaz@mbp ~$ kubectl version - Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0" ... Platform:"darwin/amd64"} - Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0" ... Platform:"linux/amd64"} +matjaz@mbp (â |minikube:default) ~/git/k8s-upgrade-demo/v1$ minikube start --memory 4G --vm-driver virtualbox --kubernetes-version v1.17.0 +đ minikube v1.6.2 on Darwin 10.14.6 +⨠Selecting 'virtualbox' driver from user configuration (alternates: [hyperkit vmwarefusion]) +đĽ Creating virtualbox VM (CPUs=2, Memory=4000MB, Disk=20000MB) ... +đł Preparing Kubernetes v1.17.0 on Docker '19.03.5' ... +đ Pulling images ... +đ Launching Kubernetes ... +â Waiting for cluster to come online ... +đ Done! kubectl is now configured to use "minikube" + +matjaz@mbp ~$ minikube version +minikube version: v1.6.2 +commit: 54f28ac5d3a815d1196cd5d57d707439ee4bb392 +matjaz@mbp ~$ kubectl version +Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0" ... Platform:"darwin/amd64"} +Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.0" ... Platform:"linux/amd64"} ``` Required enabled "minikube addons enable ingress" ``` - matjaz@mbp ~$ minikube addons list - - addon-manager: enabled - - dashboard: enabled - - default-storageclass: enabled - - efk: disabled - - freshpod: disabled - - gvisor: disabled - - helm-tiller: disabled - - ingress: enabled - - ingress-dns: disabled - - logviewer: disabled - - metrics-server: disabled - - nvidia-driver-installer: disabled - - nvidia-gpu-device-plugin: disabled - - registry: disabled - - registry-creds: disabled - - storage-provisioner: enabled - - storage-provisioner-gluster: disabled +matjaz@mbp ~$ minikube addons list +- addon-manager: enabled +- dashboard: enabled +- default-storageclass: enabled +- efk: disabled +- freshpod: disabled +- gvisor: disabled +- helm-tiller: disabled +- ingress: enabled +- ingress-dns: disabled +- logviewer: disabled +- metrics-server: disabled +- nvidia-driver-installer: disabled +- nvidia-gpu-device-plugin: disabled +- registry: disabled +- registry-creds: disabled +- storage-provisioner: enabled +- storage-provisioner-gluster: disabled ``` You may have to wait a bit for ingress controller to be in the running state: @@ -385,17 +385,6 @@ hello-fc557d4b5-rq8qw 1/1 Running 0 23s 172.17.0.9 minikub hello-fc557d4b5-ttw4z 1/1 Running 0 10m 172.17.0.8 minikube <none> ``` -We could use --record parameter to annotate our Deployment with what we changed, but kubectl scale doesn't add a new revision of the Deployment, new revisions are added when Deployment's Pod template changes - but it adds a command into current history slot - it was <none> before that). This is one of the many reasons that using a record : - -``` -matjaz@mbp ~/git/k8s-upgrade-demo/v1$ kubectl scale deployment hello --replicas=3 --record -deployment.apps/hello scaled -matjaz@mbp ~/git/k8s-upgrade-demo/v1$ kubectl rollout history deployment hello -deployment.extensions/hello -REVISION CHANGE-CAUSE -1 kubectl scale deployment hello --replicas=3 --record=true -``` - If we use our app now, we'll get responses from one of our 3 deployed Pods (in a random fashion, remember the talk we had about Services and kube-proxy default behavior during load balancing): ``` -- GitLab