第3章 Helm チャートを使用したエアギャップ環境の OpenShift Container Platform への Red Hat Developer Hub のインストール
Red Hat Developer Hub Helm チャートを使用して、完全な非接続環境または部分的な非接続環境に Red Hat Developer Hub をインストールできます。
3.1. Helm チャートを使用した完全な非接続環境の OpenShift Container Platform への Red Hat Developer Hub のインストール リンクのコピーリンクがクリップボードにコピーされました!
ネットワークが bastion ホストを介してレジストリーにアクセスできる場合は、Helm チャートを使用して、指定されたリソースをディスクにミラーリングし、インターネットに接続せずにエアギャップ環境に転送することで、Red Hat Developer Hub をインストールできます。
前提条件
ワークステーションを設定している。
- registry.redhat.io にアクセスできる。
- charts.openshift.io Helm チャートリポジトリーにアクセスできる。
-
ワークステーションに OpenShift CLI (
oc) がインストールされている。 -
oc-mirror OpenShift CLI (
oc) プラグインがインストールされている。詳細は、oc-mirror OpenShift CLI プラグインのインストール を参照してください。 - Red Hat Developer Portal にアカウントがある。
中間ホストを設定している。
- ホストは、非接続クラスターと、ターゲットミラーレジストリー (Red Hat OpenShift Container Platform イメージレジストリーなど) にアクセスできる。OpenShift Container Platform イメージレジストリーの公開の詳細は、レジストリーの公開 を参照してください。
-
oc-mirror OpenShift CLI (
oc) プラグインがインストールされている。詳細は、oc-mirror OpenShift CLI プラグインのインストール を参照してください。 - Red Hat OpenShift Container Platform 4.14 以降がインストールされている。
-
ワークステーションに OpenShift CLI (
oc) がインストールされている。
手順
ミラーリングするリソースを指定するには、
ImageSetConfigurationファイルを作成します。以下に例を示します。apiVersion: mirror.openshift.io/v1alpha2 kind: ImageSetConfiguration mirror: helm: repositories: - name: <repository_name> (1) url: <repository_url> (2) charts: - name: <chart_name> (3) version: "<rhdh_version>" (4)- ミラーリングするリポジトリーの名前 (例:
openshift-charts)。 - ミラーリングするリポジトリーの URL (例:
https://charts.openshift.io)。 - ミラーリングする Helm チャートの名前 (例:
redhat-developer-hub)。 - 使用する Red Hat Developer Hub のバージョン (例:
1.6)
oc-mirrorコマンドを実行して、ImageSetConfiguration.yamlファイルで指定されたリソースをミラーリングします。以下に例を示します。oc-mirror --config=<mirror_config_directory>/ImageSetConfiguration.yaml <mirror_archive_directory>/ここでは、以下のようになります。
<mirror_config_directory>-
システム上のイメージセット設定ファイルの場所を指定します (例:
.user)。 <mirror_configuration_file>-
ミラー設定 yaml ファイルの名前を指定します (例:
mirror-config.yaml) <mirror_archive_directory>-
ミラーアーカイブの作成先のディレクトリーの場所を指定します (例:
file://.user)。
注記oc-mirrorコマンドを実行すると、ミラーアーカイブファイル、Helm チャート、ImageContentSourcePolicy(ICSP) マニフェストを含むローカルワークスペースが生成されます。ICSP マニフェストには、後の手順でクラスターに適用する必要があるimageContentSourcePolicy.yamlファイルが含まれています。出力例
Creating archive /path/to/mirror-archive/mirror_seq1_000000.tar-
生成されたアーカイブファイル (例:
mirror_seq1_000000.tar) をエアギャップ環境に転送します。 エアギャップ環境に接続し、次のオブジェクトにも接続されていることを確認します。
- ローカルターゲットレジストリー
- ターゲット OpenShift Container Platform クラスター
エアギャップ環境から
oc-mirrorコマンドを実行して、アーカイブからターゲットレジストリーにミラーリングします。以下に例を示します。oc-mirror --from <mirror-archive-file> <target-registry>ここでは、以下のようになります。
<mirror_archive_file>-
ミラーリングするリソースを含むファイルの名前を指定します (例:
mirror_seq1_0000.tar)。 <target_registry>-
ミラーリングされたイメージをプッシュするターゲットレジストリーの名前を指定します (例:
docker://registry.localhost:5000)。
出力例
Wrote release signatures to oc-mirror-workspace/results-1738075410 Writing image mapping to oc-mirror-workspace/results-1738075410/mapping.txt Writing ICSP manifests to oc-mirror-workspace/results-1738075410ワークスペースで、
lsコマンドを実行してimageContentSourcePolicy.yamlファイルを見つけます。以下に例を示します。ls <workspace_directory>/<results_directory>ここでは、以下のようになります。
<workspace_directory>-
ワークスペースディレクトリーの名前を指定します (例:
oc-mirror-workspace)。 <results_directory>-
結果ディレクトリーの名前を指定します (例:
results-1738070846)。
Helm チャートをミラーリングするには、
oc applyコマンドを実行して、非接続クラスターにimageContentSourcePolicy.yamlファイルをデプロイします。以下に例を示します。oc apply -f <workspace_directory>/<results_directory>/ImageContentSourcePolicy.yamlここでは、以下のようになります。
<workspace-directory>-
ワークスペースディレクトリーの名前を指定します (例:
oc-mirror-workspace)。 <results-directory>-
結果ディレクトリーの名前を指定します (例:
results-1738070846)。
エアギャップ環境で、
namespaceとsetオプションを指定してhelm installコマンドを実行し、使用する namespace に Helm チャートをデプロイします。以下に例を示します。CLUSTER_ROUTER_BASE=$(oc get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/[.]*\.//') helm install <rhdh_instance> <workspace_directory>/<results_directory>/charts/<archive_file> --namespace <your_namespace> --create-namespace \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE"ここでは、以下のようになります。
<rhdh_instance>-
Red Hat Developer Hub インスタンスの名前を指定します (例:
my-rhdh)。 <workspace_directory>-
ワークスペースディレクトリーの名前を指定します (例:
oc-mirror-workspace)。 <results_directory>-
結果ディレクトリーの名前を指定します (例:
results-1738070846)。 <archive_file>-
ミラーリングするリソースを含むアーカイブファイルの名前を指定します (例:
redhat-developer-hub-1.4.1.tgz)。 <your_namespace>-
Helm チャートをデプロイする namespace を指定します (例:
my-rhdh-project)。