提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- Pod 基础定义:K8s 最小部署单元,代表集群中一个运行进程,可包含一个/多个紧密耦合容器,共享网络、存储资源。
- Pod 使用方式 :
- 单容器 Pod:最常见,Pod 封装单个容器,K8s 直接管理 Pod;
- 多容器 Pod:容器共享网络/存储,通过 localhost 通信,适用于紧密耦合场景(如主应用+边车容器)。
- Pause 容器(基础容器):每个 Pod 内置的基础设施容器,提供 Linux 命名空间基础,管理 Pod 网络/存储,对用户透明。
- Pod 共享资源 :
- 网络:Pod 分配唯一 IP,内部容器共享 IP/端口,对外需宿主机端口映射;
- 存储:Pod 可定义共享 Volume,所有容器可访问,支持数据持久化。
- Pod 使用场景:单一进程应用(单容器)、多进程协作(多容器共享资源)。
- Pod 类型 :
- 自主式 Pod:无自我修复能力,节点故障则被删除;
- 控制器管理 Pod:由 Deployment/StatefulSet 等管理,支持副本管理、自动修复。
- Pod 容器分类 :
- 基础容器:维护 Pod 网络/存储,K8s 自动创建;
- 初始化容器(InitContainer):应用容器启动前运行,需顺序执行且全部成功,用于前置条件准备;
- 应用容器(MainContainer):核心业务容器,初始化完成后并行启动。
- 镜像拉取策略 :
- IfNotPresent(默认):本地有镜像则不拉取,缺失时拉取;
- Always:每次启动 Pod 均拉取镜像;
- Never:仅使用本地镜像,不拉取。
- 重启策略(restartPolicy) :
- Always:容器无论退出码,均重启;
- OnFailure:仅容器非正常退出(非 0 码)时重启;
- Never:容器退出后不重启。
- 资源请求与限制 :
- requests:容器启动所需最小资源(CPU/内存),调度器依据此选择节点;
- limits:容器可使用的最大资源,超限时会被限制;
- 单位:CPU 用毫核(m),内存用 Mi/Gi(二进制单位)。