You can use the --custom-columns
to find out which pods are controlled, and which kind of controller is the owner. Example:
$ kubectl get pods --all-namespaces -o custom-columns=NAME:.metadata.name,CONTROLLER:.metadata.ownerReferences[].kind,NAMESPACE:.metadata.namespace
NAME CONTROLLER NAMESPACE
nginx-858dbf7665-8t9vv ReplicaSet default
coredns-74ff55c5b-xpgnq ReplicaSet kube-system
etcd-minikube Node kube-system
ingress-nginx-admission-create-n6j7k Job kube-system
ingress-nginx-admission-patch-45xvw Job kube-system
ingress-nginx-controller-65cf89dc4f-g7lwm ReplicaSet kube-system
kindnet-44pq8 DaemonSet kube-system
kindnet-nqhg9 DaemonSet kube-system
kube-apiserver-minikube Node kube-system
kube-controller-manager-minikube Node kube-system
kube-proxy-nmzbn DaemonSet kube-system
kube-proxy-wlmdz DaemonSet kube-system
kube-scheduler-minikube Node kube-system
metrics-server-58966dd6b9-schjr ReplicaSet kube-system
storage-provisioner <none> kube-system
Remember that Deployments automatically creates ReplicaSets and rely on them to manage a set of pods and its desired state/replicas. So you can just filter them:
$ kubectl get pods --all-namespaces -o json | jq -r '.items | map(select(.metadata.ownerReferences[]?.kind == "ReplicaSet" ) | .metadata.name) | .[]'
nginx-858dbf7665-8t9vv
coredns-74ff55c5b-xpgnq
ingress-nginx-controller-65cf89dc4f-g7lwm
metrics-server-58966dd6b9-schjr