Exercise 7.5: Rolling Updates and Rollbacks using DaemonSet
kubectl get ds ds-one -o jsonpath='{.spec.updateStrategy}' | jqkubectl edit ds ds-one.... updateStrategy: rollingUpdate: maxUnavailable: 1 type: OnDelete ....kubectl patch ds ds-one --patch '{"spec":{"updateStrategy":{"type":"OnDelete"}}}'kubectl get ds ds-one -o jsonpath='{.spec.updateStrategy}' | jqkubectl set image ds ds-one nginx=nginx:1.16.1-alpinekubectl get pod -l system=DaemonSetOne \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].imagekubectl delete pod POD_NAMEkubectl delete pod $(kubectl get pod -l system=DaemonSetOne -o=jsonpath='{.items[0].metadata.name}')kubectl get pod -l system=DaemonSetOnekubectl get pod -l system=DaemonSetOne \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].image,TIMESTAMP:.metadata.creationTimestampkubectl rollout history ds ds-onediff <(kubectl rollout history ds ds-one --revision=1) \ <(kubectl rollout history ds ds-one --revision=2) -ykubectl rollout undo ds ds-one --to-revision=1kubectl get pod -l system=DaemonSetOne \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].image,TIMESTAMP:.metadata.creationTimestampkubectl delete pod POD_NAMEkubectl delete pod \ $(kubectl get pod -l system=DaemonSetOne --sort-by='.metadata.creationTimestamp' -o=jsonpath='{.items[-1].metadata.name}')kubectl get pod -l system=DaemonSetOnekubectl get pod -l system=DaemonSetOne \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].image,TIMESTAMP:.metadata.creationTimestampcat <<EOF | kubectl create -f - apiVersion: apps/v1 kind: DaemonSet metadata: name: ds-two labels: system: DaemonSetTwo spec: updateStrategy: rollingUpdate: maxUnavailable: 1 type: RollingUpdate selector: matchLabels: system: DaemonSetTwo template: metadata: labels: system: DaemonSetTwo spec: containers: - name: nginx image: nginx:1.15.1 ports: - containerPort: 80 EOFkubectl get pod -l systemkubectl get pod -l system=DaemonSetTwo \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].imagekubectl edit ds ds-two --record.... - image: nginx:1.16.1-alpine ....kubectl get pod -l system=DaemonSetTwokubectl get pod -l system=DaemonSetTwo \ -o=custom-columns=NAME:.metadata.name,IMAGE:.spec.containers[*].imagekubectl rollout status ds ds-twokubectl rollout history ds ds-twokubectl rollout history ds ds-two --revision=2kubectl delete ds ds-one ds-two
Last updated