This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第26章 HTTP プロキシーの使用
26.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
実稼働環境では、インターネットへの直接アクセスを拒否し、代わりに HTTP または HTTPS プロキシーを使用することができます。これらのプロキシーを使用するように OpenShift Container Platform を設定することは、設定ファイルまたは JSON ファイルで標準的な環境変数を設定するのと同じくらい簡単に実行できます。この設定は、通常インストール (Advanced installation) 時に実行するか、またはインストール後に行うことができます。
プロキシー設定はクラスター内の各ホストで同じである必要があります。したがって、プロキシーの設定やその変更を行う場合は、各 OpenShift Container Platform ホスト上のファイルを更新して同じ値にする必要があります。その後はクラスター内の各ホストで OpenShift Container Platform サービスを再起動する必要があります。
				NO_PROXY、HTTP_PROXY、および HTTPS_PROXY 環境変数は各ホストの /etc/sysconfig/atomic-openshift-master-api または /etc/sysconfig/atomic-openshift-master-controllers ファイルと /etc/sysconfig/atomic-openshift-node ファイルにあります。
			
26.2. NO_PROXY の設定 リンクのコピーリンクがクリップボードにコピーされました!
				NO_PROXY 環境変数は、OpenShift Container Platform のすべてのコンポーネントと、OpenShift Container Platform によって管理されるすべての IP アドレスを一覧表示します。
			
				CIDR を許可する OpenShift サービスでは、以下のように NO_PROXY にホスト、IP アドレス、または IP 範囲 (CIDR 形式) のカンマ区切りの一覧を指定できます。
			
- マスターホストの場合
 - ノードホスト名
 - マスター IP またはホスト名
 - etcd ホストの IP アドレス
 
- ノードホストの場合
 - マスター IP またはホスト名
 
- Docker サービスの場合
 - レジストリーのサービス IP とホスト名
 - 
									レジストリーサービス URL 
docker-registry.default.svc.cluster.local - レジストリールートホスト名 (作成されている場合)
 
