ローカルプロバイダーでjuju-guiへのアクセスを許可するための構成は何ですか

ローカルプロバイダーでjuju-guiへのアクセスを許可するための構成は何ですか

クラウド インスタンスにローカル プロバイダー (lxc を参照) を使用して juju-gui をインストールしたいと考えています。ただし、juju-gui が lxc コンテナー自体にインストールされ、そのコンテナーがルーティング不可能な 10.xxx アドレスになることが問題です。

私はこれらに従って少し進歩しました一般的な手順

キー ファイルを作成した後、juju-gui コンテナーにそれらのコピーとホスト (ホスト内の と、/etc/ssl/certsコンテナー内のと) があることを確認しました。/etc/ssl/private/var/lib/lxc/cn_name/rootfs/etc/ssl/certs/var/lib/lxc/cn_name/rootfs/etc/ssl/private

ブラウザをホスト クラウド インスタンスのパブリック IP に向けると、juju-gui Web 管理者ログイン ページにリダイレクトされますが、「Juju 環境に接続しています」というメッセージが表示され続けます。

誰かが以前にこれをやったことがあるのは確かですが、何が正しく構成されていないのかを突き止めようとして行き詰まっています。

私の目標は、ブラウザーをクラウド インスタンスのパブリック アドレスに向け、juju-gui にログインし、ローカル プロバイダー用にセットアップされているため、そのクラウド インスタンス内のより多くの LXC コンテナーに追加のチャーム/サービスを展開できるようにすることです。

答え1

最終的に、次の IPTABLES コマンドを使用して、JUJU-GUI が実行されている LXC コンテナーに HTTP および HTTPS アクセスを転送しました。

sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 443 -j DNAT --to <lxc-ip>:443
sudo iptables -t nat -I PREROUTING -p tcp -d <host-ip> --dport 80 -j DNAT --to <lxc-ip>:80
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 443 -j ACCEPT
sudo iptables -A FORWARD -p tcp -d <lxc-ip> --dport 80 -j ACCEPT

上記を使用することで、インターネットから「ローカル」プロバイダー モードで LXC コンテナーで実行されている Juju-GUI にアクセスできるようになりました。

デプロイされたチャームはすべて、同じホスト上の他の LXC コンテナーにデプロイされます。

答え2

簡単に答えると、これは現在 Juju GUI を設定するためのテスト済みおよびサポートされている方法ではありません。機能するには、Juju 状態サーバーとの直接の wss 通信が必要です。チームはこれに関心を持っていますが、これを有効にしてサポートするために私たちが実行できる作業があるかどうかを確認するために、設定の詳細を共有していただけると嬉しいです。

答え3

コンテナに静的ルートを追加するには、コンピューターのターミナルでこのコマンドを使用するだけです。

sudo route add -net 10.X.X.X/24 gw SERVERIP

たとえば、パブリック サーバーのアドレスが で1.1.1.1、コンテナーのアドレスがの場合10.0.3.194/24、使用するコマンドは次のようになります。

sudo route add -net 10.0.3.0/24 gw 1.1.1.1

関連情報