第2章 OpenShift Container Platform への Red Hat Developer Hub のデプロイ
次のいずれかの方法を使用して、OpenShift Container Platform に Red Hat Developer Hub をインストールできます。
- Helm チャート
- Red Hat Developer Hub Operator
2.1. Helm Chart を使用した OpenShift Container Platform への Red Hat Developer Hub のデプロイ
柔軟なインストール方法である Red Hat OpenShift Container Platform の Helm チャートを使用して Developer Hub をインストールできます。
Helm は、OpenShift Container Platform 上のパッケージマネージャーであり、次の機能を提供します。
- カスタムフックを使用して定期的なアプリケーション更新を適用します。
- 複雑なアプリケーションのインストールを管理します。
- パブリックおよびプライベートサーバーでホストできるチャートを提供します。
- アプリケーションの以前のバージョンへのロールバックをサポートします。
Red Hat Developer Hub の Helm チャートは、OpenShift Dedicated、OpenShift Container Platform の Helm カタログで入手できます。
前提条件
- OpenShift Container Platform アカウントにログインしている。
-
OpenShift Container Platform
admin
ロールを持つユーザーが、アプリケーションを作成するためにプロジェクト内で適切なロールと権限を設定している。OpenShift Container Platform のロールの詳細は、RBAC を使用して権限を定義および適用する を参照してください。 - OpenShift Container Platform でプロジェクトを作成している。OpenShift Container Platform でプロジェクトを作成する方法の詳細は、Red Hat OpenShift Container Platform のドキュメント を参照してください。
手順
- Developer Hub Web コンソールの Developer パースペクティブから、+Add をクリックします。
- Developer Catalog パネルから、Helm Chart をクリックします。
- Filter by keyword ボックスに Developer Hub と入力し、Red Hat Developer Hub カードをクリックします。
- Red Hat Developer Hub ページで、Create をクリックします。
-
クラスターから、OpenShift Container Platform ルーターホスト (例:
apps.<clusterName>.com
) をコピーします。 ラジオボタンを選択して、Form ビューまたは YAML ビューのいずれかを使用して Developer Hub インスタンスを設定します。デフォルトでは Form ビューが選択されています。
Form ビュー の使用
-
Form ビューを使用してインスタンスを設定するにはRoot Schema
global Enable service authentication within Backstage instance に移動し、OpenShift Container Platform ルーターホストをフォームのフィールドに貼り付けます。
-
Form ビューを使用してインスタンスを設定するにはRoot Schema
YAML ビュー の使用
YAML ビューを使用してインスタンスを設定するには、次の例に示すように、
global.clusterRouterBase
パラメーター値に OpenShift Container Platform ルーターのホスト名を貼り付けます。global: auth: backend: enabled: true clusterRouterBase: apps.<clusterName>.com # other Red Hat Developer Hub Helm Chart configurations
必要に応じて他の値を編集します。
注記ホストに関する情報がコピーされ、Developer Hub バックエンドからアクセスできるようになります。
OpenShift Container Platform ルートが自動的に生成されると、ルートのホスト値が推測され、同じホスト情報が Developer Hub に送信されます。また、値を使用してホストを手動で設定することで Developer Hub がカスタムドメイン上に存在する場合は、カスタムホストが優先されます。
- Create をクリックし、データベースと Developer Hub が起動するまで待ちます。
Developer Hub プラットフォームの使用を開始するには、Open URL アイコンをクリックします。
Developer Hub コンテナーが設定ファイルにアクセスできない場合、developer-hub
Pod は CrashLoopBackOff
状態になる可能性があります。このエラーは次のログで示されます。
Loaded config from app-config-from-configmap.yaml, env ... 2023-07-24T19:44:46.223Z auth info Configuring "database" as KeyStore provider type=plugin Backend failed to start up Error: Missing required config value at 'backend.database.client'
エラーを解決するには、設定ファイルを確認してください。
2.1.1. エアギャップ環境での Helm Chart を使用した Red Hat Developer Hub のインストール
エアギャップ環境は、エアギャップネットワークまたは分離ネットワークとも呼ばれ、システムまたはネットワークを物理的に分離することでセキュリティーを確保します。この分離は、エアギャップシステムと外部ソース間の不正なアクセス、データ転送、または通信を防止するために確立されます。
Red Hat Developer Hub は、セキュリティーを確保し、特定の規制要件を満たすために、エアギャップ環境にインストールできます。
Developer Hub をエアギャップ環境にインストールするには、registry.redhat.io
とエアギャップ環境のレジストリーにアクセスできる必要があります。
前提条件
- Red Hat OpenShift Container Platform 4.12 以降がインストールされている。
-
registry.redhat.io
にアクセスできる。 - クラスターの Red Hat OpenShift Container Platform イメージレジストリーにアクセスできる。イメージレジストリーの公開の詳細は、Red Hat OpenShift Container Platform のドキュメントの レジストリーの公開 を参照してください。
-
ワークステーションに
oc
コマンドラインツールをインストールしている。 -
ワークステーションに
podman
コマンドラインツールをインストールしている。 - Red Hat Developer ポータルのアカウントがある。
手順
次のコマンドを実行し、
oc
コマンドラインツールを使用して OpenShift Container Platform アカウントにログインします。oc login -u <user> -p <password> https://api.<hostname>:6443
以下のコマンドを実行し、
podman
コマンドラインツールを使用して OpenShift Container Platform イメージレジストリーにログインします。podman login -u kubeadmin -p $(oc whoami -t) default-route-openshift-image-registry.<hostname>
注記次のコマンドを実行して OpenShift Container Platform イメージレジストリーの完全なホスト名を取得し、そのホスト名をコマンドで使用してログインできます。
REGISTRY_HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')
podman login -u kubeadmin -p $(oc whoami -t) $REGISTRY_HOST
以下のコマンドを実行して、
podman
のregistry.redhat.io
にログインします。podman login registry.redhat.io
レジストリー認証の詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。
次のコマンドを実行して、Red Hat Image registry から Developer Hub および PostgreSQL イメージをワークステーションにプルします。
podman pull registry.redhat.io/rhdh/rhdh-hub-rhel9:{product-chart-version}
podman pull registry.redhat.io/rhel9/postgresql-15:latest
次のコマンドを実行して、両方のイメージを内部 OpenShift Container Platform イメージレジストリーにプッシュします。
podman push --remove-signatures registry.redhat.io/rhdh/rhdh-hub-rhel9:{product-chart-version} default-route-openshift-image-registry.<hostname>/<project_name>/rhdh-hub-rhel9:{product-chart-version}
podman push --remove-signatures registry.redhat.io/rhel9/postgresql-15:latest default-route-openshift-image-registry.<hostname>/<project_name>/postgresql-15:latest
イメージを OpenShift Container Platform イメージレジストリーに直接プッシュする方法の詳細は、How do I push an Image directly into the OpenShift 4 registry を参照してください。
重要x509 エラーが発生した場合は、OpenShift Container Platform ルートに使用される CA 証明書がシステムにインストール されていることを確認してください。
次のコマンドを使用して、両方のイメージが OpenShift Container Platform の内部レジストリーに存在することを確認します。
oc get imagestream -n <project_name>
次のコマンドを実行して、両方のイメージのローカルイメージ検索を有効にします。
oc set image-lookup postgresql-15
oc set image-lookup rhdh-hub-rhel9
YAML view に移動し、次の値を使用して
backstage
とpostgresql
のimage
セクションを更新します。Developer Hub イメージの値の例
upstream: backstage: image: registry: "" repository: rhdh-hub-rhel9 tag: latest
PostgreSQL イメージの値の例
upstream: postgresql: image: registry: "" repository: postgresql-15 tag: latest
- Helm Chart を使用して Red Hat Developer Hub をインストールします。Developer Hub のインストールの詳細は、「Helm Chart を使用した OpenShift Container Platform への Red Hat Developer Hub のデプロイ」 を参照してください。