k8s知识点总结3
11. kubelet 与 kube-proxy 职责
- kubelet:作为节点级守护进程,持续与 API Server 建立长连接,周期性汇报节点状态并接收 PodSpec 变更;基于 CRI 接口驱动容器运行时,完成镜像拉取、容器创建/启停、健康探针、资源监控、卷挂载等生命周期管理。
- kube-proxy:作为节点级网络代理,通过 List-Watch 机制监听 Service 与 Endpoints 对象变化,依据 Service 类型(ClusterIP、NodePort、LoadBalancer 等)动态维护本机的 iptables 或 IPVS 规则,实现四层负载均衡、会话保持及服务发现。
12. Kubernetes Namespace
Namespace 是 Kubernetes 在集群维度提供的逻辑隔离机制。它通过将一组对象资源(如 Deployment、Service、Secret 等)划分到独立作用域,实现多租户、多环境或多团队的资源隔离与配额控制。需注意:节点、PV、StorageClass 等集群级资源不受 Namespace 作用域限制。
13. 系统预置 Namespace
- default:用户未显式指定 Namespace 时的默认归属。
- kube-system:存放系统组件(如 kube-proxy、coredns、metrics-server)。
- kube-public:对所有用户(含未认证用户)只读开放,常用于集群引导信息。
- kube-node-lease:存放与节点一一对应的 Lease 对象,供 kubelet 定期更新心跳,提升节点可用性检测效率。
14. Pod 概念
Pod 是 Kubernetes 调度和管理的最小原子单元,由一个或多个紧密耦合的容器组成,这些容器共享同一网络命名空间(IP 和端口空间)、IPC、UTS 及存储卷。Pod 通过声明式 YAML 描述其期望状态,控制器负责在节点上实现并保持该状态。
15. Pod 根容器(Pause 容器)
每个 Pod 在创建时首先启动一个 Pause(infra)容器,该容器镜像极小,仅包含一个永不退出的进程,用于:
1. 占用并持久化 Pod 的 Linux Namespace,为业务容器提供统一的网络、IPC 等上下文;
2. 充当 PID Namespace 的 init 进程(PID 1),负责回收孤儿进程,防止僵尸进程堆积;
3. 作为 cgroup 根节点,便于统一资源限制与统计。