玛卡巴卡的k8s知识点问答题(四)

13. 系统默认创建了哪几个 namespace?

Kubernetes 安装后会默认创建以下命名空间(namespace):

  • default:未指定命名空间的资源默认归属于此。

  • kube-system:存放 Kubernetes 核心组件(如 kube-apiserverkube-proxykube-dns)。

  • kube-public:公开可读的资源(如集群信息),通常用于公共配置。

  • kube-node-lease:存储节点租约(Node Lease)信息,用于节点心跳检测(K8s 1.14+)。可以用kubectl get ns 获得命名空间


14. 请解释 Pod 是什么?

Pod 是 Kubernetes 的最小调度和管理单元,特点如下:

  • 容器组:包含一个或多个共享资源的容器(如网络、存储卷)。

  • 共享环境

    • 同一 Pod 内的容器共享 IP 地址和端口空间(通过 localhost 通信)。

    • 共享存储卷(Volumes),实现数据交换。

  • 原子性:Pod 被整体调度到某个节点,所有容器共存亡。

典型场景

  • 主容器 + Sidecar 容器(如日志收集器)。


15. 什么是 Pod 的根容器?

根容器(Pause 容器) 是 Pod 的基础设施容器,作用包括:

  • 共享 Linux Namespace

    • 创建共享的网络命名空间(NetNS),确保所有容器共用同一 IP 和端口。

    • 提供基础的进程间通信(IPC)和存储挂载点。

  • 资源占位符

    • 占用极少量资源(~300KB 内存),避免因其他容器崩溃导致 Pod 被误删。

备注
用户通常无需直接操作 Pause 容器,它由 Kubelet 自动管理。


16. 解释 Pod 的生命周期。

Pod 的生命周期包含以下阶段(Phase):

阶段描述
PendingPod 已被 API Server 接受,但尚未完成调度或镜像下载。
RunningPod 已绑定到节点,所有容器已创建且至少有一个在运行。
Succeeded所有容器成功退出(如批处理任务完成)。
Failed至少一个容器因错误退出(非零状态码或系统终止)。
Unknown无法获取 Pod 状态(通常因节点通信失败)。

关键过程

  1. 初始化容器(Init Containers):按顺序运行,必须全部成功退出后,主容器才会启动。

  2. 主容器(Main Containers):并行运行,通过探针(Liveness/Readiness)检测健康状态。

  3. 终止流程

    • 收到删除请求后,Pod 进入 Terminating 状态。

    • 执行 preStop 钩子(若配置)。

    • 发送 SIGTERM 信号,等待优雅终止(默认 30 秒后强制 SIGKILL)。

kubectl describe pod <pod-name>  # 查看 Pod 详细状态和事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值