プロキシサーバーを使用するための Schematics エージェントの設定
多くの環境では、パブリック・インターネットへの直接接続は許可されていませんが、接続はセキュア・プロキシー・ゲートウェイによって経路指定される必要があります。 Schematics エージェント構成ポリシーでは、インターネットへの直接アクセスが許可されていないプロキシー・サーバーの使用が許可されています。 HTTP、または HTTPS プロキシを使用することができます。
プロキシー構成は、クラスター内の各ホストで同じでなければなりません。 そのため、プロキシを設定または変更するときは、デプロイメント、ConfigMap,、NetworkPolicy YAML 仕様ファイルを更新する必要があります。 次に、デプロイメントを再始動してプロキシー・サーバー構成を適用します。
開始前に
プロキシー・サーバー・アクセスを構成する前に、以下の要件が満たされていることを確認してください。 この例では、ポート 3128 で squid プロキシーを使用します。
- HTTP または HTTPS Google にアクセスでき、クラスタからアクセス可能なプロキシサーバー。
- プロキシー・サーバーの IP アドレスおよびポート (例:
http://53.25.191.193:3128) - curl コマンド・ライン・ツールは、クラスター・ポッドで使用できます。
プロキシー・サーバーの構成
-
Kubernetes クラスター・コンソールから。 Kubernetes ダッシュボードをクリック
-
名前空間選択ドロップダウン・ボックスで schematics-runtime に切り替えます。
-
Config and Storageセクションで、 「構成マップ」 をクリックして、schematics-runtime名前空間のマップを表示します。-
schematics-runtime-job-configconfigmap リソースをクリックし、鉛筆アイコンを選択して YAML ファイルを編集し、HTTPS/HTTPプロキシー・ステートメントを追加します。 -
ファイルの下部セクションにある
dataプロパティーの下にHTTPS/HTTPプロキシー・エントリーを追加します。data: HTTPS_PROXY: http://<ipaddress>:<port> HTTP_PROXY: http://<ipaddress>:<port> -
「更新」をクリックして構成マップを保存し、新規プロキシー・エントリーがファイル・リストに表示されていることを確認します。
-
schematics-runtime-ansible-job-configconfigmap リソースについて、この手順を繰り返します。
-
-
Clusterセクションで、 「ネットワーク・ポリシー」 をクリックして schematics-runtime 名前空間のポリシーを表示します。whitelist-runtime-egress-gen-portsNetworkPolicy ファイルを編集して、HTTPS/HTTPプロキシーで使用されるポートを追加します。HTTPS/HTTPプロキシー・ポートをポート・プロパティーに追加します。- ports: - protocol: TCP port: 3128
-
schematics-runtimeデプロイメントを再始動し、すべてのポッドが稼働していることを確認します。Workloadsセクションで、 「デプロイメント」 をクリックして、schematics-runtime 名前空間の現在のデプロイメントを表示します。runtime-jobリソースを選択し、ポッドを再始動します。runtime-ansible-jobリソースを選択し、ポッドを再始動します。
プロキシー・サーバー・アクセスの検証
クラスター・ポッドがプロキシー・サーバーを介してインターネットにアクセスできることを確認します。
-
schematics-runtimeポッドにログインし、以下のcurlコマンドを実行して、プロキシー環境変数がコンテナーで正しく設定されていることを確認します。 -
Workloads > Podsの下で、最初のjob-runtimeとその中のExecを選択します。curl --head https://www.google.com
プロキシーが HTTPS で機能している場合、 curl コマンドは 200 OK HTTP response を返します。
curl コマンドが接続に失敗した場合は、プロキシーがクラスターからアクセス可能であること、およびターゲット Web サイトへのアクセスを経路指定できることを確認してください。 プロキシーがアクセス可能であることを検証するには、プロキシー・オプションを指定して以下の curl コマンドを使用します。
```curl {: codeblock}
curl --proxy http://<ipaddress>:<port> --head https://www.google.com
```
プロキシー・パラメーターを使用して Web サイトにアクセスできない場合は、クラスターのネットワーク出口ルールが正しく設定されていること、およびプロキシーへのネットワーク・アクセスがあることを確認してください。
プロキシー・パラメーターを使用して Web サイトにアクセスできる場合は、 env コマンドを実行して、構成マップが正しく更新されたこと、および HTTPS/HTTP プロキシー環境変数が設定されていることを確認します。
環境変数 HTTP_PROXY および HTTPS_PROXY が出力にリストされます。 リストされていない場合は、configmap 定義を再確認してください。