web-dev-qa-db-ja.com

juju http-proxyおよびno_proxyの設定

私はjujuとmaasで環境をセットアップしています。 maas環境には直接インターネット接続がないため、プロキシを使用する必要があります。

juju set-env http-proxy=http://my_proxy:8080を使用してjuju環境のプロキシを設定しましたが、それは機能しますが、keystoneのようなsomehtingをデプロイする場合、localhostにアクセスしようとするインストールフックがあり、このリクエストはプロキシも通過しようとします。

juju set-env no-proxyまたはjuju set-env no_proxyを試しましたが、デバッグログには、どちらの名前の構成フィールドも表示されません。

プロキシなしのリストを設定する方法はありますか?ローカルアドレスはデフォルトでプロキシをバイパスする必要がありますか?

8
user4827

プロキシの完全なサポートがJujuの1.18.リリースで追加されました。

リリースノートから:

プロキシのサポート

プロキシは、environments.yamlファイルでプロバイダー用に構成するか、「juju set-env」を使用して既存の環境に追加できます。構成オプションは次のとおりです。

http-proxy
https-proxy
ftp-proxy
no-proxy

プロトコル固有のオプションはURLを受け入れます。 「no-proxy」オプションは、ホスト名またはアドレスのコンマ区切りリストを受け入れます。

プロキシオプションは、すべてのフック実行コンテキストでエクスポートされ、「juju ssh」または「juju run」を通じてシェルで使用できます。

Aptに固有の3つの追加プロキシオプションがあります。これらは、非aptプロキシ値と同じに設定されますが、個別にオーバーライドできます。

apt-http-proxy
apt-https-proxy
apt-ftp-proxy

たとえば、ラップトップでsquid-deb-proxyを実行している場合、ホストマシンのネットワークブリッジを指定することにより、apt-http-proxyを指定してコンテナに使用できます。

apt-http-proxy: http://10.0.3.1:8000

2.0 Jujuのリリースの場合、モデルを作成する前に環境をグローバルに設定する方法はありませんが、次を含むconfig.yamlファイルを作成します。

default-series: xenial
no-proxy: localhost
apt-http-proxy: http://<ip address>:<port>
apt-https-proxy: https://<ip address>:<port>
apt-ftp-proxy: ftp://<ip address>:<port>
http-proxy: http://<ip address>:<port>
https-proxy: https://<ip address>:<port>
ftp-proxy: ftp://<ip address>:<port>

次に、--configオプションを使用して、このファイルを使用するようJujuに指示します(私は~/.juju/に保存します)。たとえば、juju bootstrap localhost lxd-test --config=config.yaml

9
thumper

私は、openstackのdevstackインストールで同様の問題に直面していました。変数では大文字と小文字が区別されるようです。これを解決するために、次のことを行いました。

次を使用してIPアドレスを取得します。

ifconfig

~/.bashrcファイルを開き、これを最後に追加します。

no_proxy=localhost,127.0.0.1,<your_ip_address>
NO_PROXY=localhost,127.0.0.1,<your_ip_address>

その後、新しいターミナルを開くか、source ~/.bashrcを実行します。

3
jobin