kubernetes - 使用 kubectl 列出给定命名空间中的所有对象
问题描述
我想列出 Kubernetes 中特定命名空间中存在的所有对象。
kubectl get all -n <namespace>
上面的命令没有列出给定命名空间中的所有可用对象。有没有办法使用 kubectl 列出它们?
我可以通过将它们传递给 kubectl 来列出我想要的所有对象。但我不想要那个。
kubectl -n <namespace> get deployment,rs,sts,ds,job,cronjobs -oyaml
解决方案
首先,以下这些规则决定资源是否将成为所有类别的一部分。
以下是将新资源添加到 kubectl 获取所有输出的规则。
没有集群范围的资源
没有命名空间管理员级别的资源(限制、配额、策略、
授权规则)没有可能无法恢复的资源(机密和 pvc)
被认为与#3“相似”的资源应该被归为
相同的组(configmaps)
回答你的问题这取自rcorre's Answer
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
推荐阅读
- java - Vert.x 项目如何构建一个包含所有其他 Verticle 的 jar
- html - HTML ul li,删除点和文本之间的空格,没有填充、边距或文本缩进属性
- r - 如何在对数图中添加趋势线(ggplot2)?
- c++ - C++ 试图将命令行转换为 int。使用 atof() 或 atoi() 时出现分段错误
- python - 根据值从现有字典生成所有可能的字典
- android - APK 携带旧数据
- google-apps-script - 在脚本中的文本之后插入图像
- r - 使用 purrr::flatten_dfr 将数据帧列表展平为一个数据帧
- ios - UIScrollView 框架通过更改模拟器设备来更改
- python - 在同一个包python中导入文件