Bagaimana cara menjalankan Juju di server lokal?

16

Saya ingin menggunakan juju di server saya di rumah untuk mengenal juju dan bermain dengannya. Saya memiliki beberapa komputer dan ingin mengakses apa yang ada di server dari salah satu dari mereka. Ketika saya pergi melalui tutorial itu setup juju oke, tetapi hanya mengekspos layanan ke mesin lokal. Saya ingin mengekspos mereka ke seluruh jaringan. Bagaimana saya bisa melakukan ini?

Catatan: server saya sudah ada dan sedang menjalankan 12.04, saya tidak ingin menginstal ulang menggunakan maas hanya untuk membuat juju berfungsi. Saya juga tidak ingin menjalankan ini "di cloud" di ec2 atau penyedia lain karena saya ingin mencoba ini di mesin saya sendiri di bawah kendali saya di jaringan saya.

Edit: -

  • Tidak ada firewall
  • Tanpa pemblokiran, semua port terbuka
  • Iya. Semua komputer di LAN (192.168.1.0/24) dapat melihat server (homeserver.local) pada 192.168.1.2
  • Kabel dan wifi cukup standar dengan satu server DHCP yang membagikan alamat IP dalam kisaran di atas
  • Pengaturan dengan benar (baru mulai lagi dari awal) dan mengikuti tutorial yang diarahkan oleh Luis kepada saya, inilah hasilnya: - http://paste.ubuntu.com/5714640/
  • Status juju ditunjukkan di atas.

Jadi, semua berjalan baik-baik saja, tetapi masalah utamanya adalah bahwa kontainer memiliki alamat IP yang ditetapkan secara lokal di server, yang hanya dapat diakses di server itu sendiri. Sementara saya bisa berkeliling menyiapkan ssh port forwarding di semua tempat untuk mengakses alamat IP 10.x dari kisaran 192.168.1.0/24, ini tampaknya terlalu rumit dan tidak perlu. Saya ingin wadah terbuka di LAN saya.

popey
sumber
tautan pastebin menunjuk ke program C ++ ...
rigated
1
Nah itu aneh!
popey

Jawaban:

11

Oke, selesaikan!

Setup bridged network br0 di / etc / network / interfaces.

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

Edit /etc/lxc/lxc.conf dan atur lxc.network.link = br0

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

Edit / etc / default / lxc dan atur LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX dengan tepat untuk LAN saya (192.168.1.0/24 pengaturan jenis) sekarang juju status saya dapat mengakses alamat dan alamat 2.016.11. mereka melalui LAN dari komputer lain

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
sumber
Anda juga harus mengubah pengaturan "jembatan jaringan" dari penyedia lokal di lingkungan Anda. Ya, jika tidak, juju akan terus mencoba menggunakan "lxcbr0" default.
dimitern
5

Untuk apa yang saya bisa mengerti, Anda telah menginstal dan bekerja Juju tetapi Anda ingin mengekspos layanan ke komputer lain di jaringan Anda. Saya akan menganggap semua komputer di jaringan Anda dapat saling melihat dan memiliki alamat IP yang benar.

Saya juga menebak tutorial yang Anda bicarakan adalah salah satunya:

maka saya akan membayangkan bahwa jika Anda ingin membuat layanan tersedia untuk komputer lain Anda akan melakukan ini:

juju expose SERVICE

Menggunakan Cara menginstal Hadoop? sebagai contoh saya akan:

juju expose hadoop-master

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

juju status SERVICE juga membantu dalam mencari tahu bagaimana layanan ini bekerja.

Tentu saja ada beberapa hal yang perlu saya ketahui tentang jaringan dan server, misalnya:

  • Apakah server memiliki pengaturan firewall (iptables, ufw ...)
  • Apakah jaringan memiliki router yang dikonfigurasikan untuk melakukan sesuatu yang berkaitan dengan pemblokiran, penerusan dan semacamnya yang akan membuat masalah ketika mencoba mengakses server?
  • Apakah komputer di LAN melihat server?
  • Apakah ada koneksi khusus yang tidak umum (Nirkabel atau Kabel) atau keamanan yang digunakan yang dapat membuat masalah dengan klien dan server?
  • Apakah semua langkah untuk setup Juju dilakukan dengan benar (Seperti yang disediakan oleh tutorial yang disebutkan, khususnya bagian environments.yamlyang saya cenderung lupa atau salah).
  • Apakah juju statusmemberi Anda wawasan tentang apa masalahnya?
  • Apakah Anda memiliki beberapa lingkungan yang diatur dalam environments.yamlfile?

Dalam hal layanan tidak ditampilkan ke luar karena LXC, lakukan hal berikut (Diberikan oleh jawaban yang diberikan oleh popey dan banyak penelitian):

  • Setup bridged network br0 di / etc / network / interfaces
  • Edit /etc/lxc/lxc.confdan aturlxc.network.link=br0
  • Edit /etc/default/lxcdan set LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX dengan tepat ke LAN (192.168.1.0/24 pengaturan tipe)

    Sekarang juju statusharus menunjukkan 192.168.1.0/24 alamat untuk unit saya dan dapat diakses melalui LAN dari komputer lain.

Luis Alvarado
sumber
1
Namun, jika saya ssh ke server dan menjalankan "lynx 10.0.3.234" saya mendapatkan halaman wordpress. Jadi kontainer lxc sudah aktif dan berjalan, dan wordpress berhasil diinstal dan tersedia di port 80 pada 10.0.3.234, tetapi itu hanya terlihat secara internal di server. Pemikiran saya adalah bahwa penyebaran lokal juju dirancang untuk pengembang yang membawa barang-barang ini di laptop mereka, bukan ke mesin yang terpisah.
popey