Managing clusters in a disconnected or air-gapped environment
=============================================================

インターネットへの直接接続が許可されないセキュリティ制御された環境では、展開を完了するためにTPAが必要とするすべてのパッケージを提供する必要があります。これは、クラスター内の各ノードのローカルリポジトリを介して実行できます。
TPAは、
:ref:`Creating and using a local repository <Creating and using a local repository>` を介して各ノードでのカスタムリポジトリの追加をサポートし、必要なパッケージは
:ref:`tpaexec download-packages <tpaexec download-packages>` コマンドを使用してダウンロードできます。

準備
----

TPAをインストールできるインターネットに接続されたマシンを選択し、以下の手順に従って、既存のクラスター構成をコピーするか、新しいクラスターを作成します。

..  Note::
   エアギャップサーバーにTPAがまだインストールされていない場合、次の指示に従ってください :ref:`TPAをインストールする場所 <TPAをインストールする場所>` 

インストールします。

切断された環境に既存のクラスターがある場合、インターネットに接続されたホストで必要なのはconfig.ymlだけです。ディレクトリを作成し、そのファイルをコピーします。次に、そのディレクトリで\ ``tpaexec relink``
を実行して、通常は\ ``tpaexec configure``
によって作成される残りのファイルを生成します。

または、ターゲットインスタンスがネットワークアクセスを持たない環境の新しい構成を作成するには、このオプションを使用して新しいクラスターを構成します。

::

   tpaexec configure --use-local-repo-only …

これは、 ``--enable-local-repo``
が行うことをすべて行い、他のすべてのパッケージリポジトリの構成を無効にします。
RedHatインスタンスでは、これには、サブスクリプションベースのサービスへのアクセスの無効化も含まれます。

既存のクラスターでは、 ``config.yml`` で\ ``use_local_repo_only: yes``
を設定できます。

.. code:: yaml

   cluster_vars:
       use_local_repo_only: yes

注インターネットに接続された環境と切断された環境で個別のクラスター構成は必要ないことに注意してください、以下のオプションは両方で機能します。

:ref:`Creating and using a local repository <Creating and using a local repository>` の詳細

パッケージのダウンロード
------------------------

インターネットに接続されたマシンで、
:ref:`Dockerのインストール <Dockerのインストール>` があることを確認し、実行します。

.. code:: shell

   tpaexec download-packages cluster-dir --os <OS> --os-version <version>

:ref:`tpaexec download-packages <tpaexec download-packages>` の詳細な説明を参照してください。

ターゲット環境へのパッケージのコピー
------------------------------------

生成されるリポジトリは、\ ``cluster-dir/local-repo``
ディレクトリに含まれます。これは、ターゲットOSの完全なパッケージリポジトリです。このディレクトリを、接続されたコントローラから、クラスターの展開に使用される切断されたコントローラにコピーします。ディレクトリをクラスターディレクトリの下の同じ場所に配置します。
TPAは、 ``deploy``
の実行時にパッケージをインスタンスに自動的にコピーします。

切断された環境での展開
----------------------

クラスターconfig.ymlが :ref:`準備 <準備>` 
で上記のように構成されていることを確認します。通常どおりに\ ``tpaexec provision``
および\ ``deploy`` を実行します。

切断された環境での更新
----------------------

:ref:`Upgrading your cluster <Upgrading your cluster>` コマンドを使用して、エアギャップ環境で更新を実行できます。このコマンドを実行する前に、以下の手順に従う必要があります。

TPAノードでインターネットに直接アクセスしてローカルリポジトリのコンテンツを更新する
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

エアギャップ環境にインターネットアクセスがある場合は、
``tpaexec download-packages``
を安全に信頼して新しいパッケージをダウンロードし、
:ref:`パッケージのダウンロード <パッケージのダウンロード>` を確認してその使用法を知ることができます。

TPAノードでインターネットに直接アクセスせずにローカルリポジトリのコンテンツを更新する
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

インターネットに切断されたローカルリポジトリの更新を実行するには、2つの方法があります。正しい :ref:`リポジトリの設定とメタデータの生成 <リポジトリの設定とメタデータの生成>` に従って、ローカルリポジトリを手動で再作成します

選択したディストリビューションに応じて。または、新しいパッケージをローカルリポジトリに配置した後、
``tpaexec download-packages`` の\ ``--refresh-repository``
オプションを使用します。詳細については、
:ref:`ローカルリポジトリのメタデータを再生成 <ローカルリポジトリのメタデータを再生成>` を確認してください。TPAノードクラスターに対応するDockerイメージと並んで、Dockerが利用可能である必要があります。

変更が保存されたら、\ ``tpaexec upgrade cluster-dir``
を実行できます。パッケージが更新されます。
