第4章 Helm チャートを使用して、エアギャップ環境内のサポートされている Kubernetes プラットフォームに Red Hat Developer Hub をインストールする
完全な非接続環境または部分的な非接続環境でサポートされている Kubernetes プラットフォームを使用している場合は、Helm チャートを使用して Red Hat Developer Hub をインストールできます。サポートされている Kubernetes プラットフォームは次のとおりです。
- Microsoft Azure Kubernetes Service
- Amazon Elastic Kubernetes Service
- Google Kubernetes Engine
4.1. Helm チャートを使用して、完全な非接続環境でサポートされている Kubernetes プラットフォームに Red Hat Developer Hub をインストールする リンクのコピーリンクがクリップボードにコピーされました!
インターネットにアクセスできない環境では、完全な非接続環境でのインストールにより、Red Hat Developer Hub を外部の依存関係なしで確実に実行できるようになります。このアプローチでは、イメージをミラーリングし、手動でエアギャップ環境に転送する必要があります。
前提条件
- Skopeo 1.17 以降がインストールされている。
- Yq 4.4 以降がインストールされている。
-
skopeo login
コマンドを使用して、イメージをプルするために registry.redhat.io に認証している。 -
kubectl
が設定された Kubernetes クラスターにアクセスできる。 - エアギャップホストに Helm 3.13 以降がインストールされている。
手順
ミラーリングホストのターミナルで、次のコマンドを実行して Helm チャートの値を取得します。
helm repo add <helm_chart_repo_name> https://charts.openshift.io/ helm repo update helm show values <helm_chart_repo_name>/redhat-developer-hub --version <rhdh_version> values.default.yaml helm pull <helm_chart_repo_name>/redhat-developer-hub --version <rhdh_version>
helm repo add <helm_chart_repo_name> https://charts.openshift.io/ helm repo update helm show values <helm_chart_repo_name>/redhat-developer-hub --version <rhdh_version> values.default.yaml helm pull <helm_chart_repo_name>/redhat-developer-hub --version <rhdh_version>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
- <helm_chart_repo_name>
-
Helm チャートリポジトリーの名前を指定します (例:
openshift-helm-charts
)。 - <rhdh_version>
使用する Red Hat Developer Hub のバージョンを指定します (例:
1.7.0
)。注記helm pull <helm_chart_repo_name>/redhat-developer-hub --version <rhdh_version>
コマンドは、Helm チャートアーカイブファイルを自動的に作成し、Helm チャートを現在の作業ディレクトリーにダウンロードします。
次のコマンドを実行して、イメージダイジェストを抽出します。
RHDH_IMAGE=$(yq '.upstream.backstage.image | .registry + "/" + .repository' values.default.yaml) RHDH_DIGEST=$(yq '.upstream.backstage.image.tag' values.default.yaml) PG_IMAGE=$(yq '.upstream.postgresql.image | .registry + "/" + .repository' values.default.yaml) PG_DIGEST=$(yq '.upstream.postgresql.image.tag' values.default.yaml)
RHDH_IMAGE=$(yq '.upstream.backstage.image | .registry + "/" + .repository' values.default.yaml) RHDH_DIGEST=$(yq '.upstream.backstage.image.tag' values.default.yaml) PG_IMAGE=$(yq '.upstream.postgresql.image | .registry + "/" + .repository' values.default.yaml) PG_DIGEST=$(yq '.upstream.postgresql.image.tag' values.default.yaml)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、イメージをローカルアーカイブにミラーリングします。
skopeo login registry.redhat.io skopeo copy --all docker://${RHDH_IMAGE}:${RHDH_DIGEST} dir:./rhdh-hub skopeo copy --all docker://${PG_IMAGE}:${PG_DIGEST} dir:./postgresql
skopeo login registry.redhat.io skopeo copy --all docker://${RHDH_IMAGE}:${RHDH_DIGEST} dir:./rhdh-hub skopeo copy --all docker://${PG_IMAGE}:${PG_DIGEST} dir:./postgresql
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のファイルとディレクトリーをエアギャップ環境に転送します。
- rhdh-hub
- postgresql
-
Helm チャートアーカイブファイル (例:
redhat-developer-hub-1.7.0.tgz
)
次のコマンドを実行して、イメージをエアギャップホストにロードします。
skopeo copy --all dir:./rhdh-hub docker://<mirror_registry_name>/<rhdh_repo_name>:${RHDH_DIGEST} skopeo copy --all dir:./postgresql docker://<mirror_registry_name>/<postgresql_repo_name>:${PG_DIGEST}
skopeo copy --all dir:./rhdh-hub docker://<mirror_registry_name>/<rhdh_repo_name>:${RHDH_DIGEST} skopeo copy --all dir:./postgresql docker://<mirror_registry_name>/<postgresql_repo_name>:${PG_DIGEST}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
- <mirror_registry_name>
-
イメージをプッシュするターゲットミラーレジストリーの名前を指定します (例:
registry.example.com
)。 - <rhdh_repo_name>
-
Red Hat Developer Hub イメージが保存されているリポジトリーの名前を指定します (例:
rhdh/rhdh-hub-rhel9
)。この値は、エアギャップホストにロードした Red Hat Developer Hub イメージの名前と一致する必要があります。 - <postgresql_repo_name>
-
PostgreSQL イメージが保存されているリポジトリーの名前を指定します (例:
rhdh/postgresql-15
)。
使用する Kubernetes プラットフォームの
values.yaml
ファイルを作成し、ローカル使用を反映するために次のイメージ参照をファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
- <mirror_registry_name>
-
イメージをプッシュするターゲットミラーレジストリーの名前を指定します (例:
registry.example.com
)。 - <rhdh_repo_name>
-
Red Hat Developer Hub イメージが保存されているリポジトリーの名前を指定します (例:
rhdh/rhdh-hub-rhel9
)。この値は、エアギャップホストにロードした Red Hat Developer Hub イメージの名前と一致する必要があります。 - <postgresql_repo_name>
PostgreSQL イメージが保存されているリポジトリーの名前を指定します (例:
rhdh/postgresql-15
)。AKS の場合は、次の
values.yaml
ファイルテンプレートを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow EKS の場合は、次の
values.yaml
ファイルテンプレートを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow GKE の場合は、次の
values.yaml
ファイルテンプレートを使用します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、現在の namespace に Helm チャートをインストールします。
helm install rhdh ./<helm_chart_archive_file_name> -f values.yaml
helm install rhdh ./<helm_chart_archive_file_name> -f values.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下は、
- <helm_chart_archive_file_name>
-
Helm チャートアーカイブファイルの名前を指定します (例:
redhat-developer-hub-1.4.0.tgz
)。