第 8 章 基于模板的代理部署示例
先决条件
- 这些过程假设了与 OpenShift Container Platform 入门 中创建的类似 OpenShift Container Platform 实例。
- 在 AMQ Broker 应用程序模板中,AMQ_USER、AMQ_PASSWORD、AMQ_CLUSTER_USER、AMQ_CLUSTER_PASSWORD、AMQ_TRUSTSTORE_PASSWORD 和 AMQ_KEYSTORE_PASSWORD 环境变量存储在 secret 中。要在以下任何教程中部署模板时,了解更多有关使用和修改这些环境变量的信息,请参阅关于敏感凭证。
以下流程描述了如何使用应用程序模板创建各种代理部署。
8.1. 使用 SSL 部署基本代理
部署具有临时并支持 SSL 的基本代理。
8.1.1. 部署镜像和模板
先决条件
- 本教程的内容基于 准备基于模板的代理部署而构建。
- 建议 完成部署基本代理 教程。
步骤
- 导航到 OpenShift Web 控制台并登录。
-
选择
amq-demo
项目空间。 - 点 Add to Project > Browse Catalog 来列出所有默认镜像流和模板。
-
使用 Filter 搜索栏,将列表限制为与
amq
匹配的列表。您可能需要点击 See all 来显示所需的应用程序模板。 -
选择标记为
Red Hat AMQ Broker 7.8(使用 SSL)
的amq-broker-78-ssl
模板。 在配置中设置以下值,并点 Create。
表 8.1. 模板示例 环境变量 显示名称 订阅价值 描述 AMQ_PROTOCOL
AMQ 协议
openwire,amqp,stomp,mqtt,hornetq
代理接受的协议
AMQ_QUEUES
队列
demoQueue
创建名为 demoQueue 的任何广播队列
AMQ_ADDRESSES
地址
demoTopic
创建名为 demoTopic 的地址(或主题)。默认情况下,此地址没有分配路由类型。
AMQ_USER
AMQ Username
amq-demo-user
客户端使用的用户名
AMQ_PASSWORD
AMQ 密码
password
客户端使用的密码及用户名
AMQ_TRUSTSTORE
trust Store Filename
broker.ts
SSL 信任存储文件名
AMQ_TRUSTSTORE_PASSWORD
信任存储密码
password
创建 Truststore 时使用的密码
AMQ_KEYSTORE
AMQ Keystore Filename
broker.ks
SSL 密钥存储文件名
AMQ_KEYSTORE_PASSWORD
AMQ Keystore 密码
password
创建密钥存储时使用的密码
8.1.2. 部署应用程序
创建应用程序后,将其部署到 Pod 并启动代理。
步骤
- 在 OpenShift Container Platform Web 控制台中,单击 Deployments。
- 点 broker-amq 部署。
- 单击 Deploy 以部署应用。
点代理 Pod,然后点 Logs 选项卡验证代理的状态。
如果代理日志没有加载,Pod 状态显示
ErrImagePull
或ImagePullBackOff
,您的部署配置无法直接从红帽容器注册表中提取指定的代理镜像。在这种情况下,编辑部署配置以引用与 Red Hat Container Registry 中用于身份验证的帐户关联的正确代理镜像名称和镜像 pull secret 名称。然后,您可以导入代理镜像并启动代理。为此,请完成与部署和启动 代理应用程序 类似的步骤。
8.1.3. 创建路由
为代理创建一个路由,以便 OpenShift Container Platform 之外的客户端可以使用 SSL 进行连接。默认情况下,安全代理协议可通过 61617/TCP 端口获得。另外,代理 Pod 中公开了 SSL 和非 SSL 端口,供代理支持的每个消息传递协议。但是,外部客户端无法直接连接到代理中的这些端口。取而代之,外部客户端通过 Openshift 路由器连接到 OpenShift,它会决定如何将流量转发到代理 Pod 上的相应端口。
如果将部署扩展到集群中的多个代理,您必须手动创建一个服务和每个代理的 Route,然后使用各个 Service-and-Route 组合将给定客户端定向到给定的代理或代理列表。有关配置多个服务和路由以将集群代理连接到他们自己的 AMQ Broker 管理控制台的实例,请参阅为 AMQ Broker 管理控制台创建路由。
先决条件
- 在创建 SSL 路由前,您应了解外部客户端如何使用此路由连接到代理。如需更多信息,请参阅创建 SSL 路由。
步骤
-
单击
。 -
点击
。 - 要显示 TLS 参数,请选择 Secure route 复选框。
- 在 TLS 终止 下拉菜单中选择 Passthrough。此选择将所有通信转发到 AMQ Broker,无需 OpenShift 路由器解密并重新发送它。
要查看路由,请点击 Routes。例如:
https://broker-amq-tcp-amq-demo.router.default.svc.cluster.local
外部客户端将使用此主机名通过 SNI 使用 SSL 连接代理。
其他资源
- 有关创建 SSL 路由的更多信息,请参阅创建 SSL 路由。
- 如需有关 OpenShift Container Platform 中的路由的更多信息,请参阅路由。https://docs.openshift.com/container-platform/3.4/architecture/core_concepts/routes.html