Wie starte ich Juju auf einem lokalen Server?

16

Ich möchte Juju auf meinem Server zu Hause verwenden, um Juju kennenzulernen und damit zu spielen. Ich habe mehrere Computer und möchte von jedem auf den Server zugreifen. Als ich das Tutorial durchgesehen habe, hat es Juju in Ordnung eingerichtet, aber nur die Dienste für den lokalen Computer verfügbar gemacht. Ich möchte sie dem gesamten Netzwerk aussetzen. Wie kann ich das machen?

Hinweis: Mein Server existiert bereits und läuft unter 12.04. Ich möchte ihn nicht mit maas neu installieren, nur um Juju zum Laufen zu bringen. Ich möchte dies auch nicht "in der Cloud" auf ec2 oder einem anderen Anbieter ausführen, da ich dies auf meinem eigenen Computer unter meiner Kontrolle in meinem Netzwerk ausprobieren möchte.

Bearbeiten:-

  • Keine Firewall
  • Keine Blockierung, alle Ports offen
  • Ja. Alle Computer im LAN (192.168.1.0/24) können den Server (homeserver.local) unter 192.168.1.2 sehen
  • Ziemlich normal verkabelt und WLAN mit einem DHCP-Server, der IP-Adressen im oben genannten Bereich ausgibt
  • Richtig einrichten (neu gestartet) und Tutorial befolgt Luis verwies mich darauf, hier sind die Ergebnisse: - http://paste.ubuntu.com/5714640/
  • Der Juju-Status wurde oben angezeigt.

Alles läuft also in Ordnung, aber das Hauptproblem ist, dass die Container lokal auf dem Server zugewiesene IP-Adressen haben, auf die nur auf dem Server selbst zugegriffen werden kann. Obwohl ich die Einrichtung der SSH-Portweiterleitung überall einrichten könnte, um auf die 10.x-IP-Adressen aus dem Bereich 192.168.1.0/24 zuzugreifen, scheint dies überkompliziert und unnötig zu sein. Ich möchte die Container über mein LAN ausgesetzt.

Popey
quelle
der Pastebin Link verweist auf ein C ++ Programm ...
rigved
1
Nun, das ist seltsam!
Popey

Antworten:

11

Ok, gelöst!

Richten Sie das überbrückte Netzwerk br0 in / etc / network / interfaces ein.

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

Bearbeiten Sie /etc/lxc/lxc.conf und setzen Sie lxc.network.link = br0

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

Bearbeite / etc / default / lxc und setze LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX passend für mein LAN (192.168.1.0/24 Typ Einstellungen) sie über das LAN von einem anderen Computer

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"
Popey
quelle
Sie müssen auch die "Netzwerkbrücke" -Einstellung des lokalen Providers in Ihrer environ.yaml ändern, andernfalls versucht juju weiterhin, die Standardeinstellung "lxcbr0" zu verwenden.
Dimitern
5

Soweit ich das verstehe, haben Sie Juju installiert und arbeiten, möchten aber einen Dienst für andere Computer in Ihrem Netzwerk verfügbar machen. Ich gehe davon aus, dass alle Computer in Ihrem Netzwerk sich sehen und die IP-Adressen korrekt sind.

Ich vermute auch, dass das Tutorial, über das Sie sprechen, eines davon ist:

Dann stelle ich mir vor, dass Sie Folgendes tun, wenn Sie den Dienst für andere Computer verfügbar machen möchten:

juju expose SERVICE

Verwendung Wie installiere ich Hadoop? als beispiel würde ich:

juju expose hadoop-master

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

juju status SERVICE hilft auch dabei, herauszufinden, wie der Dienst funktioniert.

Natürlich gibt es ein paar Dinge, die ich über das Netzwerk und den Server wissen müsste, zum Beispiel:

  • Verfügt der Server über eine Firewall-Einrichtung (iptables, ufw ...)?
  • Verfügt das Netzwerk über einen Router, der so konfiguriert ist, dass er blockiert, weiterleitet und Probleme beim Zugriff auf den Server verursacht?
  • Sehen die Computer im LAN den Server?
  • Gibt es eine spezielle Verbindung, die nicht allgemein (drahtlos oder verkabelt) oder sicherheitsrelevant ist und ein Problem mit den Clients und dem Server verursachen kann?
  • Sind alle Schritte zum Einrichten von Juju korrekt ausgeführt (wie in den genannten Tutorials angegeben, insbesondere der Teil, environments.yamlden ich häufig vergesse oder den ich falsch einstelle) ?
  • Gibt juju statusIhnen einen Einblick, woran das Problem liegen könnte?
  • Haben Sie mehrere Umgebungen in der environments.yamlDatei eingerichtet?

Falls der Dienst aufgrund von LXC nicht nach außen gezeigt wird, gehen Sie wie folgt vor (bereitgestellt durch die Antwort, die Popey gegeben hat, und viele Nachforschungen):

  • Richten Sie das überbrückte Netzwerk br0 in / etc / network / interfaces ein
  • Bearbeiten /etc/lxc/lxc.confund einstellenlxc.network.link=br0
  • Bearbeiten /etc/default/lxcund setzen Sie LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE und LXC_DHCP_MAX entsprechend den LAN-Einstellungen (192.168.1.0/24).

    Jetzt juju statussollten 192.168.1.0/24 Adressen für meine Geräte angezeigt werden und über das LAN von einem anderen Rechner aus zugegriffen werden können.

Luis Alvarado
quelle
1
Wenn ich jedoch auf den Server ssh und "lynx 10.0.3.234" starte, erhalte ich die WordPress-Seite. Der lxc-Container ist also aktiv und WordPress ist erfolgreich installiert und auf Port 80 unter 10.0.3.234 verfügbar. Dies ist jedoch nur intern auf dem Server sichtbar. Meiner Meinung nach ist die lokale Bereitstellung von juju auf Entwickler zugeschnitten, die dieses Zeug auf ihrem Laptop und nicht auf einem separaten Computer herumtragen.
Popey