1.3. 在 OpenShift 3.11 中设置 Fuse 控制台
在 OpenShift 3.11 中,您可以使用两种方式设置 Fuse 控制台:
- 通过将 集中式 Fuse Console 目录项添加到项目中,以便您可以监控项目中的所有运行 Fuse 容器。
- 从特定的 pod 中,以便您可以监控单个正在运行的 Fuse 容器。
您可以从 OpenShift 控制台或命令行部署 Fuse 控制台。
要在基于 Minishift 或 CDK 的基础上安装 Fuse 控制台,请遵循以下 KCS 文章中所述的步骤。
- 要在基于 Minishift 或 CDK 上安装 Fuse 控制台,请参阅 KCS 4998441。
- 如果需要禁用 Jolokia 身份验证,请参阅 KCS 3988671 中描述的临时解决方案。
先决条件
- 在 OpenShift 镜像流上安装 Fuse,以及 Fuse 控制台的模板,如 OpenShift 上的 Fuse 指南 中所述。
对于 OpenShift 3.11 上的集群模式,您需要集群管理员角色和集群模式模板。运行以下命令:
oc adm policy add-cluster-role-to-user cluster-admin system:serviceaccount:openshift-infra:template-instance-controller
- 默认情况下,集群模式模板仅在最新版本的 OpenShift Container Platform 上可用。它不是由 OpenShift Online 默认目录提供的。
- Fuse 控制台模板默认配置端到端加密,以便 Fuse 控制台请求是安全的端到端,从浏览器到集群内服务。
- Fuse 控制台的用户管理由 OpenShift 处理。
- 基于角色的访问控制(用于部署 Fuse 控制台的用户)尚不可用于 OpenShift 上的 Fuse。
第 1.3.1 节 “从 OpenShift 3.11 控制台部署 Fuse 控制台”
第 1.3.2 节 “从 OpenShift 3.11 上的 Fuse 控制台监控单个 Fuse pod”
1.3.1. 从 OpenShift 3.11 控制台部署 Fuse 控制台
要从 OpenShift 3.11 控制台在 OpenShift 集群上部署 Fuse 控制台,请按照以下步骤操作。
流程
- 在 OpenShift 控制台中,打开现有项目或创建新项目。
将 Fuse 控制台添加到 OpenShift 项目中:
选择 Add to Project
Browse Catalog。 此时会打开 Select an item to to the current project 页。
在 Search 字段中,键入 Fuse Console。
Red Hat Fuse 7.x Console 和 Red Hat Fuse 7.x Console (集群) 项应该显示为搜索结果。
如果 Red Hat Fuse Console 项没有作为搜索结果显示,或者显示的项目不是最新版本,您可以手动安装 Fuse Console 模板,如 OpenShift Guide 中的 Fuse "Prepare the OpenShift server" 部分所述。
点 Red Hat Fuse Console 项之一:
- Red Hat Fuse 7.x Console - 此版本的 Fuse 控制台发现并连接到当前 OpenShift 项目中部署的 Fuse 应用程序。
- Red Hat Fuse 7.x Console (集群) - 此版本的 Fuse 控制台可以发现并连接到 OpenShift 集群上多个项目中部署的 Fuse 应用程序。
在 Red Hat Fuse Console 向导中,单击 Next。此时会打开向导的 Configuration 页面。
另外,您可以更改配置参数的默认值。
点 Create。
向导的 Results 页面表示已创建了 Red Hat Fuse 控制台。
- 单击 Continue to the project overview 链接,以验证 Fuse Console 应用是否已添加到项目中。
要打开 Fuse Console,请单击提供的 URL 链接,然后登录。
在列出所需权限的浏览器中打开 Authorize Access 页面。
点击 Allow selected permissions。
Fuse Console 在浏览器中打开,并显示项目中运行的 Fuse pod。
点您要查看的应用程序的 Connect。
这时将打开一个新的浏览器窗口,显示 Fuse 控制台中的应用程序。
1.3.2. 从 OpenShift 3.11 上的 Fuse 控制台监控单个 Fuse pod
您可以为在 OpenShift 3.11 上运行的 Fuse pod 打开 Fuse 控制台:
在 OpenShift 项目中的 Applications
Pods 视图中,点 pod 名称查看正在运行的 Fuse pod 的详情。在这个页面的右侧,您会看到容器模板的概述信息: 从此视图中,单击 Open Java Console 链接以打开 Fuse 控制台。
注意要将 OpenShift 配置为在 pod 视图中显示到 Fuse Console 的链接,在 OpenShift 镜像上运行 Fuse 的 pod 必须声明设置为
jolokia
的 name 属性中的 TCP 端口:{ "kind": "Pod", [...] "spec": { "containers": [ { [...] "ports": [ { "name": "jolokia", "containerPort": 8778, "protocol": "TCP" }
1.3.3. 从命令行部署 Fuse 控制台
表 1.1 “Fuse 控制台模板” 描述可用于从命令行部署 Fuse 控制台的 OpenShift 3.1 模板,具体取决于 Fuse 应用部署的类型。
类型 | 描述 |
---|---|
| Fuse 控制台可以发现并连接到在多个命名空间或项目中部署的 Fuse 应用程序。若要部署此模板,您必须具有 OpenShift cluster-admin 角色。 |
| 此模板限制 Fuse 控制台对当前 OpenShift 项目(命名空间)的访问,因此充当单个租户部署。若要部署此模板,您必须具有当前 OpenShift 项目的 admin 角色。 |
另外,您可以通过运行这个命令来查看所有模板的参数列表:
oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-780019-redhat-00005/fis-console-namespace-template.json
流程
从命令行部署 Fuse 控制台:
运行以下命令之一(其中 myproject 是项目的名称),基于 Fuse 控制台模板创建新应用:
对于 Fuse Console 集群模板,其中
myhost
是访问 Fuse 控制台的主机名:oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-780019-redhat-00005/fis-console-cluster-template.json -p ROUTE_HOSTNAME=myhost
对于 Fuse Console 命名空间 模板:
oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-780019-redhat-00005/fis-console-namespace-template.json
注意您可以省略 命名空间 模板的 route_hostname 参数,因为 OpenShift 会自动生成一个。
运行以下命令,获取 Fuse Console 部署的状态和 URL:
oc status
- 要从浏览器访问 Fuse 控制台,请使用提供的 URL (例如 https://fuse-console.192.168.64.12.nip.io)。