この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

2.プライベートレジストリにイメージを収集・公開する

このページでは、SUSE Rancher Primeのエアギャップインストール用にコンテナイメージをプライベートレジストリに収集・公開する手順を説明します。

これらの手順で言及されている資産については、Prime Artifacts URLにリストされている任意のRancher Primeバージョンを使用できます。Prime Artifacts URLの詳細については、 Prime専用ドキュメントをご覧ください。認証が必要です。ログインするには、 SUSEカスタマーセンター(SCC)の資格情報を使用してください。

デフォルトでは、KubernetesクラスターをプロビジョニングするまたはRancherでツールを起動するために使用されるすべてのイメージは、Docker Hubからプルされます。Rancherのエアギャップインストールでは、すべてのイメージをロードするためにRancherサーバーからアクセス可能なプライベートレジストリが必要です。

プライベートレジストリにイメージを投入するプロセスは、Dockerを使用してRancherをインストールする場合とKubernetesクラスターにRancherをインストールする場合で同じです。

このセクションの手順は、Rancherを使用してWindowsノードを持つダウンストリームクラスターをプロビジョニングする予定があるかどうかによって異なります。デフォルトでは、RancherがLinuxノードのみを持つダウンストリームKubernetesクラスターをプロビジョニングすることを前提として、プライベートレジストリを投入する手順を提供します。ただし、Windowsノードを使用してダウンストリームKubernetesクラスターをプロビジョニングする予定がある場合は、必要なイメージをサポートするための別の手順があります。

前提条件:

使用するために プライベートレジストリが必要です。

レジストリに証明書がある場合は、プライベートレジストリの追加に関するhttps://documentation.suse.com/cloudnative/k3s/latest/en/installation/private-registry.html[K3sドキュメント]を参照してください。証明書とレジストリの設定ファイルは、Rancherコンテナにマウントする必要があります。

  • Linux専用クラスター

  • LinuxおよびWindowsクラスター

LinuxクラスターのみをプロビジョニングするRancherサーバーの場合、プライベートレジストリを投入する手順は以下の通りです。

前提条件

これらの手順では、インターネットに接続されたLinuxワークステーション、プライベートレジストリへのアクセス、および少なくとも20GBのディスクスペースを使用することが期待されています。

ARM64ホストを使用する場合、レジストリはマニフェストをサポートしている必要があります。2020年4月現在、Amazon Elastic Container Registryはマニフェストをサポートしていません。

1.Rancherバージョンに必要なアセットを見つける

  1. Prime Artifacts URLにアクセスし、インストールしたいRancher v2.x.xリリースを見つけて、*表示*をクリックします。

  2. エアギャップ環境下でRancherをインストールするには、次のファイルをダウンロードする必要があります:

    リリースファイル 説明

    rancher-images.txt

    このファイルには、Rancherをインストールし、クラスターをプロビジョニングし、Rancherツールを使用するために必要なイメージのリストが含まれています。

    rancher-save-images.sh

    このスクリプトは、Docker Hubから`rancher-images.txt`内のすべてのイメージをプルし、すべてのイメージを`rancher-images.tar.gz`として保存します。

    rancher-load-images.sh

    このスクリプトは、`rancher-images.tar.gz`ファイルからイメージをロードし、それらをプライベートレジストリにプッシュします。

2.cert-managerイメージを収集する

独自の証明書を使用している場合、または外部ロードバランサーでTLSを終了している場合は、このステップをスキップしてください。

Kubernetesインストールでは、Rancherのデフォルトの自己署名TLS証明書を使用することを選択した場合、 cert-managerイメージを`rancher-images.txt`にも追加する必要があります。

  1. 最新の`cert-manager` Helmチャートを取得し、イメージの詳細のためにテンプレートを解析します:

    cert-managerへの最近の変更により、アップグレードが必要です。Rancherをアップグレードしており、cert-managerのバージョンがv0.12.0より古い場合は、アップグレードドキュメントを参照してください。

    helm repo add jetstack https://charts.jetstack.io
    helm repo update
    helm fetch jetstack/cert-manager
    helm template ./cert-manager-<version>.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt
  2. ソース間の重複を削除するために、イメージリストをソートして一意にします:

    sort -u rancher-images.txt -o rancher-images.txt

3.イメージをワークステーションに保存します

  1. (Optional) プルする前にイメージリストを確認します:

    wc -l rancher-images.txt
    head rancher-images.txt
  2. `rancher-save-images.sh`を実行可能にします:

    chmod +x rancher-save-images.sh
  3. 必要なすべてのイメージのtarballを作成するために、`rancher-images.txt`イメージリストで`rancher-save-images.sh`を実行します:

    ./rancher-save-images.sh --image-list ./rancher-images.txt
  4. (Optional) カスタム出力ファイルを指定します:

    ./rancher-save-images.sh \
      --image-list ./rancher-images.txt \
      --images rancher-images-custom.tar.gz

    *結果:*Dockerはエアギャップインストールで使用されるイメージのプルを開始します。お待ちください。このプロセスには数分かかります。

  5. tarballが作成されたことを確認します:

    ls -lh rancher-images.tar.gz

    いくつかのイメージのプルに失敗した場合は、出力を確認し、問題を解決した後に再試行してください。

