第 9 章 升级基于模板的代理部署
以下流程演示了如何为基于应用程序模板的部署升级代理容器镜像。
要升级 OpenShift Container Platform 3.11 上的现有 AMQ Broker 部署以便在 OpenShift Container Platform 4.5 或更高版本中运行,您必须首先升级 OpenShift Container Platform 安装,然后执行与现有部署匹配的 AMQ Broker。要执行一个干净的 AMQ Broker 安装,请使用以下方法之一:
该流程演示了如何在 次版本 间手动升级您的镜像规格(例如,从
7.x
升级到7.y
)。如果您在镜像规格中使用浮动标签,您的部署 会自动 拉取和使用新的 微 镜像版本(即7.y
-zimagePullPolicy
属性被设置为Always
。例如,假设部署的
image
属性指定了 floating 标签7.8
。如果部署当前使用次版本7.8-5
,且一个新的次版本7.8-6
包括在 registry 中,则您的部署会自动拉取并使用新的次版本。要使用新镜像,部署中的每个代理 Pod 会被重启。如果您的部署中有多个代理,则代理 Pod 会一次重启一个代理。
9.1. 升级非持久性代理部署
此流程演示了如何升级非持久性代理部署。OpenShift Container Platform 服务目录中的非持久性代理模板具有类似以下的标签:
- Red Hat AMQ Broker 7.x(Ephemeral,没有 SSL)
- Red Hat AMQ Broker 7.x(使用 SSL 临时)
- Red Hat AMQ Broker 7.x(Custom Config、Ephemeral 和 no SSL)
先决条件
- 从 AMQ Broker 7.3 开始,您可以使用新版本的红帽生态系统目录访问容器镜像。此新版本的注册表要求您成为经过身份验证的用户,然后才能访问镜像并将它们提取到 OpenShift 项目中。在执行本节中的步骤前,您必须首先完成 Red Hat Container Registry 身份验证 中描述的步骤。
步骤
- 导航到 OpenShift Container Platform Web 控制台并登录。
- 点您要升级非持久性代理部署的项目。
选择与代理部署对应的 DeploymentConfig(DC)。
-
在 OpenShift Container Platform 4.5 或更高版本中,点击
DeploymentConfig。 -
在 OpenShift Container Platform 3.11 中,点
。在您的代理部署中,点 Configuration 选项卡。
-
在 OpenShift Container Platform 4.5 或更高版本中,点击
在 Actions 菜单中,点 Edit DeploymentConfig (OpenShift Container Platform 4.5 或更高版本)或 Edit YAML (OpenShift Container Platform 3.11)。
DeploymentConfig 的 YAML 标签会打开,在可编辑模式下带有
.yaml
文件。-
编辑
image
属性,以指定最新的 AMQ Broker 7.8 容器镜像registry.redhat.io/amq7/amq-broker:7.8
。 添加
imagePullSecrets
属性,以指定与 Red Hat Container Registry 中用于身份验证的帐户关联的镜像 pull secret。基于前两个步骤的更改在以下示例中显示:
... spec: containers: image: 'registry.redhat.io/amq7/amq-broker:7.8' .. imagePullSecrets: - name: {PULL-SECRET-NAME}
注意在 AMQ Broker 中,容器镜像标签会在
1
中增加添加到红帽镜像 registry 的每个新版本的容器镜像,如 7.8-1、7.8-2 等。如果您指定了没有最终数字的标签名称(例如7.8
),该标签被称为 浮动标签。当您指定浮动标签时,OpenShift Container Platform 会自动识别最新可用镜像(即带有最高最终数字的镜像标签),并使用此镜像来升级代理部署。点击 Save。
如果红帽提供了比当前安装的代理镜像更新的代理镜像,OpenShift Container Platform 会升级您的代理部署。要做到这一点,OpenShift Container Platform 会停止现有代理 Pod,然后启动使用新镜像的新 Pod。