我正在尝试获取给定kubernetes资源的元数据。类似于describe
的REST端点。
是否有kubectl
可以获取我可以为任何k8s资源提供的所有可能的东西?
例如,对于部署资源,可能是这样的。
apiVersion: apps/v1
kind: Deployment
metadata:
name: <type:String>
<desc: name for the deployment>
namespace: <type:String>
<desc: Valid namespace>
annotations:
...
谢谢!
答案 0 :(得分:1)
您可以使用kubectl explain
CLI命令:
此命令描述与每个受支持的API关联的字段 资源。通过简单的JSONPath标识符来标识字段:
<type>.<fieldName>[.<fieldName>]
添加
--recursive
标志以一次显示所有字段而无需描述。从服务器以OpenAPI格式检索有关每个字段的信息。
查看所有与 Deployment 相关的字段的示例:
kubectl explain deployment --recursive
您可以深入研究特定字段:
kubectl explain deployment.spec.template
答案 1 :(得分:0)
您是否熟悉OpenApi / Swagger?尝试在swagger-ui https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json
中打开以下文件如果您有可用的实时kubernetes api,则该文件应该在/ openapi / v2下可用,如此处所述:https://kubernetes.io/docs/concepts/overview/kubernetes-api/#openapi-and-swagger-definitions