Docker を使用している場合は、Docker はホスト、ドメイン拡張子、または IP アドレスのカンマ区切りの一覧を受け入れますが、CIDR 形式の IP 範囲は受け入れません。CIDR 形式の IP 範囲を受け入れるのは OpenShift サービスのみです。`no_proxy' 変数には、プロキシーを使用すべきでないドメイン拡張子のカンマ区切りの一覧を含める必要があります。
					たとえば、no_proxy が .school.edu に設定されている場合は、特定の学校からドキュメントを取得するためにプロキシーが使用されることはありません。
				
				NO_PROXY には、master-config.yaml ファイルにあるように、SDN ネットワークとサービス IP アドレスも含まれています。
			
/etc/origin/master/master-config.yaml
networkConfig:
  clusterNetworks:
  - cidr: 10.1.0.0/16
    hostSubnetLength: 9
  serviceNetworkCIDR: 172.30.0.0/16
networkConfig:
  clusterNetworks:
  - cidr: 10.1.0.0/16
    hostSubnetLength: 9
  serviceNetworkCIDR: 172.30.0.0/16
				OpenShift Container Platform では、ドメインサフィックスに付加するワイルドカードとして * を使用できません。たとえば、以下は受け入れられます。
			
NO_PROXY=.example.com
NO_PROXY=.example.com
しかし、以下の場合は受け入れられません。
NO_PROXY=*.example.com
NO_PROXY=*.example.com
				NO_PROXY で許可されるワイルドカードは * 1 文字だけです。このワイルドカードはすべてのホストに一致し、プロキシーを効果的に無効にします。
			
この一覧にある名前はそれぞれ、ホスト名をサフィックスとして含むドメインまたはホスト名自体のいずれかと一致します。
ノードを拡張するときは、ホスト名の一覧ではなくドメイン名を使用してください。
たとえば、example.com は example.com、example.com:80、および www.example.com と一致します。
26.3. ホストでのプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform 制御ファイルのプロキシー環境変数を編集します。クラスター内のすべてのファイルが正しいことを確認してください。
HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>/ HTTPS_PROXY=https://<user>:<password>@<ip_addr>:<port>/ NO_PROXY=master.hostname.example.com,10.1.0.0/16,172.30.0.0/16
HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>/ HTTPS_PROXY=https://<user>:<password>@<ip_addr>:<port>/ NO_PROXY=master.hostname.example.com,10.1.0.0/16,172.30.0.0/161 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - ホスト名と CIDR をサポートします。SDN ネットワークとサービスの IP 範囲
10.1.0.0/16,172.30.0.0/16がデフォルトで含まれている必要があります。 
必要に応じてマスターホストまたはノードホストを再起動します。
systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers systemctl restart atomic-openshift-node
# systemctl restart atomic-openshift-master-api atomic-openshift-master-controllers # systemctl restart atomic-openshift-nodeCopy to Clipboard Copied! Toggle word wrap Toggle overflow マルチマスターインストールの場合
systemctl restart atomic-openshift-master-controllers systemctl restart atomic-openshift-master-api
# systemctl restart atomic-openshift-master-controllers # systemctl restart atomic-openshift-master-apiCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
26.4. Ansible を使用したホストでのプロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
				通常インストール (Advanced installation) の実行時に、インベントリーファイルで設定可能な openshift_no_proxy、openshift_http_proxy、および openshift_https_proxy パラメーターを使用して NO_PROXY、HTTP_PROXY、および HTTPS_PROXY 環境変数を設定することができます。
			
Ansible を使用したプロキシー設定例
Ansible パラメーターを使用してビルド用に設定できるその他のプロキシー設定があります。たとえば、以下の通りです。
					openshift_builddefaults_git_http_proxy パラメーターと openshift_builddefaults_git_https_proxy パラメーターを使用すると、Git クローン作成のためにプロキシーを使用することができます。
				
					openshift_builddefaults_http_proxy パラメーターと openshift_builddefaults_https_proxy パラメーターは、Docker ビルドストラテジーとカスタムビルドストラテジーのプロセスで環境変数を利用可能にできます。
				
26.5. Docker pull のプロキシー設定 リンクのコピーリンクがクリップボードにコピーされました!
				OpenShift Container Platform のノードホストは Docker レジストリーに対してプッシュ操作とプル操作を実行する必要があります。ノードがアクセスするためにプロキシーを必要としないレジストリーの場合は、以下の項目を指定した NO_PROXY パラメーターを含めてください。
			
- レジストリーのホスト名
 - レジストリーサービスの IP アドレス
 - サービス名
 
これにより、外部の HTTP プロキシーをオプションのままにして、そのレジストリーをブラックリストに入れることができます。
以下を実行して、レジストリーサービスの IP アドレス
docker_registy_ipを取得します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
 - レジストリーサービスの IP です。
 
/etc/sysconfig/docker ファイルを編集し、シェル形式の
NO_PROXY変数を追加して、<docker_registry_ip>を直前の手順で取得した IP アドレスに置き換えます。HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>/ HTTPS_PROXY=https://<user>:<password>@<ip_addr>:<port>/ NO_PROXY=master.hostname.example.com,<docker_registry_ip>,docker-registry.default.svc.cluster.local
HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>/ HTTPS_PROXY=https://<user>:<password>@<ip_addr>:<port>/ NO_PROXY=master.hostname.example.com,<docker_registry_ip>,docker-registry.default.svc.cluster.localCopy to Clipboard Copied! Toggle word wrap Toggle overflow Docker サービスを再起動します。
systemctl restart docker
# systemctl restart dockerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 
26.6. プロキシーの背後での Maven の使用 リンクのコピーリンクがクリップボードにコピーされました!
				プロキシーで Maven を使用するには、HTTP_PROXY_NONPROXYHOSTS 変数を使用する必要があります。
			
Maven をプロキシーの背後に設定する手順などを含めた Red Hat JBoss Enterprise Application Platform 向けの OpenShift Container Platform 環境の設定に関する詳細については 、「Red Hat JBoss Enterprise Application Platform for OpenShift」を参照してください。
26.7. S2I ビルドでのプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
S2I ビルドはさまざまな場所から依存関係を取得します。.s2i/environment ファイルを使用して単純なシェル変数を指定することができます。それに応じて OpenShift Container Platform はビルドイメージの参照時に応答します。
以下は、サンプル値を指定したサポート対象のプロキシー環境変数です。
HTTP_PROXY=http://USERNAME:PASSWORD@10.0.1.1:8080/ HTTPS_PROXY=https://USERNAME:PASSWORD@10.0.0.1:8080/ NO_PROXY=master.hostname.example.com
HTTP_PROXY=http://USERNAME:PASSWORD@10.0.1.1:8080/
HTTPS_PROXY=https://USERNAME:PASSWORD@10.0.0.1:8080/
NO_PROXY=master.hostname.example.com
26.8. デフォルトテンプレートでのプロキシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
				OpenShift Container Platform でデフォルトで利用可能なテンプレートサンプルには、HTTP プロキシーの設定が含まれていません。これらのテンプレートに基づく既存のアプリケーションについては、アプリケーションのビルド設定の source セクションを変更して、以下のプロキシー設定を追加します。
			
これは、Git クローン作成用にプロキシーを使用するプロセスと似ています。
26.9. Pod でのプロキシー環境変数の設定 リンクのコピーリンクがクリップボードにコピーされました!
				デプロイメント設定の templates.spec.containers スタンザで NO_PROXY、HTTP_PROXY、および HTTPS_PROXY 環境変数を設定して、プロキシー接続情報を渡すことができます。実行時の Pod のプロキシー設定についても同じことを実行できます。
			
				oc set env コマンドを使用して、既存のデプロイメント設定を新規の環境変数で更新することもできます。
			
oc set env dc/frontend HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>
$ oc set env dc/frontend HTTP_PROXY=http://<user>:<password>@<ip_addr>:<port>
OpenShift Container Platform インスタンスで ConfigChange トリガーを設定している場合は、変更が自動的に行われます。そうでない場合は、変更が反映されるようにアプリケーションを手動で再デプロイしてください。
26.10. Git リポジトリーのアクセス リンクのコピーリンクがクリップボードにコピーされました!
				プロキシーの使用によってのみ Git リポジトリーにアクセスできる場合は、使用するプロキシーを BuildConfig の source セクションで定義できます。HTTP プロキシーと HTTPS プロキシーの両方を使用するように設定できます。どちらのフィールドもオプションです。NoProxy フィールドを使用して、プロキシーを実行しないドメインを指定することもできます。
			
これを機能させるために、ソース URI では HTTP プロトコルまたは HTTPS プロトコルを使用する必要があります。