OpenShift Container Platform への Red Hat Developer Hub のインストール
Operator または Helm チャートを使用して、Red Hat OpenShift Container Platform 上で Red Hat Developer Hub を実行します。
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかのインストーラーを使用して、OpenShift Container Platform に Red Hat Developer Hub をインストールできます。
- Red Hat Developer Hub Operator
- この Operator は、管理者が OperatorHub を使用してインストールすると、OpenShift Container Platform ですぐに使用できるようになります。
- Operator Lifecycle Management (OLM) を使用して、OpenShift Container Platform での自動サブスクリプション更新を管理します。
- Kubernetes での自動サブスクリプション更新を管理するには、Operator Lifecycle Management (OLM) の事前インストールが必要です。
- Red Hat Developer Hub Helm チャート
- OpenShift Container Platform と Kubernetes の両方ですぐに使用できます。
- 手動でのインストールと管理が必要です。
app-config.yaml の baseUrl を、Developer Hub インスタンスの外部 URL (例: https://rhdh.example.com) と一致するように設定する必要があります。この値は、Red Hat Developer Hub が正しく機能するために必要です。設定されていない場合、フロントエンドサービスとバックエンドサービスが正しく通信できず、機能が期待どおりに動作しない可能性があります。
ニーズと希望に応じて最も合ったインストール方法を使用してください。
関連情報
- インストール方法の選択の詳細は、Helm チャートと Operator の比較 を参照してください。
- Operator 方式の詳細は、Operator について を参照してください。
- Helm チャート方式の詳細は、Helm について を参照してください。
第1章 Operator を使用した OpenShift Container Platform への Red Hat Developer Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform コンソールの Red Hat Developer Hub Operator を使用して、OpenShift Container Platform に Red Hat Developer Hub をインストールできます。
1.1. Red Hat Developer Hub Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
管理者は Red Hat Developer Hub Operator をインストールできます。許可されたユーザーは、この Operator を使用して、Red Hat OpenShift Container Platform (OpenShift Container Platform) およびサポートされている Kubernetes プラットフォームに、Red Hat Developer Hub をインストールできます。サポートされているプラットフォームとバージョンの詳細は、Red Hat Developer Hub のライフサイクル ページを参照してください。
コンテナーは次の CPU アーキテクチャーで使用できます。
-
AMD64 および Intel 64 (
x86_64)
前提条件
- OpenShift Container Platform Web コンソールに管理者としてログインしている。
- アプリケーションを作成またはアクセスするために、プロジェクト内で適切なロールと権限を設定している。詳細は、アプリケーションの構築に関する Red Hat OpenShift Container Platform のドキュメント を参照してください。
- Red Hat OpenShift Container Platform 4.17 以降がインストールされている。
手順
- OpenShift Container Platform コンソールのナビゲーションメニューで、Operators > OperatorHub をクリックします。
- Filter by keyword ボックスに Developer Hub と入力し、Red Hat Developer Hub Operator カードをクリックします。
- Red Hat Developer Hub Operator ページで、Operator に関する情報を読み、Install をクリックして Install Operator ページを開きます。
Operator が正常にインストールされたら、カスタム設定をプロビジョニングします。
Developer Hub インスタンスを作成する前に、プロジェクトに必要な config map とシークレットリソースを作成する必要があります。これらには、
baseUrlとサービス間認証シークレットが含まれます。詳細な手順は、カスタム Red Hat Developer Hub 設定のプロビジョニング を参照してください。
Update channel ドロップダウンメニューから、使用する更新チャネル (例: fast または fast-1.6) を選択します。
重要fast チャネルには、特定のバージョンで利用可能なすべての更新が含まれます。更新により、Red Hat Developer Hub のデプロイメントに予期しない変更が生じる可能性があります。リリースノートで、重大である可能性のある変更の詳細を確認してください。
fast-1.6 チャネルは、バージョン 1.6.1 から 1.6.2 への更新など、z-stream の更新のみを提供します。将来、Red Hat Developer Hub の y バージョンを更新する場合 (たとえば、1.6 から 1.7 に更新する場合) は、手動で fast-1.7 チャネルに切り替える必要があります。
- Version ドロップダウンメニューから、インストールする Red Hat Developer Hub Operator のバージョンを選択します。デフォルトのバージョンは、選択したチャネルで利用可能な最新バージョンです。
Operator の インストールモード を選択します。
注記デフォルトでは、All namespaces on the cluster (default) オプションが選択されています。Specific namespace on the cluster オプションは現在サポートされていません。
Installed Namespace フィールドで、次のいずれかのアクションを実行します。
- Operator recommended Namespace を選択し、rhdh-operator namespace を作成して使用します。このオプションはデフォルトで選択されます。
代替の namespace を使用するには、Select a Namespace を選択します。
Select Project ドロップダウンメニューから、次のいずれかのアクションを実行します。
- 既存のプロジェクトを選択します。
Operator の新しいプロジェクトを作成するには、Create Project を選択します。
Create Project ダイアログで、必須フィールドにテキストを入力し、Create をクリックします。
重要セキュリティーを強化し、Operator のライフサイクルをより適切に制御し、潜在的な権限昇格を防止するために、専用のデフォルトの
rhdh-operatornamespace に Red Hat Developer Hub Operator をインストールしてください。ロールバインディングまたはクラスターロールバインディングにより、他のユーザーによる Operator リソースへのアクセスを制限できます。Operator グループなどの必要なリソースを作成して、Operator を別の namespace にインストールすることもできます。詳細は、カスタム namespace へのグローバル Operator のインストール を参照してください。
ただし、Red Hat Developer Hub Operator が他の Operator と namespace を共有する場合は、同じ更新ポリシーも共有されるため、更新ポリシーのカスタマイズができなくなります。たとえば、1 つの Operator が手動更新に設定されている場合は、Red Hat Developer Hub Operator 更新ポリシーも手動に設定されます。詳細は、namespace 内の Operator のコロケーション を参照してください。
Operator の Update approval 方法を選択します。
- Automatic オプションを選択した場合は、手動による確認を必要とせずに Operator が更新されます。
- Manual オプションを選択した場合は、更新チャネルで新しい更新がリリースされたときに通知が開きます。インストールを開始する前に、管理者が手動で更新を承認する必要があります。
Install をクリックします。
注記手動 の承認ストラテジーを選択している場合、サブスクリプションのアップグレードステータスは、そのインストール計画を確認し、承認するまで Upgrading のままになります。Install Plan ページで Approve をクリックすると、サブスクリプションのアップグレードステータスが Up to date に変わります。
自動 の承認ストラテジーを選択している場合、アップグレードステータスは、介入なしに Up to date に解決するはずです。
検証
- Operator がインストールされるとすぐに、OperatorHub ページのダイアログボックスに Installed operator: ready for use メッセージが表示されます。
ダイアログボックスから、次のいずれかのアクションを実行します。
- View Operator をクリックすると、Red Hat Developer Hub Operator の Operator details ページが開きます。
View all installed operators をクリックすると、Installed Operators ページが開きます。
- インストールされている Operator のリストから、Red Hat Developer Hub Operator の名前と詳細を見つけます。
- Red Hat Developer Hub Operator をクリックすると、Red Hat Developer Hub Operator の Operator details ページが開きます。
1.2. Operator を使用した OpenShift Container Platform への Red Hat Developer Hub のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
開発者は、Red Hat OpenShift Container Platform Web コンソールの Developer Catalog を使用して、OpenShift Container Platform に Red Hat Developer Hub インスタンスをデプロイできます。このデプロイメント方法では、Red Hat Developer Hub Operator を使用します。
前提条件
-
app-config.yaml内のbaseUrlを、Developer Hub インスタンスの外部 URL と一致するように設定した。これがないと、フロントエンドサービスとバックエンドサービスは通信できず、機能が期待どおりに動作しない可能性があります。 - OpenShift Container Platform 管理者が Red Hat Developer Hub Operator をインストールした。
-
<my-rhdh-project>プロジェクトにカスタムの config map とシークレットをプロビジョニングした。 - Backstage カスタムリソースを作成した。
手順
-
OpenShift Container Platform Web コンソールで、
<{my_product_namespace}>プロジェクトを選択し、Add をクリックします。 - Developer Catalog パネルから、Operator Backed をクリックします。
- Filter by keyword ボックスに Developer Hub と入力し、Red Hat Developer Hub カードをクリックします。
次のテンプレートを使用してカスタム設定をプロビジョニングします。
apiVersion: v1 kind: ConfigMap metadata: name: app-config-rhdh data: "app-config-rhdh.yaml": | app: title: Red Hat Developer Hub baseUrl: https://__<my_developer_hub_url>__ backend: auth: externalAccess: - type: legacy options: subject: legacy-default-config secret: "${BACKEND_SECRET}" baseUrl: https://__<my_developer_hub_url>__ cors: origin: https://__<my_developer_hub_url>__app-config-rhdhという名前の config map を使用して、app-config.yamlファイルと、サービス間認証用のシークレット (BACKEND_SECRETなど) を提供します。これらの設定リソースを作成して適用するには、完全な手順が記載されている カスタム Red Hat Developer Hub 設定のプロビジョニング の手順に従ってください。
注記app-config-rhdhconfig map には、カスタマイズされたapp-config.yamlファイルが含まれている必要があります。この config map は実行時に Developer Hub コンテナーにマウントされます。my-rhdh-secretsという名前のシークレットを作成し、次の例に示すように、Base64-encoded文字列値を持つBACKEND_SECRETという名前のキーを追加します。apiVersion: v1 kind: Secret metadata: name: my-rhdh-secrets stringData: # TODO: Add the necessary auth secrets for service-to-service auth setup BACKEND_SECRET: "xxx" # Replace with your Base64-encoded secret注記シークレットに、サービス間認証に使用される
BACKEND_SECRETが含まれていることを確認します。構造とプロビジョニングの手順は、カスタム Red Hat Developer Hub 設定のプロビジョニング を参照してください。- Create をクリックします。
- Backstage カスタムリソースのコンテンツを追加します。
- Create Backstage ページで、Create をクリックします。
検証
Pod の準備ができたら、URL を開いて Red Hat Developer Hub プラットフォームにアクセスできます。
- Topology ビューで Pod をクリックし、Details パネルで Status を確認して、Pod の準備ができていることを確認します。Pod の準備が完了すると、Pod のステータスは Active になります。
Topology ビューから、Developer Hub Pod の Open URL アイコンをクリックします。
第2章 Helm チャートを使用した OpenShift Container Platform への Red Hat Developer Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかの方法で Helm チャートを使用して、OpenShift Container Platform に Red Hat Developer Hub をインストールできます。
- OpenShift Container Platform コンソール
- Helm CLI
2.1. Helm チャートを使用した OpenShift Container Platform Web コンソールからの Developer Hub のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Helm チャートを使用して、Red Hat OpenShift Container Platform Web コンソールで 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 view を使用する場合
- Form ビューを使用してインスタンスを設定するには、Root Schema → global → Enable service authentication within Backstage instance に移動して、OpenShift Container Platform ルーターホストをフォームのフィールドに貼り付けます。
YAML view を使用する場合
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.2. Helm CLI を使用した OpenShift Container Platform への Developer Hub のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Helm CLI を使用して、Red Hat OpenShift Container Platform に Red Hat Developer Hub をインストールできます。
前提条件
-
ワークステーションに OpenShift CLI (
oc) がインストールされている。 - OpenShift Container Platform アカウントにログインしている。
- OpenShift Container Platform 管理者ロールを持つユーザーによって、アプリケーションを作成するための適切なロールと権限がプロジェクト内で設定されている。OpenShift Container Platform のロールの詳細は、RBAC を使用して権限を定義および適用する を参照してください。
- OpenShift Container Platform でプロジェクトを作成している。OpenShift Container Platform でプロジェクトを作成する方法の詳細は、Red Hat OpenShift Container Platform のドキュメント を参照してください。
- Helm CLI ツールがインストールされている。
手順
<my-rhdh-project> OpenShift Container Platform プロジェクトを作成してアクティブ化します。
NAMESPACE=<emphasis><rhdh></emphasis> oc new-project ${NAMESPACE} || oc project ${NAMESPACE}Red Hat Developer Hub Helm チャートをインストールします。
helm upgrade redhat-developer-hub -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgzOpenShift Container Platform クラスターの Developer Hub データベースパスワードとルーターベース URL の値を使用して、Developer Hub Helm チャートのインスタンスを設定します。
PASSWORD=$(oc get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d) CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') helm upgrade redhat-developer-hub -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.6.3/redhat-developer-hub-1.6.3.tgz" \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \ --set global.postgresql.auth.password="$PASSWORD"実行中の Developer Hub インスタンスの URL を表示します。
echo "https://redhat-developer-hub-$NAMESPACE.$CLUSTER_ROUTER_BASE"
検証
- 実行中の Developer Hub インスタンスの URL をブラウザーで開き、Developer Hub を使用します。
関連情報