k8s查看pod的命令

本文详细介绍了Kubernetes中Pod与Job资源的管理方法,包括kubectl命令的使用,如获取Pod与Job信息、查看详细资源状态等。同时,解析了Pod与Job的区别,以及如何通过标签管理节点。

kubectl get pod

参数解析

NAME pod名

READY 准备好的副本数

STATUS 状态

RESTARTS 重启

AGE 已经运行的时间

查看pod资源(较详细)

kubectl get pod -o wide

参数解析

IP ip地址

NODE 运行节点

NOMINATED NODE 指定节点

查看pod资源(非常详细)

kubectl describe pod

参数解析

Name pod 名

Namespace 命名空间

Priority 优先

PriorityClassName 优先级名

Node 节点

Start Time 启动时间

Selector 调度规则

Labels 标签

Annotations 注释

Status 状态

IP ip地址

Controller By 指明是由replicaset创建

Containers 容器信息

Conditions 条件

Volumes 数据卷信息

Qos Class

Node Selectors 节点选择

Tolerations 反亲和性

Events: Deployment的执行日志

kubectl 命令详解 label

例如添加磁盘类型label

kubectl label node compute1 disktype=xfs

查看节点的label

kubectl get node --show-labels

删除添加的label

kubectl label node compute1 disjtype-

kubectl 命令详解 - Job

工作类容器 Job

服务类容器 Deployment,RelicaSet,DaemonSet

区别

工作类容器 一次性任务,完成之后便退出

服务类容器 持续提供服务,一直运行

查看job资源(简略)

kubectl get job

NAME job名

COMPLETIONS 已完成

DURATION 总共持续的时间

AGE job运行的时间

查看job资源(较详细)

kubectl get job -o wide

CONTAINERS 容器名

IMAGES 镜像名

SELECTOR 选择的controller-uid

查看job资源(非常详细)

kubectl describe job

Name job 名

Namespace 命名空间

Selector 调度

Labels 标签

Annotations 注释

Completions 设置完成Pod的总数

Parallelism 并行的Pod数量

Start Time 启动时间

Complated At 完成时间

Duration 耗时

Pods Statuses Pod运行状态

Pods Templates Pod模板

Events: Deployment的执行日志

<think> 我们正在讨论Kubernetes (k8s)中的Pod管理。用户询问的是“查看k8s休眠pod命令”。在Kubernetes中,并没有一个直接称为“休眠”的状态。但是,我们可以理解为用户可能想查看处于非运行状态的Pod,比如已经停止的Pod、完成任务的Pod(如Job/CronJob产生的Pod)或者由于某些原因(如资源不足、节点问题等)而无法调度的Pod。 根据Kubernetes的常见状态,Pod可能处于以下几种非运行状态: - Pending:Pod已被Kubernetes系统接受,但有一个或者多个容器尚未创建。等待时间包括调度Pod的时间和通过网络下载镜像的时间。 - Succeeded:Pod中的所有容器都已成功终止,并且不会再重启。 - Failed:Pod中的所有容器都已终止,并且至少有一个容器是因为失败终止。也就是说,容器以非0状态退出或者被系统终止。 - Unknown:由于某些原因无法取得Pod的状态,通常是因为与Pod所在主机通信失败。 另外,用户可能还关注由于节点资源不足而无法调度的Pod(通常处于Pending状态),或者被驱逐(Evicted)的Pod(状态为Evicted)。 因此,我们可以通过以下命令查看这些非运行状态的Pod: 1. 查看所有命名空间下非运行状态的Pod(包括Pending、Succeeded、Failed等): ```bash kubectl get pods --all-namespaces --field-selector=status.phase!=Running ``` 2. 如果只想查看某个命名空间(例如default命名空间)的: ```bash kubectl get pods --field-selector=status.phase!=Running ``` 3. 特别地,如果用户想查看被驱逐(Evicted)的Pod(这些Pod的状态通常是Failed,且原因显示为Evicted): ```bash kubectl get pods --all-namespaces -o wide | grep Evicted ``` 或者使用更精确的JSONPath过滤(但可能比较复杂,通常用grep即可) 4. 另外,对于已经完成的任务(Job/CronJob)的Pod,它们的状态是Completed(实际上是Succeeded状态)。我们可以查看状态为Succeeded的Pod: ```bash kubectl get pods --field-selector=status.phase=Succeeded ``` 注意:Kubernetes中没有“休眠”这个状态,所以以上命令都是基于常见的非运行状态。 同时,用户可能还关心Pod无法运行的原因,这时可以查看Pod的描述信息: ```bash kubectl describe pod <pod-name> -n <namespace> ``` 在描述信息中,可以查看Events部分,了解Pod当前的状态和事件,例如是否因为资源不足、节点亲和性问题等。 根据引用[4]的内容,Pod无法调度可能是由于资源不足、亲和性规则等,我们可以查看Pending状态的Pod并进一步诊断。 因此,针对用户的问题,我们给出查看非运行状态Pod(即用户可能认为的“休眠”Pod)的命令。 最后,我们生成相关问题。 </think> 在 Kubernetes 中,没有直接的"休眠"状态概念,但您可能想查看处于非运行状态的 Pod(如 Pending、Failed、Completed 等)。以下是相关命令: ### 查看所有非运行状态的 Pod ```bash kubectl get pods --all-namespaces --field-selector=status.phase!=Running ``` ### 按状态筛选特定 Pod 1. **查看 Pending 状态的 Pod**(等待调度): ```bash kubectl get pods --field-selector=status.phase=Pending ``` 2. **查看 Failed 状态的 Pod**(运行失败): ```bash kubectl get pods --field-selector=status.phase=Failed ``` 3. **查看 Completed 状态的 Pod**(任务结束): ```bash kubectl get pods --field-selector=status.phase=Succeeded ``` ### 查看被驱逐的 Pod(Evicted) ```bash kubectl get pods -A | grep Evicted ``` ### 查看详细信息 使用 `describe` 命令查看具体原因: ```bash kubectl describe pod <pod-name> -n <namespace> ``` 在输出中查看 `Events` 部分,会显示状态变更原因(如资源不足、健康检查失败等)[^4][^3]。 --- ### 示例输出解释 ```bash NAME READY STATUS RESTARTS AGE job-pod-1 0/1 Completed 0 2d web-pod-2 0/1 Pending 0 1h db-pod-3 0/1 Evicted 0 30m ``` - **Completed**:任务型 Pod 正常结束 - **Pending**:等待调度(可能资源不足) - **Evicted**:节点资源不足被驱逐[^4] --- ### 关键概念说明 1. **Pod 生命周期状态**: - `Pending`:已创建但未调度到节点 - `Running`:正在运行 - `Succeeded`:任务完成 - `Failed`:容器异常退出 - `Unknown`:状态未知[^2] 2. **Pod 保持机制**: 即使业务容器停止,只要 pause 容器运行,Pod 仍被视为存在[^1]。 > ⚠️ 注意:Kubernetes 没有"休眠"状态,上述状态覆盖了所有非运行情况。使用字段选择器(`--field-selector`)是最精确的查询方式。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值