4.プライベートレジストリに投入する

次に、`rancher-images.tar.gz`のイメージをプライベートレジストリに移動します。イメージをロードするためのスクリプトを使用します。

`rancher-images.tar.gz`のイメージをプライベートレジストリに移動します。イメージをロードするためのスクリプトを使用します。

`rancher-images.txt`は、ワークステーション上で`rancher-load-images.sh`スクリプトを実行しているのと同じディレクトリにあることが期待されます。`rancher-images.tar.gz`も同じディレクトリにある必要があります。

  1. 必要に応じてプライベートレジストリにログインします:

       docker login <REGISTRY.YOURDOMAIN.COM:PORT>
  2. `rancher-load-images.sh`を実行可能にします:

       chmod +x rancher-load-images.sh
  3. `rancher-load-images.sh`を使用して、`rancher-images.txt`と`rancher-images.tar.gz`をプライベートレジストリに抽出、タグ付け、プッシュします:

       ./rancher-load-images.sh --image-list ./rancher-images.txt --registry <REGISTRY.YOURDOMAIN.COM:PORT>

RancherサーバーでLinuxおよびWindowsクラスターをプロビジョニングする場合、WindowsイメージとLinuxイメージのプライベートレジストリへの投入手順は異なります。WindowsクラスターはLinuxノードとWindowsノードの混合であるため、プライベートレジストリにプッシュされるLinuxイメージはマニフェストです。

Windowsの手順

Windowsイメージは、Windowsサーバーのワークステーションから収集してプッシュする必要があります。

前提条件

これらの手順では、インターネットアクセス、プライベートレジストリへのアクセス、および少なくとも50 GBのディスクスペースを備えたWindows Server 1809ワークステーションを使用する必要があります。

ワークステーションには、Windowsクラスターをプロビジョニングする際に必要なマニフェストをサポートするために、Docker 18.02以上が必要です。

あなたのレジストリはマニフェストをサポートする必要があります。2020年4月現在、Amazon Elastic Container Registryはマニフェストをサポートしていません。

1.Rancherバージョンに必要なアセットを見つける

  1. Prime Artifacts URLにアクセスし、インストールしたいRancher v2.x.xリリースを見つけて、*表示*をクリックします。

  2. エアギャップ環境にRancherをインストールするには、次のファイルをダウンロードする必要があります:

    リリースファイル 説明

    rancher-windows-images.txt

    このファイルには、Windowsクラスターをプロビジョニングするために必要なWindowsイメージのリストが含まれています。

    rancher-save-images.ps1

    このスクリプトは、Docker Hubから`rancher-windows-images.txt`内のすべてのイメージをプルし、すべてのイメージを`rancher-windows-images.tar.gz`として保存します。

    rancher-load-images.ps1

    このスクリプトは、`rancher-windows-images.tar.gz`ファイルからイメージを読み込み、それらをプライベートレジストリにプッシュします。

2.イメージをWindows Serverワークステーションに保存してください。

  1. `powershell`を使用して、前のステップでダウンロードしたファイルがあるディレクトリに移動します。

  2. `rancher-save-images.ps1`を実行して、すべての必要なイメージのtarballを作成します:

    ./rancher-save-images.ps1

    *結果:*Dockerはエアギャップインストールに使用されるイメージのプルを開始します。お待ちください。このプロセスには数分かかります。プロセスが完了すると、現在のディレクトリに`rancher-windows-images.tar.gz`という名前のtarballが生成されます.出力がディレクトリにあることを確認してください。

3.Dockerデーモンを準備します。

Dockerデーモンの`allow-nondistributable-artifacts`設定フィールドにプライベートレジストリのアドレスを追加します(C:\ProgramData\Docker\config\daemon.json)。Windowsイメージのベースイメージは`mcr.microsoft.com`レジストリによって管理されているため、この手順は必要です。MicrosoftレジストリのレイヤーはDocker Hubに存在せず、プライベートレジストリにプルする必要があります.

   {
     ...
     "allow-nondistributable-artifacts": [
       ...
       "<REGISTRY.YOURDOMAIN.COM:PORT>"
     ]
     ...
   }

4.プライベートレジストリを投入します。

スクリプトを使用して、`rancher-windows-images.tar.gz`のイメージをプライベートレジストリに移動します.

`rancher-windows-images.txt`は、ワークステーション上で`rancher-load-images.ps1`スクリプトを実行しているのと同じディレクトリにあることが期待されます。`rancher-windows-images.tar.gz`も同じディレクトリにある必要があります。

  1. `powershell`を使用して、必要に応じてプライベートレジストリにログインします。

    docker login <REGISTRY.YOURDOMAIN.COM:PORT>
  2. `powershell`を使用して、`rancher-load-images.ps1`を使って`rancher-images.tar.gz`からイメージを抽出し、タグ付けして、プライベートレジストリにプッシュします。

    ./rancher-load-images.ps1 --registry <REGISTRY.YOURDOMAIN.COM:PORT>

