エアギャップ環境への Red Hat Developer Hub のインストール


Red Hat Developer Hub 1.5

Operator または Helm チャートを使用して、ネットワークが制限された環境で Red Hat OpenShift Container Platform 上で Red Hat Developer Hub を実行します。

Red Hat Customer Content Services

概要

プラットフォーム管理者は、ロール、権限、その他の設定を指定して、Operator または Helm チャートを使用してサポートされている任意のプラットフォームに Developer Hub のエアギャップインスタンスをデプロイすることを、他のユーザーに許可できます。

第1章 エアギャップ環境

エアギャップ環境は、エアギャップネットワークまたは分離ネットワークとも呼ばれ、システムまたはネットワークを物理的に分離することでセキュリティーを確保します。この分離は、エアギャップシステムと外部ソース間の不正なアクセス、データ転送、または通信を防止するために確立されます。

Red Hat Developer Hub は、セキュリティーを確保し、特定の規制要件を満たすために、エアギャップ環境にインストールできます。

第2章 Operator を使用したエアギャップ環境への Red Hat Developer Hub のインストール

Red Hat Developer Hub Operator を使用して、完全な非接続環境または部分的な非接続環境に Red Hat Developer Hub をインストールできます。サポートされているプラットフォームのリストは、Red Hat Developer Hub のライフサイクルページ を参照してください。

2.1. Operator を使用した完全な非接続環境への Red Hat Developer Hub のインストール

セキュリティー、コンプライアンス、または運用上の理由によりインターネットにアクセスできない環境では、完全な非接続インストールにより、外部の依存関係なしで Red Hat Developer Hub を確実に稼働させることができます。

ネットワークが踏み台ホストを介してレジストリーにアクセスできる場合は、ヘルパースクリプトを使用して、Operator 関連のイメージをディスクにミラーリングし、インターネットに接続せずにエアギャップ環境に転送することで、Red Hat Developer Hub をインストールできます。

前提条件

  • Podman 5.3 以降がインストールされている。詳細は、Podman のインストール手順 を参照してください。
  • Skopeo 1.17 以降がインストールされている。
  • yq 4.44 以降がインストールされている。
  • GNU sed コマンドラインテキストエディターがインストールされている。
  • umoci CLI ツールがインストールされている。
  • registry.redhat.io Red Hat Ecosystem Catalog へのアクティブな oc registrypodman、または skopeo セッションがある。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。
  • opm がインストールされている。詳細は、opm CLI のインストール を参照してください。

手順

  1. 次のコマンドを実行して、ミラーリングスクリプトをディスクにダウンロードします。

    curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-1.5/.rhdh/scripts/prepare-restricted-environment.sh
    Copy to Clipboard
  2. 適切なオプションのセットを指定した bash コマンドを使用して、ミラーリングスクリプトを実行します。

    bash prepare-restricted-environment.sh
     --filter-versions "1.5"
     --to-dir _<my_pulled_image_location>_ 
    1
    
     [--use-oc-mirror true] 
    2
    Copy to Clipboard
    1
    --to-dir オプションを使用して、必要なすべてのイメージをプルするディレクトリーへの絶対パスを指定します (例: /home/user/rhdh-operator-mirror-dir)。
    2
    (オプション) oc-mirror OpenShift Container Platform CLI プラグインを使用してイメージをミラーリングします。
    注記

    このスクリプトは複数のイメージをミラーレジストリーにコピーするため、完了までに数分かかる場合があります。

  3. --to-dir オプションで指定したディレクトリーを非接続環境に転送します。
  4. クラスターとターゲットミラーレジストリーの両方にアクセスできる非接続環境内のマシンから、適切なオプションのセットを指定した bash コマンドを使用してミラーリングスクリプトを実行します。

    bash <my_pulled_image_location>/install.sh 
    1
    
        --from-dir <my_pulled_image_location> 
    2
    
        [--to-registry <my.registry.example.com>] 
    3
    
        [--use-oc-mirror true] 
    4
    Copy to Clipboard
    1
    ダウンロードしたイメージと、そのイメージを格納するシステム上のディレクトリーへの絶対パス。
    2
    --to-dir オプションを使用して、必要なすべてのイメージをプルするディレクトリーを指定します。
    3
    イメージをミラーリングするターゲットミラーレジストリーの URL を指定します。
    4
    (オプション) oc-mirror OpenShift Container Platform CLI プラグインを使用してイメージをミラーリングします。
    重要

    oc-mirror を使用してイメージをディスクにミラーリングした場合は、ディスクからイメージをミラーリングする際にも oc-mirror を使用する必要があります。これは oc-mirror が使用するフォルダーレイアウトによるものです。

    注記

    スクリプトは Red Hat Developer Hub Operator を自動的にインストールするため、完了するまでに数分かかる場合があります。

