2.2. 使用命令行在 OpenShift 4.x 上安装和部署 Fuse 控制台


在 OpenShift 4.x 中,您可以选择其中一个部署选项来从命令行安装和部署 Fuse 控制台:

  • Cluster - Fuse 控制台可以发现并连接到在 OpenShift 集群上的多个命名空间(项目)部署的 Fuse 应用程序。要部署此模板,必须具有 OpenShift 集群的管理员角色。
  • 具有基于角色的访问控制的集群 - 带有基于角色的访问控制(RBAC)的集群模板。如需更多信息,请参阅 OpenShift 4.x 上 Fuse 控制台的基于角色的访问控制
  • namespace - Fuse Console 有权访问特定的 OpenShift 项目(命名空间)。若要部署此模板,必须具有 OpenShift 项目的管理员角色。
  • 具有基于角色的访问控制的命名空间 - 带有可配置 RBAC 的命名空间模板。如需更多信息,请参阅 OpenShift 4.x 上 Fuse 控制台的基于角色的访问控制

要查看 Fuse Console 模板的参数列表,请运行以下命令:

oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-os4.json
Copy to Clipboard Toggle word wrap

先决条件

流程

  1. 使用以下命令检索所有模板列表,验证已安装了 Fuse Console 镜像流:

    oc get template -n openshift
    Copy to Clipboard Toggle word wrap
  2. 另外,如果要使用新发行版本标签更新已安装的镜像流,请使用以下命令将 Fuse Console 镜像导入到 openshift 命名空间:

    oc import-image fuse7/fuse-console-rhel8:1.10 --from=registry.redhat.io/fuse7/fuse-console-rhel8:1.10 --confirm -n openshift
    Copy to Clipboard Toggle word wrap
  3. 运行以下命令来获取 Fuse Console APP_NAME 值:

    oc process --parameters -f TEMPLATE-FILENAME
    Copy to Clipboard Toggle word wrap

    其中 TEMPLATE-FILENAME 是以下模板之一:

    • Cluster 模板:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-os4.json`
      Copy to Clipboard Toggle word wrap
    • 带有可配置 RBAC 的集群模板:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-cluster-rbac.yml`
      Copy to Clipboard Toggle word wrap
    • 命名空间模板:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-os4.json`
      Copy to Clipboard Toggle word wrap
    • 使用可配置 RBAC 的命名空间模板:

      `https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002//fuse-console-namespace-rbac.yml`
      Copy to Clipboard Toggle word wrap

      例如,对于带有可配置的 RBAC 的集群模板,请运行这个命令:

      oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-rbac.yml
      Copy to Clipboard Toggle word wrap
  4. 从您在 OpenShift 4.x 上保护 Fuse 控制台 生成的证书,使用以下命令创建 secret 并将其挂载到 Fuse 控制台中(其中 APP_NAME 是 Fuse Console 应用程序的名称)。

    oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
    Copy to Clipboard Toggle word wrap
  5. 通过运行以下命令,基于 Fuse Console 模板的本地副本(其中 myproject 是 OpenShift 项目的名称,mytemp 是包含 Fuse 控制台模板的本地目录的路径),myhost 是用于访问 Fuse 控制台模板的主机名:

    • 对于集群模板:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-os4.json  -p ROUTE_HOSTNAME=myhost
      Copy to Clipboard Toggle word wrap
    • 对于使用 RBAC 模板的集群:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-cluster-rbac.yml -p ROUTE_HOSTNAME=myhost
      Copy to Clipboard Toggle word wrap
    • 对于命名空间模板:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-os4.json
      Copy to Clipboard Toggle word wrap
    • 对于带有 RBAC 模板的命名空间:

      oc new-app -n myproject -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/fuse-console-namespace-rbac.yml
      Copy to Clipboard Toggle word wrap
  6. 要配置 Fuse 控制台,使其可以打开 OpenShift Web 控制台,请运行以下命令来设置 OPENSHIFT_WEB_CONSOLE_URL 环境变量:

    oc set env dc/${APP_NAME} OPENSHIFT_WEB_CONSOLE_URL=`oc get -n openshift-config-managed cm console-public -o jsonpath={.data.consoleURL}`
    Copy to Clipboard Toggle word wrap
  7. 运行以下命令,获取 Fuse Console 部署的状态和 URL:

    oc status
    Copy to Clipboard Toggle word wrap
  8. 要从浏览器访问 Fuse 控制台,请使用第 7 步中返回的 URL(例如 https://fuse-console.192.168.64.12.nip.io)。

在 OpenShift 4.x 上,若要在 Fuse 控制台代理和 Jolokia 代理之间保持连接,必须在部署 Fuse 控制台前生成客户端证书。必须使用服务签名证书颁发机构私钥来签署客户端证书。

只有在 使用命令行安装和部署 Fuse 控制台时,才必须按照以下步骤操作。如果您使用 Fuse Console Operator,它会为您处理此任务。

重要

您必须为每个 OpenShift 集群生成并签名单独的客户端证书。不要为多个集群使用相同的证书。

先决条件

  • 具有 集群 admin 访问权限,可以访问 OpenShift 集群。
  • 如果您要为多个 OpenShift 集群生成证书,并且之前在当前目录中为不同集群生成证书,请执行以下操作之一以确保为当前集群生成不同的证书:

    • 从当前目录中删除现有证书文件(如 ca.crtca.keyca.srl)。
    • 更改到不同的工作目录。例如,如果您的当前工作目录名为 cluster1,请创建一个新的 cluster2 目录,并将工作目录改为:

      mkdir ../cluster2

      cd ../cluster2

流程

  1. 以具有集群管理员访问权限的用户身份登录 OpenShift:

    oc login -u <user_with_cluster_admin_role>
    Copy to Clipboard Toggle word wrap
  2. 通过执行以下命令检索服务签名证书颁发机构密钥:

    • 检索证书:

      oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.crt']}" | base64 --decode > ca.crt
      Copy to Clipboard Toggle word wrap
    • 检索私钥:

      oc get secrets/signing-key -n openshift-service-ca -o "jsonpath={.data['tls\.key']}" | base64 --decode > ca.key
      Copy to Clipboard Toggle word wrap
  3. 生成客户端证书,如 Kubernetes 证书管理 中所述,使用简单的 rsaopensslcfssl

    以下是使用 openssl 的示例命令:

    1. 生成私钥:

      openssl genrsa -out server.key 2048
      Copy to Clipboard Toggle word wrap
    2. 编写 CSR 配置文件。

      cat <<EOT >> csr.conf
        [ req ]
        default_bits = 2048
        prompt = no
        default_md = sha256
        distinguished_name = dn
      
        [ dn ]
        CN = fuse-console.fuse.svc
      
        [ v3_ext ]
        authorityKeyIdentifier=keyid,issuer:always
        keyUsage=keyEncipherment,dataEncipherment,digitalSignature
        extendedKeyUsage=serverAuth,clientAuth
      EOT
      Copy to Clipboard Toggle word wrap

      此处,CN 参数中的值引用应用程序名称和应用程序所使用的命名空间。

    3. 生成 CSR:

      openssl req -new -key server.key -out server.csr -config csr.conf
      Copy to Clipboard Toggle word wrap
    4. 签发签名证书:

      openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 10000 -extensions v3_ext -extfile csr.conf
      Copy to Clipboard Toggle word wrap

后续步骤

您需要此证书来为 Fuse 控制台创建 secret,如 使用命令行在 OpenShift 4.x 上安装和部署 Fuse 控制台 中所述。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat