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

インターネットへの直接接続が許可されないセキュリティ制御された環境では、TPAが必要とするすべてのパッケージを提供して、クラスターの各ノードでの展開を完了する必要があります。これらのパッケージは、選択した方法を使用して提供できます。たとえば、各ノードで事前構成された共有ネットワークリポジトリまたはローカルリポジトリを介して。

 :ref:`Creating and using a local repository <Creating and using a local repository>` で説明しているように、TPAが提供するローカルリポジトリのアプローチを使用することもできます。このアプローチを使用する場合、TPAのローカルリポジトリに、各ノードの展開中に必要なパッケージがすべてあることを確認する必要があります。

ローカルリポジトリのアプローチを使用する際にこの要件を支援するために、TPAは :ref:`tpaexec download-packages <tpaexec download-packages>` コマンドを提供します。このコマンドは、local-repoアプローチを使用して作成されたローカルリポジトリにデータを入力できます。このコマンドを使用して、展開が成功するために必要なすべてのパッケージを確実にダウンロードします。

準備
----

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

..  Note::
   TPAがエアギャップサーバーにまだインストールされていない場合、 :ref:`these instructions <TPA installation>` に従ってください

インストールします。

切断された環境に既存のクラスターがある場合、インターネットに接続されたホストで必要になるのは\ ``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 installed <Docker>` を使用してインターネットに接続されたマシンで、次を実行します。

.. code:: shell

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

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

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

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

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

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

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

 :ref:`メジャーバージョンのPostgresのアップグレード <メジャーバージョンのPostgresのアップグレード>` コマンドを使用して、エアギャップ環境で更新を実行できます。このコマンドを実行する前に、接続されたコントローラで\ ``download-packages``
を実行し、更新されたリポジトリを切断されたコントローラにコピーする必要があります。
