是否可以在OpenShift Service中同时包含alpha和beta注释?

问题描述

在运行OpenShift的Kubernetes Service中,我有这样的注释:

  annotations:
    service.beta.openshift.io/serving-cert-secret-name: "..."
@H_404_7@

在OpenShift 4.x上可以正常工作。

但是我还想支持OpenShift 3.11,它需要类似的注释(请注意 alpha ):

service.alpha.openshift.io/serving-cert-secret-name: "..."
@H_404_7@

我可以只在我的yaml文件中包含两者注释以支持两个版本吗?换句话说,OpenShift 4.x将忽略alpha注释;并且OpenShift 3.11是否会忽略beta批注?

解决方法

这是Kubernetes生态系统中alpha / beta注释迁移的一种常见模式,控制器将仅在寻找其特定注释,而任何控制器无法识别的注释将被忽略。

如果编写的控制器是向后兼容的,则它们通常将寻找新的beta注释,并且仅在不遵循alpha注释的情况下进行。