测验:容器编排与工作负载
Pod 中的容器共享的正确组合是什么?
- 文件系统根目录和进程列表
- CPU cgroup 限制和容器映像
- 网络命名空间(IP/端口空间)和指定卷
- 所有 Linux 命名空间无一例外
当一个运行一次结束的数据迁移任务作为Deployment进行分发时会发生什么?
- 每次容器终止时,它都会重新启动,并重复执行相同的任务,看起来像 CrashLoopBackOff。
- 任务完成一次,Deployment自动进入Completed状态。
- apiserver 验证工作负载类型并拒绝创建。
- 调度程序自动将其转换为作业。
为什么DaemonSet中没有replicas字段?
- 因为 DaemonSet 总是只创建一个 pod。
- 这是因为DaemonSet不使用调度器并且没有数量的概念。
- 因为副本只存在于状态中,而不存在于规格中。
- 这是因为目标节点的数量是 Pod 的数量,而不是由人决定的数量。
为什么部署 Deployment 后会留下多个 ReplicaSet?
- 这是因为您需要保留先前版本的 ReplicaSet,以便可以将其恢复为 rollout undo。
- 由于垃圾收集错误,它没有被清理。
- 这是因为每个节点都会创建一个ReplicaSet。
- 因为每个ReplicaSet负责不同的命名空间。
livenessProbe 和 readinessProbe 有什么区别?
- 仅在启动时评估活性,仅在终止时评估就绪性。
- 活跃度由节点评估,就绪性由调度程序评估。
- 活动失败会重新启动容器,而就绪失败会将其从服务端点中排除。
- 两人名字不同,但动作却是一样的。
当您删除 Deployment 中的 pod 时,实际上会发生什么?
- 同名的Pod恢复到同一个节点
- ReplicaSet 控制器检测到计数差异并使用新名称创建一个新 Pod。
- 整个部署重新启动部署。
- kubelet 从本地缓存恢复 Pod