16. 解释 Pod 的生命周期。
答:Pod 遵循预定义的生命周期,起始于 Pending 阶段, 如果至少其中有一个主要容器正常启动,则
进入 Running,之后取决于 Pod 中是否有容器以失败状态结束而进入 Succeeded 或者 Failed
- Pending(挂起):Pod 已被 K8s 系统接受,但有一个或者多个容器镜像尚未创建。等待时间包
括调度 Pod 的时间和通过网络下载镜像的时间。
- ContainerCreating(容器创建中):Pod 已被调度到节点,正在创建容器环境并拉取镜像。
- Running(运行中):该 Pod 已经绑定到了一个节点上,Pod 中所有的容器都已被创建,至少有
一个容器正在运行,或者正处于启动或重启状态。
- Succeeded(成功):Pod 中的所有容器都被成功终止,并且不会再重启。
- Failed(失败):Pod 中的所有容器都已终止了,并且至少有一个容器是因为失败终止,即容器
以非 0 状态退出或者被系统终止。
- Terminating(终止中):当 Pod 被删除时进入此状态,开始优雅终止过程。
- 未知(Unknown):因为某些原因无法取得 Pod 的状态,通常是因为与 Pod 所在主机通信失败。
17. Init 类型容器有什么特点,主要用途?
答:Init 容器是一种特殊容器,在 Pod 内的应用容器启动之前运行,Init 容器需要在 Pod 规约中添加
initContainers 字段来声明。Init 容器可以包括一些应用镜像中不存在的实用工具和安装脚本。
18. Sidecar 类型容器和 Init 容器的区别在哪?
答:Sidecar 容器用来提供辅助功能以增强主容器应用,最经典的是日志跟踪,它与主容器并行运行。
Init 容器是在主容器启动前提前执行一些准备工作,运行完就处于 pause 状态。
19. 什么是静态 Pod
答:静态 Pod 在指定各自节点上由 kubelet 守护进程直接管理的 Pod,它不需要监管,但通过一个镜
Podapi-server 任然可以监控静态 Pod 的运行状态。静态 Pod 的名称连字符开头的节点主机
名作为后缀。静态 Pod 的创建和销毁方法和由 api-server 创建的 Pod 完全不同。
20. 说明 K8s 控制器的作用?
答:K8s 中,控制器就像 K8s 的大脑,控制器通过监控集群的公共状态来确保集群的当前状态与期望
状态保持一致,该期望值就是资源对象的 spec 字段。每个控制器只负责管理某种类型的特定资源。
Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