搜索

2.3. 在 OpenShift 3.x 服务器上安装 Fuse 镜像流和模板

download PDF

在为红帽容器 registry 配置身份验证后,导入并使用 Red Hat Fuse on OpenShift 镜像流和模板。

流程

  1. 启动 OpenShift 服务器。
  2. 以管理员身份登录 OpenShift 服务器。

    oc login -u system:admin
  3. 验证您是否使用您为其创建 docker-registry secret 的项目。

    oc project openshift
  4. 在 OpenShift 镜像流上安装 Fuse。

    BASEURL=https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003
    
    oc create -n openshift -f ${BASEURL}/fis-image-streams.json
  5. 安装 Quickstart 模板:

    for template in eap-camel-amq-template.json \
     eap-camel-cdi-template.json \
     eap-camel-cxf-jaxrs-template.json \
     eap-camel-cxf-jaxws-template.json \
     eap-camel-jpa-template.json \
     karaf-camel-amq-template.json \
     karaf-camel-log-template.json \
     karaf-camel-rest-sql-template.json \
     karaf-cxf-rest-template.json \
     spring-boot-camel-amq-template.json \
     spring-boot-camel-config-template.json \
     spring-boot-camel-drools-template.json \
     spring-boot-camel-infinispan-template.json \
     spring-boot-camel-rest-sql-template.json \
     spring-boot-camel-rest-3scale-template.json \
     spring-boot-camel-template.json \
     spring-boot-camel-xa-template.json \
     spring-boot-camel-xml-template.json \
     spring-boot-cxf-jaxrs-template.json \
     spring-boot-cxf-jaxws-template.json ;
     do
     oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/quickstarts/${template}
     done
  6. 安装 Spring Boot 2 Quickstart 模板:

    for template in spring-boot-2-camel-amq-template.json \
     spring-boot-2-camel-config-template.json \
     spring-boot-2-camel-drools-template.json \
     spring-boot-2-camel-infinispan-template.json \
     spring-boot-2-camel-rest-3scale-template.json \
     spring-boot-2-camel-rest-sql-template.json \
     spring-boot-2-camel-template.json \
     spring-boot-2-camel-xa-template.json \
     spring-boot-2-camel-xml-template.json \
     spring-boot-2-cxf-jaxrs-template.json \
     spring-boot-2-cxf-jaxws-template.json \
     spring-boot-2-cxf-jaxrs-xml-template.json \
     spring-boot-2-cxf-jaxws-xml-template.json ;
     do oc create -n openshift -f \
     https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-760039-redhat-00001/quickstarts/${template}
     done
  7. 安装 Fuse 控制台的模板。

    oc create -n openshift -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fis-console-cluster-template.json
    oc create -n openshift -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fis-console-namespace-template.json
    注意

    有关部署 Fuse 控制台的详情,请参阅在 OpenShift 中设置 Fuse 控制台

  8. 安装 Apicurito 模板:

    oc create -n openshift -f ${BASEURL}/fuse-apicurito.yml
  9. (可选) 查看 OpenShift 镜像和模板上安装的 Fuse:

    oc get template -n openshift

2.3.1. 在 OpenShift 3.11 中设置 Fuse 控制台

在 OpenShift 3.11 中,您可以使用两种方式设置 Fuse 控制台:

  • 通过将 集中式 Fuse 控制台目录项添加到项目中,以便您可以监控项目中所有正在运行的 Fuse 容器。
  • 以便可以监控单个正在运行的 Fuse 容器。

您可以从 OpenShift 控制台或命令行部署 Fuse 控制台。

注意

要在 Minishift 或 CDK based enviroments 上安装 Fuse 控制台,请按照以下 KCS 文章中所述的步骤操作。

  • 要在 Minishift 或 CDK based enviroments 上安装 Fuse 控制台,请参阅 KCS 4998441
  • 如果需要禁用 Jolokia 身份验证,请参阅 KCS 3988671 中描述的临时解决方案。

先决条件

注意
  • 默认情况下,集群模式模板仅在 OpenShift Container Platform 的最新版本中可用。它不由 OpenShift Online 默认目录提供。
  • Fuse 控制台模板默认配置端到端加密,以便您的 Fuse 控制台请求是从浏览器到集群服务的安全端到端。
  • Fuse 控制台的用户管理由 OpenShift 处理。
  • 基于角色的访问控制(在部署后访问 Fuse 控制台的用户)还不适用于 OpenShift 上的 Fuse。

第 2.3.1.1 节 “从 OpenShift 3.11 控制台部署 Fuse 控制台”

第 2.3.1.2 节 “从 OpenShift 3.11 上的 Fuse 控制台监控单个 Fuse pod”

第 2.3.1.3 节 “从命令行部署 Fuse 控制台”

