【Kubernetes】字段与字段选择器

环境

  1. kubernetes 1.20.2
  2. Spring Boot 2.5.0-M1

目标

之前介绍了 Pod 有哪些字段,现在根据这些字段来选择不同的 Pod。

字段选择器

现在集群里 Pod 的状态如下,如果看过之前容器的重启策略,这些 Pod 的状态应该都是见过的。

[root@master pod]# kubectl get pod -o wide
NAME            READY   STATUS      RESTARTS   AGE     IP            NODE    NOMINATED NODE   READINESS GATES
pod-completed   0/1     Completed   0          95s     10.244.2.33   node2   <none>           <none>
pod-demo        1/1     Running     0          68m     10.244.1.63   node1   <none>           <none>
pod-demo1       1/1     Running     0          53m     10.244.1.64   node1   <none>           <none>
pod-error       0/1     Error       0          2m32s   10.244.1.65   node1   <none>           <none>

名称选择

名称是 metadata 大类下的一个字段,如果看过 Pod 的组成字段,应该好理解。
kubectl get pod --field-selector metadata.name=pod-demo

[root@master pod]# kubectl get pod --field-selector metadata.name=pod-demo
NAME       READY   STATUS    RESTARTS   AGE
pod-demo   1/1     Running   0          71m

状态选择

kubectl get pod --field-selector status.phase=Failed

[root@master pod]# kubectl get pod --field-selector status.phase=Failed
NAME        READY   STATUS   RESTARTS   AGE
pod-error   0/1     Error    0          21m

kubectl get pod --field-selector status.phase="Succeeded"

[root@master pod]# kubectl get pod --field-selector status.phase="Succeeded"
NAME            READY   STATUS      RESTARTS   AGE
pod-completed   0/1     Completed   0          23m

支持的操作符

等于

其中 = 和 == 都表示等于:

[root@master pod]# kubectl get pod --field-selector status.phase==Running
NAME        READY   STATUS    RESTARTS   AGE
pod-demo    1/1     Running   0          92m
pod-demo1   1/1     Running   0          77m

不等于

[root@master pod]# kubectl get pod --field-selector status.phase!=Running
NAME            READY   STATUS      RESTARTS   AGE
pod-completed   0/1     Completed   0          26m
pod-error       0/1     Error       0          27m
[root@master pod]#

组合选择

[root@master pod]# kubectl get pod  --field-selector=status.phase!=Running,metadata.name=pod-error
NAME        READY   STATUS   RESTARTS   AGE
pod-error   0/1     Error    0          32m

总结

介绍了字段选择器,并使用选择器选择我们需要的 Pod 并展示。

附录

posted @   jiangbo4444  阅读(285)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示