1.2. OpenShift 4.x での Fuse Console の設定


OpenShift 4.x では、Fuse Console の設定に、セキュリティーのセキュア化、インストール、およびデプロイが必要になります。

まず、クライアント証明書を生成して、「OpenShift 4.x で Fuse Console をセキュア化するための証明書を生成」 の説明どおりに Fuse Console をセキュア化できるようにします。

クライアント証明書を生成した後、OpenShift クラスターの複数の namespace または特定の namespace にある Fuse アプリケーションにアクセスするために、コマンドラインと Fuse Console テンプレートの 1 つを使用して Fuse Console をインストールおよびデプロイします。

注記
  • Fuse Console のユーザー管理は、OpenShift によって処理されます。
  • ロールベースアクセス制御 (デプロイ後に Fuse Console にアクセスするユーザーの場合) は現在 Fuse on OpenShift では使用できません。

1.2.1. OpenShift 4.x で Fuse Console をセキュア化するための証明書を生成

OpenShift 4.x で、Fuse Console プロキシーと Jolokia エージェントとの間の接続をセキュアにするには、Fuse Console をデプロイする前にクライアント証明書を生成する必要があります。サービス署名認証局の秘密鍵を使用して、クライアント証明書を署名する必要があります。

重要

各 OpenShift クラスターに別のクライアント証明書を生成し、署名する必要があります。複数のクラスターに同じ証明書を使用しないでください。

前提条件

  • OpenShift クラスターにアクセス可能な cluster admin 権限がある。
  • 複数の OpenShift クラスターの証明書を生成し、現在のディレクトリーに別のクラスターの証明書を生成している場合は、以下のいずれかを実行して、現在のクラスターに別の証明書を生成するようにします。

    • 現在のディレクトリーから既存の証明書ファイル (ca.crtca.key、および ca.srl) を削除します。
    • 別の作業ディレクトリーに移動します。たとえば、現在の作業ディレクトリーの名前が cluster1 の場合、新しい cluster2 ディレクトリーを作成し、作業ディレクトリーをそのディレクトリーに変更します。

      mkdir ../cluster2

      cd ../cluster2

手順

  1. cluster admin 権限を持つユーザーとして 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 certificates administration の説明にしたがって、easyrsaopenssl、または cfssl を使用して、クライアント証明書を生成します。

    以下に、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
    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

次のステップ

コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ で説明されているように、Fuse Console のシークレットを作成するには、この証明書が必要です。

1.2.2. コマンドラインを使用した OpenShift 4.x での Fuse Console のインストールおよびデプロイ

OpenShift 4.x では、次のデプロイメントオプションの 1 つを選択して、コマンドラインから Fuse Console をインストールおよびデプロイできます。

  • cluster - Fuse Console は、OpenShift クラスターで複数の namespace (プロジェクト) 全体にデプロイされた Fuse アプリケーションを検索し、接続することができます。このテンプレートをデプロイするには、OpenShift クラスターの管理者ロールが必要です。
  • namespace - Fuse Console は特定の OpenShift プロジェクト (namespace) にアクセスできます。このテンプレートをデプロイするには、OpenShift プロジェクトの管理者ロールが必要です。

Fuse Console テンプレートのパラメーターリストを表示するには、以下の OpenShift コマンドを実行します。

