Kubernetes(k8s)中命令行查看Pod所属控制器之方法总结

在Kubernetes中,可以通过以下方法查看Pod所属的控制器:

方法1:使用 kubectl describe pod命令

复制代码
kubectl describe pod <pod name>

Events:
  Type    Reason     Age   From               Message
  ----    ------     ----  ----               -------
  Normal  Scheduled  10m   default-scheduler  Successfully assigned default/nginx-pod to node-1
  Normal  Pulling    9m59s  kubelet            Pulling image "nginx:1.17.1"
  ...
  # 控制器信息可能显示在此处

方法2:通过Pod的元数据(YAML格式)

复制代码
kubectl get pod <pod name> -o yaml

在输出中查找 ownerReferences部分,会明确标注控制器类型和名称:

复制代码
metadata:
  ownerReferences:
  - apiVersion: apps/v1
    kind: Deployment   # 控制器类型
    name: Web-deploy # 控制器名称
    uid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    controller: true
    blockOwnerDeletion: true

方法3:通过标签匹配

Pod的标签(Labels)会与控制器的标签选择器(Selector)匹配。例如:

1)查看Pod的标签:

复制代码
kubectl get pod <pod名称> --show-labels

2)根据标签查找对应的控制器(以Deployment为例)

复制代码
kubectl get deployments.apps -l <pod的标签键>=<标签值>

方法4:使用 kubectl api-resources 和 kubectl get 组合查询

如果你不确定 Pod 是由哪种类型的控制器管理的,可以先列出所有支持的资源类型:

复制代码
kubectl api-resources --namespaced=true  

然后,你可以根据输出的资源类型(如 Deployment, StatefulSet 等),使用以下命令来查找管理特定 Pod 的控制器:

复制代码
kubectl get deployments --all-namespaces -o wide | grep <pod-name>

或者对于其他类型的控制器,如 StatefulSet:

复制代码
kubectl get statefulsets --all-namespaces -o wide | grep <pod-name>

补充说明:

  • Deployment管理的Pod​ ​:会显示 Deployment类型,并通过 ReplicaSet间接管理

  • StatefulSet管理的Pod​ ​:名称通常包含序号(如 web-0),且通过Headless Service关联

  • ​​DaemonSet管理的Pod​ ​:每个节点运行一个Pod,可通过 kubectl get daemonset验

  • 如果Pod无控制器(如自主式Pod),则 ownerReferences字段为空。

相关推荐
fengkai45454 小时前
3、Kubernetes的Namespace&Contexts&Pod&YAML格式
运维·容器·kubernetes·k8s·namespace·yaml·pod
SatanII6 小时前
K8s 存储与配置管理|Volume、ConfigMap、Secret 核心笔记
笔记·rpc·kubernetes
小马同学-7 小时前
K8s 命名空间与上下文:Namespace 资源隔离与多集群切换实战
云原生·容器·kubernetes
川石课堂软件测试8 小时前
涨薪技术|0到1学会性能测试第9课-HTTP响应统计
数据库·功能测试·网络协议·http·kubernetes·单元测试·测试用例
探索云原生8 小时前
Ascend vNPU 实战:从原生 Docker 到 Ascend Docker Runtime
linux·ai·云原生·kubernetes·gpu
许知珩9 小时前
Kubernetes 存储与配置管理 ——Volume、ConfigMap 与 Secret 实战详解
云原生·容器·kubernetes
meijinmeng12 小时前
Karpenter + Keda 让Kuberntes实现动态扩缩容机制方案指南
k8s
你看我名字12 小时前
LAMP 架构演练:从云主机准备到 Apache、PHP、MySQL 上线验证
运维·ci/cd·架构·kubernetes·jenkins
丨晨 丨13 小时前
K8s存储卷与配置管理实战
云原生·容器·kubernetes
暖核13 小时前
K8s 存储与配置:Volume PV‑PVC ConfigMap Secret 实战解析
云原生·容器·kubernetes