web-dev-qa-db-ja.com

ローカルサーバーでJujuを実行するにはどうすればよいですか?

自宅のサーバーでジュジュを使ってジュジュを知り、遊んでみたいです。複数のコンピューターがあり、それらのいずれかからサーバー上のものにアクセスしたい。チュートリアルを完了すると、jujuは正常にセットアップされましたが、サービスはローカルマシンにのみ公開されました。それらをネットワーク全体に公開したいです。これどうやってするの?

注:私のサーバーは既に存在し、12.04を実行しています。jujuを機能させるためだけにmaasを使用して再インストールしたくありません。また、ネットワークで管理している自分のマシンでこれを試してみたいので、ec2や他のプロバイダーでこれを「クラウドで」実行したくありません。

編集:-

  • ファイアウォールなし
  • ブロッキングなし、すべてのポートが開いています
  • はい。 LAN(192.168.1.0/24)上のすべてのコンピューターは、192.168.1.2上のサーバー(homeserver.local)を見ることができます
  • 上記の範囲のIPアドレスを配布する1つのDHCPサーバーを備えたかなり標準的な有線およびwifi
  • 正しくセットアップし(最初からやり直したばかり)、Luisから指示されたチュートリアルに従ってください。結果は次のとおりです。 http://paste.ubuntu.com/5714640/
  • 上に示したjujuステータス。

したがって、すべては正常に実行されますが、主な問題は、コンテナにサーバー上でローカルに割り当てられたIPアドレスがあり、サーバー自体でのみアクセスできることです。 192.168.1.0/24の範囲から10.x IPアドレスにアクセスするために、あちこちでsshポートフォワーディングを設定することはできますが、これは複雑で不要なようです。 LANでコンテナを公開したいのですが。

16
popey

解決しました!

/ etc/network/interfacesでブリッジネットワークbr0をセットアップします。

auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
bridge_ports eth1
address 192.168.1.2
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
bridge_stp off
bridge_fd 0
bridge_maxwait 0

/etc/lxc/lxc.confを編集し、lxc.network.link = br0を設定します

lxc.network.type=veth
lxc.network.link=br0
lxc.network.flags=up

/ etc/default/lxcを編集し、LXC_BRIDGE、LXC_ADDR、LXC_NETMASK、LXC_NETWORK、LXC_DHCP_RANGEおよびLXC_DHCP_MAXをLAN(192.168.1.0/24タイプ設定)に適切に設定し、jujuステータスがユニットの192.168.1.0/24アドレスを表示し、アクセスできるようになりましたそれらを別のマシンからLAN経由で

LXC_BRIDGE="br0"
LXC_ADDR="192.168.1.2"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="192.168.1.0/24"
LXC_DHCP_RANGE="192.168.1.50,192.168.1.99"
LXC_DHCP_MAX="49"
11
popey

私が理解できることは、Jujuがインストールされて動作しているが、ネットワーク上の他のコンピューターにサービスを公開することです。ネットワーク上のすべてのコンピューターが相互に認識でき、IPアドレスが正しいと仮定します。

また、あなたが話しているチュートリアルは次のいずれかであると推測しています。

次に、他のコンピューターでサービスを利用できるようにしたい場合は、これを行うと想像します:

juju expose SERVICE

例として Hadoopのインストール方法 を使用します。

juju expose hadoop-master

Juju Expose- https://jujucharms.com/docs/stable/charms-exposing

juju status SERVICEは、サービスがどのように機能しているかを把握するのにも役立ちます。

もちろん、ネットワークとサーバーについて知っておくべきことがいくつかあります。たとえば:

  • サーバーにファイアウォールが設定されていますか(iptables、ufw ...)
  • ネットワークには、ブロック、転送などに関連する何かを行うように設定されたルーターがあり、サーバーにアクセスしようとすると問題が発生しますか?
  • LAN上のコンピューターはサーバーを認識していますか?
  • クライアントとサーバーに問題を引き起こす可能性のある、一般的ではない特別な接続(ワイヤレスまたは有線)または使用されているセキュリティはありますか?
  • Jujuをセットアップするためのすべてのステップは正しく行われていますか(言及されたチュートリアルで提供されているように、特にenvironments.yamlについての部分は忘れたり間違ったりする傾向があります)。
  • juju statusは、問題の可能性についての洞察を提供しますか?
  • environments.yamlファイルに複数の環境が設定されていますか?

LXCのためにサービスが外部に表示されない場合は、次の手順を実行します(popeyが提供した回答と多くの調査によって提供されます)。

  • / etc/network/interfacesでブリッジネットワークbr0をセットアップする
  • /etc/lxc/lxc.confを編集してlxc.network.link=br0を設定します
  • /etc/default/lxcを編集し、LXC_BRIDGE、LXC_ADDR、LXC_NETMASK、LXC_NETWORK、LXC_DHCP_RANGEおよびLXC_DHCP_MAXをLANに適切に設定します(192.168.1.0/24タイプ設定)

    これで、juju statusに私のユニットの192.168.1.0/24アドレスが表示され、別のマシンからLAN経由でアクセスできるようになります。

5
Luis Alvarado