7.3. 准备基于模板的代理部署
先决条件
- 在 OpenShift Container Platform 上部署代理实例前,您必须安装 AMQ Broker 镜像流和应用程序模板。如需更多信息 ,请参阅安装镜像流和应用程序模板。
-
以下过程假定您安装的代理镜像流和应用程序模板在全局
openshift项目中可用。如果在特定项目命名空间中安装了镜像和应用程序模板,则继续使用该项目,而不是创建新项目,如amq-demo。
步骤
使用命令提示符创建新项目:
oc new-project amq-demo
$ oc new-project amq-demoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建用于 AMQ Broker 部署的服务帐户:
echo '{"kind": "ServiceAccount", "apiVersion": "v1", "metadata": {"name": "amq-service-account"}}' | oc create -f -$ echo '{"kind": "ServiceAccount", "apiVersion": "v1", "metadata": {"name": "amq-service-account"}}' | oc create -f -Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 view 角色添加到服务帐户。view 角色可让服务帐户查看 amq-demo 命名空间中的所有资源,在使用 OpenShift dns-ping 协议发现代理集群时,这是管理集群所必需的。
oc policy add-role-to-user view system:serviceaccount:amq-demo:amq-service-account
$ oc policy add-role-to-user view system:serviceaccount:amq-demo:amq-service-accountCopy to Clipboard Copied! Toggle word wrap Toggle overflow AMQ Broker 需要代理密钥存储、客户端密钥存储,以及包含代理密钥存储的客户端信任存储。这个示例使用 Java Keytool 是 Java Development Kit 中包含的软件包来生成 dummy 凭证,用于 AMQ Broker 安装。
为代理密钥存储生成自签名证书:
keytool -genkey -alias broker -keyalg RSA -keystore broker.ks
$ keytool -genkey -alias broker -keyalg RSA -keystore broker.ksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 导出证书以便可以与客户端共享:
keytool -export -alias broker -keystore broker.ks -file broker_cert
$ keytool -export -alias broker -keystore broker.ks -file broker_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 为客户端密钥存储生成自签名证书:
keytool -genkey -alias client -keyalg RSA -keystore client.ks
$ keytool -genkey -alias client -keyalg RSA -keystore client.ksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建导入代理证书的客户端信任存储:
keytool -import -alias broker -keystore client.ts -file broker_cert
$ keytool -import -alias broker -keystore client.ts -file broker_certCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用代理密钥存储文件创建 AMQ Broker secret:
oc create secret generic amq-app-secret --from-file=broker.ks
$ oc create secret generic amq-app-secret --from-file=broker.ksCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将 secret 链接到之前创建的服务帐户:
oc secrets link sa/amq-service-account secret/amq-app-secret
$ oc secrets link sa/amq-service-account secret/amq-app-secretCopy to Clipboard Copied! Toggle word wrap Toggle overflow