在 OKD v3.11 中,如何确定节点上运行的 pod 是否受复制控制器的控制。是否有 oc 命令或控制台功能可以快速找到信息?谢谢,
答案1
您可以依靠ownerReferences
API 对象来找到它:
$ kubectl 解释 pod.metadata.ownerReferences
种类: Pod
版本:v1
资源:ownerReferences <[]Object>
描述:此对象所依赖的对象列表。如果列表中的所有对象都已删除,则此对象将被垃圾回收。如果此对象由控制器管理,则此列表中的条目将指向此控制器,并将控制器字段设置为 true。管理控制器不能超过一个。
裸 Pod(即没有控制器 / 所有者的 Pod)将不包含该ownerReferences
字段,因此您可以使用它--custom-columns
来找出哪些 Pod 受到控制或不受控制:
$ kubectl get pods --all-namespaces -o custom-columns=NAME:.metadata.name,CONTROLLER:.metadata.ownerReferences[].kind,NAMESPACE:.metadata.namespace
NAME CONTROLLER NAMESPACE
nginx-85ff79dd56-tvpts ReplicaSet default
static-pod1 <none> default
static-pod2 <none> default
coredns-5644d7b6d9-6hg82 ReplicaSet kube-system
coredns-5644d7b6d9-wtph7 ReplicaSet kube-system
etcd-minikube <none> kube-system
kube-addon-manager-minikube <none> kube-system
kube-apiserver-minikube <none> kube-system
kube-controller-manager-minikube <none> kube-system
kube-proxy-fff5c DaemonSet kube-system
kube-scheduler-minikube <none> kube-system
storage-provisioner <none> kube-system
tiller-deploy-55c9c4b4df-hgzwm ReplicaSet kube-system