2.3.1.1. 从 OpenShift 3.11 控制台部署 Fuse 控制台

要从 OpenShift 3.11 控制台在 OpenShift 集群上部署 Fuse 控制台,请按照以下步骤操作。

流程

  1. 在 OpenShift 控制台中,打开现有项目或创建新项目。
  2. 将 Fuse 控制台添加到 OpenShift 项目中:

    1. 选择 Add to Project Browse Catalog

      此时将打开 Select a item to the current project 页面。

    2. Search 字段中,键入 Fuse Console

      搜索结果中应该会显示 Red Hat Fuse 7.x ConsoleRed Hat Fuse 7.x Console (cluster) 项目。

注意

如果 Red Hat Fuse Console 项目没有显示为搜索结果,或者显示的项目不是最新版本,您可以手动安装 Fuse Console 模板,如 OpenShift 指南中的 Fuse 的 "Prepare OpenShift server" 部分所述。

  1. Red Hat Fuse Console 项之一:

    • Red Hat Fuse 7.x 控制台 - 此版本的 Fuse 控制台发现并连接到当前 OpenShift 项目中部署的 Fuse 应用程序。
    • Red Hat Fuse 7.x 控制台(集群) - 此版本的 Fuse 控制台可以发现和连接到在 OpenShift 集群上的多个项目间部署的 Fuse 应用程序。
  2. Red Hat Fuse Console 向导中,单击 Next。向导的 Configuration 页面将打开。

    另外,您可以更改配置参数的默认值。

    1. Create

      向导的 Results 页面表示已创建了 Red Hat Fuse 控制台。

    2. 单击 Continue to the project overview 链接,以验证 Fuse Console 应用程序是否已添加到项目中。
    3. 要打开 Fuse 控制台,请单击提供的 URL 链接,然后登录。

      浏览器中打开了 Authorize Access 页面,其中列出了所需权限。

    4. 点击 Allow selected permissions

      Fuse 控制台在浏览器中打开,并显示项目中运行的 Fuse pod。

    5. 对于您要查看的应用程序,点 Connect

      此时将打开一个新浏览器窗口,显示 Fuse 控制台中的应用程序。

2.3.1.2. 从 OpenShift 3.11 上的 Fuse 控制台监控单个 Fuse pod

您可以为在 OpenShift 3.11 上运行的 Fuse pod 打开 Fuse 控制台:

  1. 在 OpenShift 项目中的 Applications Pods 视图中,点 pod 名称查看正在运行的 Fuse pod 的详情。在此页面的右侧,您会看到容器模板的摘要:

    Container Template View

  2. 从此视图中,单击 Open Java Console 链接以打开 Fuse 控制台。

    Fuse Console view

    注意

    要将 OpenShift 配置为在 pod 视图中显示到 Fuse Console 的链接,在 OpenShift 镜像上运行 Fuse 的 pod 必须在 name 属性中声明 TCP 端口,设置为 jolokia

    {
      "kind": "Pod",
      [...]
      "spec": {
        "containers": [
          {
            [...]
            "ports": [
              {
                "name": "jolokia",
                "containerPort": 8778,
                "protocol": "TCP"
              }

2.3.1.3. 从命令行部署 Fuse 控制台

表 2.1 “Fuse 控制台模板” 描述可用于从命令行部署 Fuse 控制台的 OpenShift 3.1 模板,具体取决于 Fuse 应用程序部署的类型。

表 2.1. Fuse 控制台模板
类型描述

fis-console-cluster-template.json

Fuse 控制台可以发现并连接到在多个命名空间或项目中部署的 Fuse 应用程序。要部署此模板,您必须具有 OpenShift cluster-admin 角色。

fis-console-namespace-template.json

此模板限制 Fuse 控制台访问当前 OpenShift 项目(命名空间),因此充当单个租户部署。若要部署此模板,您必须拥有当前 OpenShift 项目的 admin 角色。

另外,您可以通过运行以下命令来查看所有模板的参数列表:

oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/fis-console-namespace-template.json

流程

从命令行部署 Fuse 控制台:

  1. 运行以下命令,基于 Fuse 控制台模板创建一个新应用程序(其中 myproject 是项目的名称):

    • 对于 Fuse Console 集群模板,其中 myhost 是用于访问 Fuse 控制台的主机名:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-760043-redhat-00003/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-760043-redhat-00003/fis-console-namespace-template.json
      注意

      您可以省略 命名空间 模板的 route_hostname 参数,因为 OpenShift 会自动生成一个。

  2. 运行以下命令,获取 Fuse 控制台部署的状态和 URL:

    oc status
  3. 要从浏览器访问 Fuse 控制台,请使用提供的 URL (例如 https://fuse-console.192.168.64.12.nip.io)。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.