请参考 Kubernetes 官方网站文档:Pod
Pod 是 Kubernetes 中可以创建和管理的最小可部署计算单元。一个 Pod(如鲸鱼群或豆荚)是一个或多个容器(例如 Docker 容器)的集合,共享存储和网络资源,并包含运行这些容器的规范。Pods 是所有更高级别控制器(如 Deployments、StatefulSets、DaemonSets)构建的基础单元。
虽然 Pods 通常由更高级别的控制器管理,但直接使用 kubectl 操作 Pods 对于故障排查、检查和临时任务非常有用。
列出当前命名空间下的所有 Pods:
列出所有命名空间下的所有 Pods:
获取指定 Pod 的详细信息:
流式查看 Pod 中容器的日志(有助于调试):
如果 Pod 中有多个容器,必须指定容器名称:
跟随日志输出(实时显示新日志):
在 Pod 中的指定容器内执行命令(有助于调试,如访问 shell):
将本地端口转发到 Pod 的端口,允许从本地机器直接访问 Pod 内运行的服务(适用于测试或无需外部暴露服务的直接访问):
运行该命令后,可以通过浏览器访问 localhost:8080 来访问运行在 my-nginx-pod 中的 Nginx Web 服务器。
删除指定的 Pod:
按名称删除多个 Pods:
根据标签选择器删除 Pods(例如删除所有标签为 app=nginx 的 Pods):
平台界面提供了 Pods 的多种信息,便于快速查看。
进入 Container Platform,在左侧导航栏选择 Workloads > Pods。
找到需要查看的 Pod。
点击部署名称,查看 Details、YAML、Configuration、Logs、Events、Monitoring 等信息。
以下是部分参数说明:
参数 | 说明 |
---|---|
资源请求与限制 | 资源请求 和 限制 定义了 Pod 中容器的 CPU 和内存使用边界,这些值汇总后形成 Pod 的整体资源配置。这些值对于 Kubernetes 调度器高效地将 Pods 安排到节点上以及 kubelet 执行资源管理至关重要。
m 表示毫 CPU,Mi 表示 Mebibytes)请参考 Resource Units。 Pod 级资源计算逻辑 Pod 的有效 CPU 和内存请求及限制值由其各个容器规格的求和和最大值计算得出。Pod 级请求和限制的计算方法类似,本文以限制值为例说明。当 Pod 仅包含标准容器(业务容器)时:Pod 的有效 CPU/内存限制值为所有容器 CPU/内存限制值之和。 示例:若 Pod 包含两个容器,CPU/内存限制分别为 100m/100Mi 和 50m/200Mi,则 Pod 汇总的 CPU/内存限制为 150m/300Mi。当 Pod 同时包含 initContainers 和标准容器时,Pod 的 CPU/内存限制计算步骤如下:
|
来源 | 管理该 Pod 生命周期的 Kubernetes 工作负载控制器,包括 Deployments、StatefulSets、DaemonSets、Jobs。 |
重启次数 | Pod 启动以来其内容器重启的次数。重启次数过多通常表明应用或其运行环境存在问题。 |
节点 | Pod 当前调度并运行所在的 Kubernetes 节点名称。 |
服务账户 | 服务账户是 Kubernetes 对象,为 Pod 内运行的进程和服务提供身份认证,使其能够访问 Kubernetes APIServer。该字段通常仅在当前登录用户拥有平台管理员角色或平台审计员角色时可见,允许查看服务账户的 YAML 定义。 |
删除 Pod 可能影响计算组件的运行,请谨慎操作。
快速恢复 Pod 到期望状态:当 Pod 处于影响业务的状态(如 Pending
或 CrashLoopBackOff
)时,排查错误信息后手动删除 Pod,有助于其快速恢复到期望状态(如 Running
)。此时,删除的 Pod 会在当前节点重建或重新调度。
资源清理与运维管理:部分 Pod 达到指定阶段后不再变化,这类 Pod 通常数量较多,影响其他 Pod 的管理。待清理的 Pod 可能包括因节点资源不足而处于 Evicted
状态的 Pod,或因周期性定时任务触发而处于 Completed
状态的 Pod。此类 Pod 删除后将不再存在。
注意:对于定时任务,如果需要查看每次任务执行的日志,不建议删除对应的 Completed
状态 Pod。
进入 Container Platform。
在左侧导航栏点击 Workloads > Pods。
(单个删除)点击待删除 Pod 右侧的 ⋮ 按钮 > Delete,并确认。
(批量删除)勾选待删除的 Pods,点击列表上方的 Delete,并确认。