Linuxの手順

LinuxのイメージはLinuxホストから収集してプッシュする必要がありますが、Windowsのイメージをプライベートレジストリに投入した後でなければなりません.これらの手順は、Linux専用の手順とは異なり、プッシュされるLinuxイメージは、実際にはWindowsとLinuxのイメージをサポートするマニフェストを生成します.

前提条件

Linuxのイメージをプライベートレジストリに投入する前に、Windowsのイメージを投入しておく必要があります。すでにLinuxのイメージでレジストリを埋めている場合は、これらの指示に従って再度実行する必要があります。これにより、WindowsとLinuxのイメージをサポートするマニフェストが公開されます。

これらの手順では、インターネットに接続されたLinuxワークステーション、プライベートレジストリへのアクセス、および少なくとも20GBのディスクスペースを使用することが期待されています。

ワークステーションには、Windowsクラスターをプロビジョニングする際に必要なマニフェストをサポートするために、Docker 18.02以上が必要です。

1.Rancherバージョンに必要なアセットを見つける

  1. 私たちの リリースページにアクセスし、インストールしたいRancher v2.x.xのリリースを見つけてください。`rc`または`Pre-release`とマークされたリリースは、プロダクション環境には安定していないため、ダウンロードしないでください。*アセット*をクリックします。

  2. リリースの*アセット*セクションから、以下のファイルをダウンロードしてください。

リリースファイル 説明

rancher-images.txt

このファイルには、Rancherをインストールし、クラスターをプロビジョニングし、Rancherツールを使用するために必要なイメージのリストが含まれています。

rancher-windows-images.txt

このファイルには、Windowsクラスターをプロビジョニングするために必要なイメージのリストが含まれています。

rancher-save-images.sh

このスクリプトは、Docker Hubから`rancher-images.txt`内のすべてのイメージをプルし、すべてのイメージを`rancher-images.tar.gz`として保存します。

rancher-load-images.sh

このスクリプトは、`rancher-images.tar.gz`ファイルからイメージをロードし、それらをプライベートレジストリにプッシュします。

2.必要なすべてのイメージを収集してください。

*Rancher生成の自己署名証明書を使用したKubernetesインストールの場合:*Kubernetesインストールでは、Rancherのデフォルトの自己署名TLS証明書を使用することを選択した場合、 cert-managerのイメージを`rancher-images.txt`にも追加する必要があります。独自の証明書を使用している場合は、このステップをスキップできます。

  1. 最新の`cert-manager` Helmチャートを取得し、イメージの詳細のためにテンプレートを解析します:

    cert-managerへの最近の変更により、アップグレードが必要です。Rancherをアップグレードしており、cert-managerのバージョンがv0.12.0より古い場合は、アップグレードドキュメントを参照してください。

    helm repo add jetstack https://charts.jetstack.io
    helm repo update
    helm fetch jetstack/cert-manager
    helm template ./cert-manager-<version>.tgz | awk '$1 ~ /image:/ {print $2}' | sed s/\"//g >> ./rancher-images.txt
  2. ソース間の重複を削除するために、イメージリストをソートして一意にします:

    sort -u rancher-images.txt -o rancher-images.txt

3.イメージをワークステーションに保存します

  1. `rancher-save-images.sh`を実行可能にします:

    chmod +x rancher-save-images.sh
  2. `rancher-save-images.sh`を、`rancher-images.txt`にあるイメージリストと共に実行して、必要なすべてのイメージのtarballを作成します:

    ./rancher-save-images.sh --image-list ./rancher-images.txt

*結果:*Dockerはエアギャップインストールに使用されるイメージのプルを開始します。お待ちください。このプロセスには数分かかります。プロセスが完了すると、現在のディレクトリに`rancher-images.tar.gz`という名前のtarballが出力されます。出力がディレクトリにあることを確認してください。

4.プライベートレジストリを投入します.

`rancher-images.tar.gz`のイメージを`rancher-load-images.sh script`を使用してプライベートレジストリに移動します。

イメージリスト、`rancher-images.txt`または`rancher-windows-images.txt`は、ワークステーション上で`rancher-load-images.sh`スクリプトを実行しているのと同じディレクトリにある必要があります。`rancher-images.tar.gz`も同じディレクトリにあるべきです。

  1. 必要に応じてプライベートレジストリにログインします:

    docker login <REGISTRY.YOURDOMAIN.COM:PORT>
  2. `rancher-load-images.sh`を実行可能にします:

    chmod +x rancher-load-images.sh
  3. `rancher-load-images.sh`を使用して、`rancher-images.tar.gz`からイメージを抽出し、タグ付けして、プライベートレジストリにプッシュします:

./rancher-load-images.sh --image-list ./rancher-images.txt \
   --windows-image-list ./rancher-windows-images.txt \
   --registry <REGISTRY.YOURDOMAIN.COM:PORT>