検証

  • Red Hat OpenShift Container Platform を使用している場合は、Red Hat Developer Hub Operator が Web コンソールの Installed Operator リストに表示されます。
  • サポートされている Kubernetes プラットフォームを使用している場合は、ターミナルで次のコマンドを実行すると、rhdh-operator namespace で実行されている Pod のリストを確認できます。

    kubectl -n rhdh-operator get pods
    Copy to Clipboard

次のステップ

2.2. Operator を使用した部分的な非接続環境への Red Hat Developer Hub のインストール

制限されたネットワーク上で動作する OpenShift Container Platform クラスターでは、パブリックリソースは使用できません。ただし、Red Hat Developer Hub Operator をデプロイして Developer Hub を実行するには、次のパブリックリソースが必要です。

  • Operator イメージ (バンドル、Operator、カタログ)
  • オペランドイメージ (RHDH、PostgreSQL)

これらのリソースを使用可能にするには、これらのリソースを、クラスターからアクセス可能なミラーレジストリー内の同等のリソースに置き換えます。

ヘルパースクリプトを使用すると、必要なイメージをミラーリングし、そのイメージを Red Hat Developer Hub Operator のインストール時と Developer Hub インスタンスの作成時に使用するのに必要な設定を指定できます。このスクリプトにはターゲットミラーレジストリーが必要です。クラスターがすでに非接続ネットワーク上で動作している場合は、ターゲットミラーレジストリーが存在するはずです。ターゲットレジストリーがまだ存在せず、OpenShift Container Platform クラスターがある場合は、内部クラスターレジストリーを公開して活用することを推奨します。

OpenShift Container Platform クラスターに接続すると、ヘルパースクリプトがそれを検出し、クラスターレジストリーを自動的に公開します。Kubernetes クラスターに接続する場合は、イメージをミラーリングするターゲットレジストリーを手動で指定できます。

前提条件

  • Podman 5.3 以降がインストールされている。詳細は、Podman のインストール手順 を参照してください。
  • Skopeo 1.17 以降がインストールされている。
  • yq 4.44 以降がインストールされている。
  • GNU sed コマンドラインテキストエディターがインストールされている。
  • umoci CLI ツールがインストールされている。
  • registry.redhat.io Red Hat Ecosystem Catalog へのアクティブな oc registrypodman、または skopeo セッションがある。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。
  • ターゲットミラーレジストリーへの管理アクセス権を持つアクティブな skopeo セッションがある。詳細は、Authenticating to a registry を参照してください。
  • opm がインストールされている。詳細は、opm CLI のインストール を参照してください。
  • OpenShift Container Platform クラスターを使用している場合は、次の前提条件があります。

    • (オプション) イメージをミラーリングするために oc-mirror OpenShift Container Platform CLI プラグインを使用する場合は、このプラグインがインストールされている。
  • サポートされている Kubernetes クラスターを使用している場合は、次の前提条件があります。

    • 非接続クラスターに Operator Lifecycle Manager (OLM) をインストールした。
    • 非接続クラスターからアクセス可能なミラーレジストリーがある。

