2.5. Operator 如何决定用于部署镜像的配置
在 ActiveMQArtemis
CR 中,您可以使用以下任一配置来部署容器镜像:
-
指定
spec.version
属性中的版本号,并允许 Operator 选择该版本号部署的代理和 init 容器镜像。 -
指定您希望 Operator 在
spec.deploymentPlan.image
和spec.deploymentPlan.initImage
属性中部署的特定代理和 init 容器镜像的 registry URL。 -
将
spec.deploymentPlan.image
属性的值设置为占位符
,这意味着 Operator 会选择 Operator 版本已知的最新的代理和 init 容器镜像。
如果不使用这些配置来部署容器镜像,Operator 会选择 Operator 版本已知的最新的代理和 init 容器镜像。
保存 CR 后,Operator 会执行以下验证来确定要使用的配置。
Operator 检查 CR 是否包含
spec.version
属性。如果 CR 不包含
spec.version
属性,Operator 会检查 CR 是否包含spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性。-
如果 CR 包含
spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性,Operator 将部署由 registry URL 标识的容器镜像。 -
如果 CR 不包含
spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性,Operator 会选择要部署的容器镜像。如需更多信息,请参阅 第 2.6 节 “Operator 如何选择容器镜像”。
-
如果 CR 包含
如果 CR 包含
spec.version
属性,Operator 会验证指定的版本号是否在 Operator 支持的有效版本范围内。-
如果
spec.version
属性的值无效,Operator 会停止部署。 如果
spec.version
属性的值有效,Operator 会检查 CR 是否包含spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性。-
如果 CR 包含
spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性,Operator 将部署由 registry URL 标识的容器镜像。 -
如果 CR 不包含
spec.deploymentPlan.image
和spec.deployment.Plan.initImage
属性,Operator 会选择要部署的容器镜像。如需更多信息,请参阅 第 2.6 节 “Operator 如何选择容器镜像”。
-
如果 CR 包含
-
如果
如果 CR 只包含 spec.deploymentPlan.image
和 spec.deployment.Plan.initImage
属性中的一个,Operator 会使用 spec.version
number 属性为不在 CR 中的属性选择镜像,如果 spec.version
属性不在 CR 中,或者选择该属性的最新已知镜像。
红帽建议不要指定没有 spec.deployment.Plan.initImage
属性的 spec.deploymentPlan.image
属性,或者反之亦然,以防止部署不匹配的代理和 init 容器镜像版本。