プロキシー認証の構成

Kubernetes k3s 環境、 Edge Gateway インスタンス、およびアプリで、 quay.io などの外部サイトにアクセスする際にプロキシサーバーを使用するように設定できます。 認証が必要な場合は、プロキシー・サーバーの設定 (DNS 名、IP アドレス、アカウント名など) を知っておく必要があります。

1 つのコンポーネントでプロキシー・サーバーへの接続を構成しても、その接続は他のコンポーネントでは構成されません。 プロキシー設定を構成する場合は、以下のコンポーネントを個別に構成する必要があります。
  • Kubernetes k3s 環境。
  • エッジゲートウェイの各インスタンス。
  • プロキシー・サーバーへの接続を必要とする各アプリケーション。

appadmin ユーザーとしてログインし、以下のステップを実行して Kubernetes k3s 環境を構成します。

  1. Edge Gatewayをホストするシステムで、ファイル /etc/systemd/system/k3s.service.env を編集し、以下の環境変数を設定します:
    HTTP_PROXY=<proxy>
    HTTPS_PROXY=<proxy info>
    NO_PROXY=<localhost and other IPs that do not need proxy>

    <proxy info> フォーマットは http://<user>:<password>@<domain or IP address>:<port> で、 <user><password> は URL でエンコードされた文字列である。

    例:
    HTTP_PROXY=http://proxy.corp.com:8080
    HTTPS_PROXY=http://proxy.corp.com:8080
    NO_PROXY=localhost,127.0.0.1,0.0.0.0,localaddress,corp.com,10.0.0.0/8
    以下の例では、ユーザー名を user1 、パスワードを p@ssword と仮定して、プロキシ認証を行っています:
    HTTP_PROXY=http://user1:p%40ssword@proxy.corp.com:8080 &&
    HTTPS_PROXY=http://user1:p%40ssword@proxy.corp.com:8080 &&
    NO_PROXY=localhost,127.0.0.1,0.0.0.0,localaddress,corp.com,10.0.0.0/8
    注: HTTP_PROXYとHTTPS_PROXYはリダイレクトなので、HTTPS_PROXYに HTTPS トラフィックを HTTP URL にリダイレクトさせることができます。
  2. PEM エンコードの証明書を /etc/pki/ca-trust/source/anchors に追加してから次のコマンドを実行することで、プロキシー自体からの CA 証明書を信頼するようにシステムの cacert を更新します。
    sudo update-ca-trust
  3. Kubernetes K3s を再始動します。
    sudo systemctl restart k3s
  4. 再始動が完了したら、以下のコマンドを入力して、すべてのシステム・コンテナーをリストします。 それらの状況が Running または Completed であることを確認します。
    sudo kubectl get pods -n kube-system

Edge Gateway

重要: Edge Gatewayと Orchestration & Automationの間でプロキシサーバーを使用する場合は、 --https-proxy-url 。 HTTP プロキシーおよび HTTPS プロキシーが同じである場合、--https-from-http--http-proxy-url と共に使用できます。 --http-proxy-url は単独ではサポートされていません。

Edge Gatewayと Orchestration & Automationの間で --no-proxy オプションを使用する場合は、 app.config ファイルでホストとして指定されている完全修飾ドメイン名(FQDN)またはIPアドレスを指定します。 ワイルドカードおよびIPアドレスレンジは、 エッジゲートウェイと オーケストレーション&オートメーション間のみサポートされていません。

エッジゲートウェイの各インスタンスのプロキシ設定を構成します。 エッジゲートウェイがインストールされていない場合は、 manageAppHost proxy コマンドの代わりに manageAppHost install コマンドを使用します。
  • すべての Edge Gatewayがホスト・システムと同じプロキシ・サーバーを使用している場合は、次のコマンドでシステムの environment からプロキシ情報を取得できます。
    manageAppHost proxy --environment
  • HTTPS、 HTTP、またはその両方を使用してプロキシ経由で接続するようにエッジゲートウェイを設定します。
    manageAppHost proxy --https-proxy-url <http://URL:port# of proxy>
    manageAppHost proxy --http-proxy-url <http://URL:port# of proxy>
    manageAppHost proxy --https-proxy-url <http://URL:port# of proxy> --http-proxy-url <http://URL:port# of proxy>
    認証用ユーザー・アカウントでプロキシ接続を設定するには、 --http-proxy-user <user> または --https-proxy-user <user> を追加する。 プロキシー・パスワードを求めるプロンプトが表示されます。 次のコマンドは、認証を有効にするための例です。
    manageAppHost proxy --https-proxy-url <http://URL:port# of proxy> --https-proxy-user <user>

    システム上にペアリングされた複数のエッジゲートウェイがある場合は、構成するエッジゲートウェイを選択するよう求められます。

プロキシー設定をクリアする必要がある場合、次のコマンドを使用します。
manageAppHost proxy --clear

アプリケーション

アプリが別の、または別の外部インターネット接続を必要とする場合、そのアプリの app.config ファイルに以下のセクションを追加します。このファイルは、 Orchestration & Automation アプリケーションの Apps タブでアプリからアクセスできます。 詳細な手順については、アプリのマニュアルとアプリの設定を参照してください。
[integrations]
# To override, add any parameter to your specific integration section
http_proxy=<PROXY URL>
https_proxy=<PROXY URL>
timeout=120