手順

  1. ターミナルで、ミラーリングスクリプトを保存するディレクトリーに移動します。
  2. 次のコマンドを実行してミラーリングスクリプトをダウンロードします。

    curl -sSLO https://raw.githubusercontent.com/redhat-developer/rhdh-operator/refs/heads/release-1.5/.rhdh/scripts/prepare-restricted-environment.sh
    Copy to Clipboard
  3. 適切なオプションのセットを指定した bash コマンドを使用して、ミラーリングスクリプトを実行します。

    bash prepare-restricted-environment.sh \
     --filter-versions "1.5" \
      [--to-registry <my.registry.example.com>] \ 
    1
    
      [--use-oc-mirror true] 
    2
    Copy to Clipboard
    1
    イメージをミラーリングするターゲットミラーレジストリーの URL を指定します。
    2
    (オプション) oc-mirror OpenShift Container Platform CLI プラグインを使用してイメージをミラーリングします。
    注記

    このスクリプトは複数のイメージをミラーレジストリーにコピーするため、完了までに数分かかる場合があります。

検証

  • Red Hat OpenShift Container Platform を使用している場合は、Red Hat Developer Hub Operator が Web コンソールの Installed Operator リストに表示されます。
  • サポートされている Kubernetes プラットフォームを使用している場合は、ターミナルで次のコマンドを実行すると、rhdh-operator namespace で実行されている Pod のリストを確認できます。

    kubectl -n rhdh-operator get pods
    Copy to Clipboard

次のステップ

第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) がインストールされている。

手順

  1. ミラーリングするリソースを指定するには、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)
    Copy to Clipboard
    ミラーリングするリポジトリーの名前 (例: openshift-charts)
    ミラーリングするリポジトリーの URL (例: https://charts.openshift.io)。
    ミラーリングする Helm チャートの名前 (例: redhat-developer-hub)。
    使用する Red Hat Developer Hub のバージョン (例: 1.5)
  2. oc-mirror コマンドを実行して、ImageSetConfiguration.yaml ファイルで指定されたリソースをミラーリングします。以下に例を示します。

    oc-mirror --config=<mirror_config_directory>/ImageSetConfiguration.yaml <mirror_archive_directory>/
    Copy to Clipboard

    ここでは、以下のようになります。

    <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
    Copy to Clipboard

  3. 生成されたアーカイブファイル (例: mirror_seq1_000000.tar) をエアギャップ環境に転送します。
  4. エアギャップ環境に接続し、次のオブジェクトにも接続されていることを確認します。

    • ローカルターゲットレジストリー
    • ターゲット OpenShift Container Platform クラスター
  5. エアギャップ環境から oc-mirror コマンドを実行して、アーカイブからターゲットレジストリーにミラーリングします。以下に例を示します。

    oc-mirror --from <mirror-archive-file> <target-registry>
    Copy to Clipboard

    ここでは、以下のようになります。

    <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
    Copy to Clipboard

  6. ワークスペースで、ls コマンドを実行して imageContentSourcePolicy.yaml ファイルを見つけます。以下に例を示します。

    ls <workspace_directory>/<results_directory>
    Copy to Clipboard

    ここでは、以下のようになります。

    <workspace_directory>
    ワークスペースディレクトリーの名前を指定します (例: oc-mirror-workspace)。
    <results_directory>
    結果ディレクトリーの名前を指定します (例: results-1738070846)。
  7. Helm チャートをミラーリングするには、oc apply コマンドを実行して、非接続クラスターに imageContentSourcePolicy.yaml ファイルをデプロイします。以下に例を示します。

    oc apply -f <workspace_directory>/<results_directory>/ImageContentSourcePolicy.yaml
    Copy to Clipboard

    ここでは、以下のようになります。

    <workspace-directory>
    ワークスペースディレクトリーの名前を指定します (例: oc-mirror-workspace)。
    <results-directory>
    結果ディレクトリーの名前を指定します (例: results-1738070846)。
  8. エアギャップ環境で、namespaceset オプションを指定して 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"
    Copy to Clipboard

    ここでは、以下のようになります。

    <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)

3.2. Helm チャートを使用した部分的な非接続環境の OpenShift Container Platform への Red Hat Developer Hub のインストール

ネットワークが registry.redhat.io レジストリーと charts.openshift.io Helm チャートリポジトリーにアクセスできる場合は、指定されたリソースをターゲットレジストリーに直接ミラーリングすることで、部分的に非接続環境に Red Hat Developer Hub インスタンスをデプロイできます。

