Kubernetes crd.yaml和crd-status-subresource.yaml之间有什么区别?
我是新的自定义控制器,并试图了解这一点。我已经开始引用示例控制器,但无法找到示例文件之间的差异或正确理解 除了crd-status-subresource.yaml中的以下部分之外,这两个文件看起来与我相似Kubernetes crd.yaml和crd-status-subresource.yaml之间有什么区别?,kubernetes,kubernetes-custom-resources,Kubernetes,Kubernetes Custom Resources,我是新的自定义控制器,并试图了解这一点。我已经开始引用示例控制器,但无法找到示例文件之间的差异或正确理解 除了crd-status-subresource.yaml中的以下部分之外,这两个文件看起来与我相似 subresources: status: {} 有人能帮忙或提出建议吗 同样,这里是Kubernetes控制器的一个快速总结: 它监视特定状态(通常是可以使用CustomResourceDefinitions(CRD)定义的CustomResources(CRs)),并根据您在代
subresources:
status: {}
有人能帮忙或提出建议吗 同样,这里是Kubernetes控制器的一个快速总结: 它监视特定状态(通常是可以使用CustomResourceDefinitions(CRD)定义的CustomResources(CRs)),并根据您在代码中定义的规则执行操作 我已经开始引用示例控制器,但无法找到示例文件之间的差异或正确理解 您所指的文件与您已经指出的文件没有任何区别,因此确实没有什么可查找的了 如果详细查看本地Kubernetes对象,例如Pod(
kubectl get Pod-o yaml
),您将看到它有一个.status
字段,该字段仅存储附加信息。通过启用status
子资源,您告诉Kubernetes创建一个CR,然后您可以继续并通过访问一个新的REST API路径来编辑额外的.status
字段:/API///namespace/*//status
。如果你不需要它,那么就不要定义它,就这样
至于为什么要添加状态
子资源,这取决于CR的使用情况。有时,您只是希望有一个更详细的字段来存储信息,以便用户查看,有时,您告诉控制器从那里获取数据,因为它代表对象的当前状态。只要看一看Pods.status
字段,就会看到一些很好的附加数据,比如Pod是否准备就绪、容器的信息等等
话虽如此,
状态
并不是唯一的子资源。您可能还希望查看比例
子资源(取决于用例)。有关子资源的更多信息,您可以参考:Kubernetes文档是否足够作为起点?@DavidMaze Hi,感谢您参考此文档,但根据文档,似乎在crd-status-subresources.yaml中启用了子资源状态,但在crd.yaml中未启用。还有其他区别吗?