测验:可观测性与维护
当readinessProbe连续失败时,Kubernetes会做什么?
- 从服务端点中删除 Pod,但保持容器完好无损
- 删除 pod 并让 ReplicaSet 创建一个新的 pod
- 将 pod 重新调度到不同的节点
- 重启容器
活动/就绪探针何时开始在附加了startupProbe的容器中运行?
- StartupProbe 在第一次成功后运行。
- 与startupProbe 同时启动,但失败会被忽略。
- 如果存在startupProbe,则活动状态将被永久禁用。
initialDelaySeconds之后,与startupProbe无关地运行。
如何在具有 CrashLoopBackOff 的 pod 中查看容器重启前留下的日志?
kubectl describe pod PODkubectl logs POD --previouskubectl logs POD --since=1hkubectl logs POD --tail=-1
在具有三个容器的 Pod 中,如何仅查看worker容器中最近 10 分钟的日志?
kubectl logs POD worker --since=10mkubectl logs POD --container=worker --tail=10mkubectl logs -l app=worker --since-time=10mkubectl logs POD -c worker --since=10m
您应该检查使用 shellless distroless 映像创建的 pod。什么是最合适的方式?
- 使用
kubectl attach POD连接到标准输入/输出 - 使用
kubectl debug -it POD --image=busybox --target=CONTAINER连接临时容器 - 使用
kubectl cp将 shell 二进制文件复制到容器中,然后执行它。 - 与
kubectl exec -it POD -- sh连接
terminationMessagePolicy: FallbackToLogsOnError有什么作用?
- 忽略关闭消息并始终留下日志
- 始终使用整个容器日志作为退出消息。
- 当关闭消息文件为空并且容器异常终止时,日志的最后部分将填充终止消息。
- 当发生错误时,日志将发送到外部存储。
带有minAvailable: 2的 PDB 被放置在副本 3 部署上。正确的解释是什么?
- 即使一个节点突然死亡,也始终保证有两个节点保持活动状态。
- 一次仅会因节点耗尽等自愿中断而被逐出,并且不会阻止节点故障等非自愿中断。
- 防止 HPA 将副本数减少到 2 以下
- 在滚动更新中将 maxUnavailable 强制设置为 1