我正在尝试将谷歌云作为我的默认云工具。到目前为止,它很顺利,并遵循文档。为了能够使用kubernetes环境自动化某些事情(例如创建部署 - 服务 - 入口 - ......),我正在深入研究YAML清单。
现在的问题是:我找到了有关如何创建例如的例子和文档。基于YAML清单的部署,但我找不到清单的描述/文档(即哪些属性可用以及它们具有哪些用途)。
有谁知道在哪里找到这些?
您可以直接从kubectl
工具获得清单选项的简要说明:
$ kubectl explain --help
列出支持的资源的字段
此命令描述与每个受支持的API资源关联的字段。字段通过简单的JSONPath标识符标识:
<type>.<fieldName>[.<fieldName>]
添加
--recursive
标志一次显示所有字段,无需说明。以OpenAPI格式从服务器检索有关每个字段的信息。使用“
kubectl api-resources
”获取支持资源的完整列表。例子:
获取资源及其字段的文档
kubectl explain pods
获取资源特定字段的文档
kubectl explain pods.spec.containers
选项:
--api-version='': Get different explanations for particular API version --recursive=false: Print the fields of fields (Currently only 1 level deep)
用法:kubectl解释RESOURCE [options]
使用“
kubectl options
”获取全局命令行选项列表(适用于所有命令)。
以下是pods.spec.containers.image
解释的示例输出:
$ kubectl explain pods.spec.containers.image
KIND: Pod
VERSION: v1
FIELD: image <string>
DESCRIPTION:
Docker image name. More info:
https://kubernetes.io/docs/concepts/containers/images This field is
optional to allow higher level config management to default or override
container images in workload controllers like Deployments and StatefulSets.
我找到了有关如何创建例如的示例和文档。基于yaml清单的部署,但我找不到清单的描述/文档(即哪些属性可用以及它们具有哪些用途)。
Kubernetes API规范应该是您的第一个检查位置(link)。从该页面到描述k8s API的常规页面以及您在YAML清单中表达的每种API类型的列表都有向外链接。对于每个版本的API,都有一个此文档的版本,如k8s版本所定义。 (目前的文档,对于v1.11,是here。)
为清楚起见,您使用的组件Google Kubernetes Engine是容器编排平台Kubernetes(通常缩写为k8s)的托管实例。 k8s规范由k8s项目维护人员定义和维护,他们独立于Google(尽管为了表彰k8s在Google基础设施中的重要性,大量Google员工为该项目做出了贡献!)。
k8s团队发布了一个自动生成的API实体文档网站,您可以在上面发布的链接中找到它们。该项目在文档方面做得很好,但值得注意的是,虽然API规范是一本很好的参考手册,但它们的级别非常低。如果你想要更概念性的理解,我建议你与other k8s documentation一起阅读它们。