oc process --parameters -f https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.fuse-750056-redhat-00006/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. 任意で、すでにインストールされているイメージストリームを新しいリリースタグで更新する場合は、以下のコマンドを使用して openshift namespace に Fuse Console イメージをインポートします。

    oc import-image fuse7/fuse7-console:1.5 --from=registry.redhat.io/fuse7/fuse-console:1.5 --confirm -n openshift
    Copy to Clipboard Toggle word wrap
  3. 以下の Fuse Console テンプレートの 1 つを、raw 形式の https://raw.githubusercontent.com/jboss-fuse/application-templates/application-templates-2.1.fuse-750056-redhat-00006 から任意のローカルディレクトリーにダウンロードします(例: mytemp)。

    • クラスターテンプレート: fuse-console-cluster-os4.json
    • namespace テンプレート: fuse-console-namespace-os4.json
  4. namespace テンプレートの場合は、次のステップに進みます。

    クラスターテンプレートの場合、任意のエディターで fuse-console-cluster-os4.json ファイルのローカルコピーを編集し、"grantMethod": "auto" 属性を OAuthClient セクションに追加します。

    {
          "kind": "OAuthClient",
          "apiVersion": "v1",
          "metadata": {
            "name": "${APP_NAME}-oauth-client"
          },
          "grantMethod": "auto",
          "redirectURIs": [
            "https://${ROUTE_HOSTNAME}"
          ]
    }
    Copy to Clipboard Toggle word wrap
  5. 以下のコマンドを実行して、Fuse Console の APP_NAME の値を取得します。コマンドの mytemp は、Fuse Console テンプレートが含まれるローカルディレクトリーのパスに置き換えます。

    • クラスターテンプレートの場合:

      oc process --parameters -f mytemp/fuse-console-cluster-os4.json
      Copy to Clipboard Toggle word wrap
    • Namespace テンプレートの場合:

      oc process --parameters -f mytemp/fuse-console-namespace-os4.json
      Copy to Clipboard Toggle word wrap
  6. 以下のコマンドを使用して、OpenShift 4.x で Fuse Console をセキュア化するための証明書の生成 で生成した証明書からシークレットを作成し、Fuse Console にマウントします。コマンドの APP_NAME は、Fuse Console アプリケーションの名前に置き換えます。

    oc create secret tls APP_NAME-tls-proxying --cert server.crt --key server.key
    Copy to Clipboard Toggle word wrap
  7. 以下のコマンドを実行して、ローカルにコピーされた Fuse Console テンプレートをベースとした新しいアプリケーションを作成します。コマンドの myproject は OpenShift プロジェクトの名前、mytemp は Fuse Console テンプレートが含まれるローカルディレクトリーへのパス、myhost は Fuse Console にアクセスするホストの名前に置き換えます。

    • クラスターテンプレートの場合:

      oc new-app -n myproject -f mytemp/fuse-console-cluster-os4.json -p ROUTE_HOSTNAME=myhost
      Copy to Clipboard Toggle word wrap
    • Namespace テンプレートの場合:

      oc new-app -n myproject -f mytemp/fuse-console-namespace-os4.json
      Copy to Clipboard Toggle word wrap
  8. 以下のコマンドを実行して、Fuse Console デプロイメントの状態と URL を取得します。

    oc status
    Copy to Clipboard Toggle word wrap
  9. ブラウザーから Fuse Console にアクセスするには、6. で返される URL (例: https://fuse-console.192.168.64.12.nip.io) を使用します。

1.2.3. OpenShift 4.x での Fuse Console のアップグレード

Red Hat OpenShift 4.x では、Red Hat Fuse Operator などの Operator の更新が処理されます。詳細は、OpenShift ドキュメントの Operator を参照してください。

また、Operator の更新によってアプリケーションのアップグレードがトリガーされる可能性があります。アプリケーションのアップグレードの実行方法は、アプリケーションの設定によって異なります。

Fuse Console アプリケーションでは、アプリケーションカスタムリソース定義の .spec.version フィールドを編集して、これらのアプリケーションへのアップグレードをトリガーするタイミングを指定できます。

前提条件

  • OpenShift クラスターの管理者権限が必要です。

手順

Fuse Console アプリケーションをアップグレードするには、以下を行います。

  1. ターミナルウィンドウで、以下のコマンドを使用してアプリケーションカスタムリソース定義の .spec.version フィールドを変更します。

    oc patch <project-name> <custom-resource-name> --type='merge' -p '{"spec":{"version":"1.7.1"}}'
    Copy to Clipboard Toggle word wrap

    以下に例を示します。

    oc patch myproject example-fuseconsole --type='merge' -p '{"spec":{"version":"1.7.1"}}'
    Copy to Clipboard Toggle word wrap
  2. アプリケーションの状態が更新されたことを確認します。

     oc get myproject
    Copy to Clipboard Toggle word wrap

    応答には、バージョン番号などのアプリケーションに関する情報が表示されます。

    NAME                  AGE   URL                                        IMAGE
    example-fuseconsole   1m    https://fuseconsole.192.168.64.38.nip.io   docker.io/fuseconsole/online:1.7.1
    Copy to Clipboard Toggle word wrap

    .spec.version フィールドの値を変更すると、OpenShift によってアプリケーションが自動的に再デプロイされます。

  3. バージョンの変更によってトリガーされた再デプロイの状態をチェックするには、以下を実行します。

    oc rollout status deployment.v1.apps/example-fuseconsole
    Copy to Clipboard Toggle word wrap

    正常にデプロイされた場合は以下の応答が表示されます。

    deployment "example-fuseconsole" successfully rolled out
    Copy to Clipboard Toggle word wrap
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat