如何描述kubernetes资源

时间:2019-10-21 17:49:31

标签: kubernetes kubectl

我正在尝试获取给定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:
    ...

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用kubectl explain CLI命令:

  

此命令描述与每个受支持的API关联的字段   资源。通过简单的JSONPath标识符来标识字段:

     

<type>.<fieldName>[.<fieldName>]

     

添加--recursive标志以一次显示所有字段而无需描述。从服务器以OpenAPI格式检索有关每个字段的信息。

查看所有与 Deployment 相关的字段的示例:

kubectl explain deployment --recursive

您可以深入研究特定字段:

kubectl explain deployment.spec.template

您还可以依靠Kubernetes API Reference Docs

答案 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