内部培训
02 第2周D8 Kubernetes

D8 作业:只读排查一个服务状态

D8 作业:只读排查一个服务状态

目标

  • 验证:会用 kubectl 只读命令看集群与服务,能读懂部署状态,守住"只看不改"红线。

场景

  • 有 kubectl 访问权限的开发/测试环境;若不能访问集群,用讲师指定的一次性测试环境或 k8s 官方交互教程替代
  • 全程只读命令。

任务

任务 1:看集群全貌(只读)

kuse prod                          # 或讲师指定的环境
kubectl get nodes
kubectl get pods -A | head -30
kubectl get svc -A | head -30
kubectl top nodes                  # 资源使用(如权限不足则跳过)
  • 记录:节点有几个、哪些 Pod 状态不是 Running(如 CrashLoopBackOff/Pending)、有没有异常。

任务 2:深挖一个服务

  • 挑一个部署(如 kubectl get deploy -A 里看到的),做:
kubectl get pods -n <ns> -l app=<你选>   # 或按 deploy 对应 label
kubectl describe pod <pod> -n <ns>
kubectl logs --tail=50 <pod> -n <ns>
  • 记录:Pod 状态、最近事件、日志最后几行说明了什么。

任务 3:答题(书面)

  1. DeploymentServiceIngress 三者的分工是什么?
  2. 看到一个 Pod 是 CrashLoopBackOff,正确做法是?(选项参考:删掉重来 / 看 logs 与 describe 找根因 / 直接改镜像)
  3. 下列命令哪些是新人不允许执行的?kubectl get podskubectl delete podkubectl logskubectl apply -fkubectl describe

验收标准(讲师核验用)

  • 任务 1:能说出集群节点数、异常 Pod 及原因猜测
  • 任务 2:describe 事件与日志能说明这个服务当前状态
  • 任务 3:三题作答正确(Deployment 管副本、Service 管入口、Ingress 管域名;CrashLoopBackOff 查日志;delete/apply 为禁止项)

提交方式

  • 结果放 docs/training/学员/<姓名>/D8/,按 D6 流程提交 PR,中文提交信息,如:D8 作业:kubectl只读排查(姓名)

参考

  • 课程.md 第 3、4、5 节
  • 学习网站.md → D8 分组

On this page