コンテナ化されたSUSE Multi-Linux Managerプロキシの設定

SUSE Multi-Linux Managerプロキシコンテナのコンテナホストが準備された後に、コンテナの設定では、設定を完了するための追加の手順がいくつか必要になります。

プロシージャ
  1. SUSE Multi-Linux Managerプロキシ設定アーカイブファイルを生成します

  2. インストールステップで準備したコンテナホストに設定アーカイブを転送し、抽出します

  3. mgrpxyでプロキシサービスを開始します

1. プロキシ設定の生成

SUSE Multi-Linux Managerプロキシの設定アーカイブはSUSE Multi-Linux Managerサーバによって生成されます。追加のプロキシごとに専用の設定アーカイブが必要です。

コンテナ化されたSUSE Multi-Linux Managerプロキシの場合、変更を有効にするには、新しいプロキシ設定ファイルを構築してから、コンテナを再配備する必要があります。 これは、SSL証明書を含む、設定を更新するためのプロセスです。

Podmanの配備では、このプロキシ設定を生成する前に、SUSE Multi-Linux ManagerプロキシのコンテナホストをSUSE Multi-Linux Managerサーバにクライアントとして登録する必要があります。

プロキシFQDNを使用して、登録済みのクライアントではないプロキシコンテナ設定を生成すると(Kubernetesのユースケースと同様)、新しいシステムエントリがシステム一覧に表示されます。この新しいエントリは、以前に入力されたプロキシFQDN値の下に表示され、外部システムタイプになります。

周辺機器サーバは常にサードパーティSSL証明書を使用しています。 ハブサーバが周辺機器サーバの証明書を生成している場合は、各プロキシの証明書も生成する必要があります。 ハブサーバで、次のコマンドを実行します。

mgrctl exec -ti -- rhn-ssl-tool --gen-server --dir="/root/ssl-build" --set-country="COUNTRY" \
  --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
  --set-org-unit="ORGANIZATION UNIT" --set-email="name@example.com" \
  --set-hostname=PROXY --set-cname="proxy.example.com"

使用するファイルは、 * ルートCAとして、/root/ssl-build/RHN-ORG-TRUSTED-SSL-CERT * プロキシ証明書として/root/ssl-build/<hostname>/server.crt、 * プロキシ証明書のキーとして/root/ssl-build/<hostname>/server.keyです。

1.1. Web UIを使用したプロキシ設定の生成

プロシージャ: Web UIを使用してプロキシコンテナ設定を生成する
  1. Web UIで、システム  プロキシの設定に移動し、必要なデータを入力します。

  2. プロキシFQDN]フィールドに、プロキシの完全修飾ドメイン名を入力します。

  3. 親FQDN]フィールドに、SUSE Multi-Linux Managerサーバまたは別のSUSE Multi-Linux Managerプロキシの完全修飾ドメイン名を入力します。

  4. プロキシSSHポート]フィールドに、SSHサービスがSUSE Multi-Linux ManagerプロキシでリスンしているSSHポートを入力します。デフォルトの8022を維持することをお勧めします。

  5. Squidの最大キャッシュサイズ[MB]]フィールドタイプで、Squidキャッシュの最大許容サイズ。コンテナで使用可能なストレージの最大80%で使用することを推奨します。

    2 GBはプロキシSquidのデフォルトのキャッシュサイズを表します。これは、環境に合わせて調整する必要があります。

SSL証明書]選択リストで、SUSE Multi-Linux Managerプロキシ用に新しいサーバ証明書を生成するか、既存のサーバ証明書を使用するかを選択します。 生成された証明書は、SUSE Multi-Linux Manager組み込みの(自己署名)証明書とみなすことができます。

+

選択に応じて、新しい証明書を生成するための署名CA証明書へのパス、またはプロキシ証明書として使用される既存の証明書とそのキーへのパスのいずれかを指定します。

+

サーバによって生成されたCA証明書は、/var/lib/containers/storage/volumes/root/_data/ssl-buildディレクトリに保存されます。

+

既存の証明書またはカスタム証明書、および企業証明書と中間証明書の概念の詳細については、SSL証明書のインポートを参照してください。

  1. 生成をクリックして、SUSE Multi-Linux Managerサーバに新しいプロキシFQDNを登録し、コンテナホストの詳細を含む設定アーカイブ(config.tar.gz)を生成します。

  2. しばらくすると、ダウンロードするファイルが表示されます。このファイルをローカルに保存します。

1.2. spacecmdと自己署名証明書を使用したプロキシ設定の生成

spacecmdを使用してプロキシ設定を生成できます。

プロシージャ: spacecmdと自己署名証明書を使用してプロキシ設定を生成する
  1. SSHでコンテナホストに接続します。

  2. 次のコマンドを実行してサーバとプロキシFQDNを置き換えます。

    mgrctl exec -ti 'spacecmd proxy_container_config_generate_cert -- dev-pxy.example.com dev-srv.example.com 2048 email@example.com -o /tmp/config.tar.gz'
  3. 生成された設定をサーバコンテナからコピーします。

    mgrctl cp server:/tmp/config.tar.gz .

1.3. spacecmdとカスタム証明書を使用したプロキシ設定の生成

デフォルトの自己署名証明書ではなくカスタム証明書に対してspacecmdを使用して、プロキシ設定を生成できます。

プロシージャ: spacecmdとカスタム証明書を使用してプロキシ設定を生成する
  1. サーバコンテナホストにSSHで接続します。

  2. 次のコマンドを実行してサーバとプロキシFQDNを置き換えます。

    for f in ca.crt proxy.crt proxy.key; do
      mgrctl cp $f server:/tmp/$f
    done
    mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'
  3. 設定で中間CAを使用する場合は、それもコピーし、-iオプション付きでコマンドに含めます(必要に応じて複数回指定できます)。

    mgrctl cp intermediateCA.pem server:/tmp/intermediateCA.pem
    mgrctl exec -ti 'spacecmd proxy_container_config -- -p 8022 -i /tmp/intermediateCA.pem pxy.example.com srv.example.com 2048 email@example.com /tmp/ca.crt /tmp/proxy.crt /tmp/proxy.key -o /tmp/config.tar.gz'
  4. 生成された設定をサーバコンテナからコピーします。

    mgrctl cp server:/tmp/config.tar.gz .

2. SUSE Multi-Linux Managerプロキシ設定の転送

spacecmdコマンドとWeb UI経由の生成の両方の方法で、設定アーカイブが生成されます。このアーカイブは、コンテナホストで利用できるようにする必要があります。この生成されたアーカイブをコンテナホストに転送してください。

3. SUSE Multi-Linux Managerプロキシコンテナの起動

mgrpxyコマンドを使用してコンテナを起動できます。

プロシージャ: SUSE Multi-Linux Managerプロキシコンテナの起動
  1. コマンドを実行します。

    mgrpxy start uyuni-proxy-pod
  2. 次のコマンドを呼び出して、すべてのコンテナが期待どおりに起動したかどうかを確認します。

    podman ps

5つのSUSE Multi-Linux Managerプロキシコンテナが存在し、proxy-podコンテナポッドの一部である必要があります。

  • proxy-salt-broker

  • proxy-httpd

  • proxy-tftpd

  • proxy-squid

  • proxy-ssh