前提条件

  • Red Hat OpenShift Container Platform 4.14 以降がインストールされている。
  • charts.openshift.io Helm チャートリポジトリーにアクセスできる。
  • registry.redhat.io にアクセスできる。
  • 非接続クラスターからアクセスできるミラーレジストリー (OpenShift Container Platform イメージレジストリーなど) にアクセスできる。OpenShift Container Platform イメージレジストリーの公開の詳細は、レジストリーの公開 を参照してください。
  • ターゲットミラーレジストリーにログインしており、そこにイメージをプッシュする権限がある。詳細は、イメージのミラーリングを可能にする認証情報の設定 を参照してください。
  • ワークステーションに OpenShift CLI (oc) がインストールされている。
  • oc-mirror OpenShift CLI (oc) プラグインがインストールされている。詳細は、oc-mirror OpenShift CLI プラグインのインストール を参照してください。
  • Red Hat Developer Portal にアカウントがある。

手順

  1. 次のコマンドを実行して、OpenShift CLI (oc) を使用して OpenShift Container Platform アカウントにログインします。

    oc login -u <user> -p <password> https://api.<hostname>:6443
    Copy to Clipboard
  2. 非接続クラスターから、OpenShift Container Platform イメージレジストリーなど、ミラーリングするイメージレジストリーにログインします。
  3. ImageSetConfiguration.yaml ファイルを作成します。
  4. ImageSetConfiguration.yaml ファイルで、ミラーリングするリソースを指定します。以下に例を示します。

    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)
    Copy to Clipboard
    ミラーリングする Helm チャートを含むリポジトリーの名前 (例: openshift-charts)
    ミラーリングする Helm チャートを含むリポジトリーの URL (例: https://charts.openshift.io)。
    ミラーリングするイメージを含む Helm チャートの名前 (例: redhat-developer-hub)
    使用する Red Hat Developer Hub のバージョン (例: 1.5)
  5. oc-mirror コマンドを実行して、イメージセット設定ファイルで指定されたリソースをターゲットレジストリーに直接ミラーリングします。以下に例を示します。

    oc-mirror --config=<mirror_config_directory>/ImageSetConfiguration.yaml <target-mirror-registry>
    Copy to Clipboard

    ここでは、以下のようになります。

    <mirror_config_directory>
    システム上のイメージセット設定ファイルの場所を指定します (例: .user)。
    <target_mirror_registry>
    ターゲットミラーレジストリーの場所と名前を指定します (例: docker://registry.example:5000)
    注記

    oc-mirror コマンドを実行すると、Helm チャートと ImageContentSourcePolicy (ICSP) マニフェストを含むローカルワークスペースが作成されます。ICSP マニフェストには、後の手順でクラスターに適用する必要がある、自動生成された imageContentSourcePolicy.yaml ファイルが含まれています。

    出力例

    Writing image mapping to oc-mirror-workspace/results-1738070846/mapping.txt
    Writing ICSP manifests to oc-mirror-workspace/results-1738070846
    Copy to Clipboard

  6. ワークスペースで、ls コマンドを実行して imageContentSourcePolicy.yaml ファイルを見つけます。以下に例を示します。

    ls <workspace_directory>/<results_directory>
    Copy to Clipboard

    ここでは、以下のようになります。

    <workspace_directory>
    ワークスペースディレクトリーの名前を指定します (例: oc-mirror-workspace)。
    <results_directory>
    結果ディレクトリーの名前を指定します (例: results-1738070846)。
  7. Helm チャートをミラーリングするには、oc apply コマンドを実行して、非接続クラスターに imageContentSourcePolicy.yaml ファイルをデプロイします。以下に例を示します。

    oc apply -f <workspace_directory>/<results_directory>/ImageContentSourcePolicy.yaml
    Copy to Clipboard

    ここでは、以下のようになります。

    <workspace_directory>
    ワークスペースディレクトリーの名前を指定します (例: oc-mirror-workspace)。
    <results_directory>
    結果ディレクトリーの名前を指定します (例: results-1738070846)。
  8. エアギャップ環境で、namespaceset オプションを指定して 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"
    Copy to Clipboard

    ここでは、以下のようになります。

    <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)

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat