介绍
在本次挑战中,你将扮演一家科技初创公司的初级 DevOps 工程师,展示你的 Kubernetes 技能。你将以 NGINX 作为微服务来更新一个 Web 应用程序,并确保服务中断降至最低。任务包括更新 Kubernetes 部署(Deployment)以使用更高版本的镜像,并验证滚动更新(Rolling Update)是否成功。
更新 NGINX 部署
作为一名初级 DevOps 工程师,你的任务是更新现有的部署,以确保服务中断降至最低。
前置条件
在开始之前,请确保你已执行以下操作:
minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml
检查部署状态:
kubectl get deployments
任务
- 更新
web-app部署,使其使用镜像nginx:1.24.0-alpine。 - 验证更新是否通过滚动更新成功执行,并确保零停机。
要求
- 使用
kubectl命令执行更新。 - 确认在更新过程中部署持续运行且无停机。
- 使用
kubectl rollout status监控更新进度。 - 检查 Pod 镜像以验证更新后的版本。
提示
- 使用
kubectl edit deployment web-app或kubectl set image来更新镜像。 - 使用
kubectl rollout status监控滚动更新状态。 - 使用
kubectl get pods -o jsonpath验证正在运行的 Pod 及其容器镜像。
总结
在本次挑战中,你通过将 NGINX Web 应用程序部署更新到更高版本的镜像,展示了你的 Kubernetes 技能。你确保了过程中的零停机,并验证了滚动更新的成功。本次练习强调了在 Kubernetes 环境中执行更新时保持高可用性的重要性。


