使用 kubectl 列出给定命名空间中的所有对象

问题描述 投票:0回答:4

我想列出 Kubernetes 中特定命名空间中存在的所有对象。

kubectl get all -n <namespace>

上面的命令没有列出给定命名空间中的所有可用对象。有没有办法使用 kubectl 列出它们?

我可以通过将它们传递给 kubectl 来列出我想要的所有对象。但我不想要那样。

kubectl -n <namespace> get deployment,rs,sts,ds,job,cronjobs -oyaml
kubernetes kubectl
4个回答
4
投票

首先,以下规则决定资源是否属于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


0
投票

也许你可以试试这个:

kubectl get `kubectl api-resources -o name | tr '\n' ',' | sed 's/.$//'`

来源:Github


0
投票

列出命名空间中的所有对象:

kubectl get all -n=<namespace>

-1
投票

尝试:

kubectl -n your_namespace get all
© www.soinside.com 2019 - 2024. All rights reserved.