私は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
を試しましたが、デバッグログには、どちらの名前の構成フィールドも表示されません。
プロキシなしのリストを設定する方法はありますか?ローカルアドレスはデフォルトでプロキシをバイパスする必要がありますか?
プロキシの完全なサポートが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
。
私は、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
を実行します。