第 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。
Expand 表 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
https://broker-amq-tcp-amq-demo.router.default.svc.cluster.localCopy to Clipboard Copied! Toggle word wrap Toggle overflow
外部客户端将使用此主机名通过 SNI 使用 SSL 连接代理。
其他资源
- 有关创建 SSL 路由的更多信息,请参阅创建 SSL 路由。
- 如需有关 OpenShift Container Platform 中的路由的更多信息,请参阅路由。https://docs.openshift.com/container-platform/3.4/architecture/core_concepts/routes.html