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 の両方ですぐに使用できます。
- 手動でのインストールと管理が必要です。
Developer Hub インスタンスの外部 URL に一致するように、app-config.yaml で baseUrl を設定する必要があります(例: 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 インスタンスを作成する前に、プロジェクトで必要な設定マップおよびシークレットリソースを作成する必要があります。これらには、
baseUrlおよび service-to-service 認証シークレットが含まれます。詳細な手順については、カスタム Red Hat Developer Hub 設定のプロビジョニング を 参照してください。
Update channel ドロップダウンメニューから、使用する更新チャネルを選択します(例: fast または fast- 1.5)。
重要fast チャネルには、特定のバージョンで利用可能なすべての更新が含まれます。更新により、Red Hat Developer Hub のデプロイメントに予期しない変更が生じる可能性があります。リリースノートで、重大である可能性のある変更の詳細を確認してください。
fast-1.5 チャネルは、バージョン 1.5.1 から 1.5.2 への更新など、z-stream 更新のみを提供します。今後 Red Hat Developer Hub y-version を更新する場合(たとえば、1.5 から {product-version-next} に更新)、fast-{product-version-next} チャネルに手動で切り替える必要があります。
- 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 のコロケーション を参照してください。
手順
- OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators > OperatorHub をクリックします。
- Filter by keyword ボックスに Developer Hub と入力し、Red Hat Developer Hub Operator カードをクリックします。
- Red Hat Developer Hub Operator ページで、Install をクリックします。
Install Operator ページで、Update channel ドロップダウンメニューを使用して、使用する更新チャネルを選択します。
fast チャネルは、バージョン 1.1 から 1.2 への更新、または 1.1.0 から 1.1.1 への更新など、y-stream (x.y) および z-stream (x.y.z) の更新を提供します。
重要fastチャネルには、特定のバージョンで利用可能なすべての更新が含まれます。更新により、Red Hat Developer Hub のデプロイメントに予期しない変更が生じる可能性があります。リリースノートで、重大である可能性のある変更の詳細を確認してください。- fast-1.1 チャネルは、バージョン 1.1.1 から 1.1.2 への更新など、z-stream の更新のみを提供します。将来、Red Hat Developer Hub の y バージョンを更新する場合 (たとえば、1.1 から 1.2 に更新する場合) は、手動で fast チャネルに切り替える必要があります。
Install Operator ページで、Operator の Update approval ストラテジーを選択します。
- Automatic オプションを選択した場合は、手動による確認不要で Operator が更新されます。
- Manual オプションを選択した場合は、更新チャネルで新しい更新がリリースされたときに通知が開きます。インストールを開始する前に、管理者が手動で更新を承認する必要があります。
- Install をクリックします。
検証
- インストールされている Red Hat Developer Hub Operator を表示するには、View Operator をクリックします。
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 を使用します。
前提条件
-
Developer Hub インスタンスの外部 URL に一致するように
app-config.yamlにbaseUrlを設定しました。これがないと、フロントエンドおよびバックエンドサービスは通信できず、機能は予想通りに機能しない可能性があります。 - 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という名前の設定マップを使用して、app-config.yamlファイルとサービス間認証(BACKEND_SECRETなど)の Secret を提供します。これらの設定リソースを作成して適用するには、カスタム Red Hat Developer Hub 設定のプロビジョニング で詳細な手順を実行します。
注記app-config-rhdh設定マップには、カスタマイズしたapp-config.yamlファイルが含まれている必要があります。この設定マップはランタイム時に Developer Hub コンテナーにマウントされます。以下の例のように、
my-rhdh-secretsという名前のシークレットを作成し、Base64 でエンコードされた文字列を値として持つ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.5.3/redhat-developer-hub-1.5.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.5.3/redhat-developer-hub-1.5.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 を使用します。
関連情報