我想列出 Kubernetes 中特定命名空间中存在的所有对象。
kubectl get all -n <namespace>
上面的命令没有列出给定命名空间中的所有可用对象。有没有办法使用 kubectl 列出它们?
我可以通过将它们传递给 kubectl 来列出我想要的所有对象。但我不想要那样。
kubectl -n <namespace> get deployment,rs,sts,ds,job,cronjobs -oyaml
首先,以下规则决定资源是否属于all类别。
以下是将新资源添加到 kubectl get all 输出的规则。
没有集群范围的资源
没有命名空间管理级别资源(限制、配额、策略、
授权规则)
没有可能无法恢复的资源(秘密和 PVC)
被认为与#3“相似”的资源应分组为
相同(配置映射)
回答你的问题这摘自rcorre的回答
kubectl api-resources --verbs=list --namespaced -o name \
| xargs -n 1 kubectl get --show-kind --ignore-not-found -l <label>=<value> -n <namespace>
最后,如果您想在所有类别中添加自定义资源,您需要在 CRD 规范中提供这些字段。 自定义资源定义:类别
# categories is a list of grouped resources the custom resource belongs to.
categories:
- all
列出命名空间中的所有对象:
kubectl get all -n=<namespace>
尝试:
kubectl -n your_namespace get all