Juju'yu yerel bir sunucuda nasıl çalıştırırım?


16

Juju'yu tanımak ve onunla oynamak için evde sunucumda juju kullanmak istiyorum. Birden fazla bilgisayarım var ve bunlardan herhangi birinden sunucuda bulunanlara erişmek istiyorum. Ben öğretici geçti zaman juju tamam kurulum, ama sadece yerel makineye hizmetleri maruz. Onları tüm ağa maruz bırakmak istiyorum. Bunu nasıl yapabilirim?

Not: sunucum zaten var ve 12.04 çalışıyor, sadece juju çalışmak için maas kullanarak yeniden yüklemek istemiyorum. Ayrıca bunu ec2 veya başka bir sağlayıcıda "bulutta" çalıştırmak istemiyorum çünkü bunu ağımdaki kontrolüm altında kendi makinemde denemek istiyorum.

Düzenle:-

  • Güvenlik duvarı yok
  • Engelleme yok, tüm bağlantı noktaları açık
  • Evet. LAN üzerindeki tüm bilgisayarlar (192.168.1.0/24) 192.168.1.2'deki sunucuyu (homeserver.local) görebilir
  • Oldukça standart kablolu ve wifi, yukarıdaki aralıktaki IP adreslerini belirleyen bir DHCP sunucusu ile
  • Doğru kurulum (sıfırdan tekrar başladı) ve Luis'in bana yönlendirdiği öğreticiyi izledi, işte sonuçlar: - http://paste.ubuntu.com/5714640/
  • juju durumu yukarıda gösterilmiştir.

Yani, tüm iyi çalışıyor, ancak asıl sorun, kapsayıcıların sunucuda yerel olarak atanan ve yalnızca sunucunun kendisinde erişilebilen IP adreslerine sahip olmasıdır. 192.168.1.0/24 aralığından 10.x IP adreslerine erişmek için her yerde ssh port yönlendirme ayarlayabilirken, bu aşırı karmaşık ve gereksiz görünüyor. Konteynerlerin LAN'ımın üzerinde gösterilmesini istiyorum.


pastebin bağlantısı bir C ++ programına işaret ediyor ...
Haziran'da

1
Bu çok garip!
popey

Yanıtlar:


11

Tamam, çözüldü!

/ Etc / network / arayüzlerinde köprülü ağ br0 kurulumunu yapın.

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 dosyasını düzenleyin ve lxc.network.link = br0 ayarını yapın

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

/ Etc / default / lxc'yi düzenleyin ve LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE ve LXC_DHCP_MAX ayarlarını LAN'ım için uygun şekilde (192.168.1.0/24 tip ayarları) şimdi juju durumu 192.168.1 birimleri ve erişim adreslerimi gösterir. onları LAN üzerinden başka bir makineden

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"

Ayrıca, ortamlarınızdaki yerel sağlayıcının "ağ köprüsü" ayarını değiştirmeniz gerekecektir. Aksi takdirde juju, varsayılan "lxcbr0" ı kullanmaya devam edecektir.
dimitern

5

Anlayabildiğim kadarıyla, Juju'yu yüklediniz ve çalıştınız, ancak ağınızdaki diğer bilgisayarlara bir hizmet sunmak istiyorsunuz. Ağınızdaki tüm bilgisayarların birbirini görebildiğini ve IP adreslerinin doğru olduğunu varsayacağım.

Ayrıca bahsettiğiniz öğreticinin de bunlardan biri olduğunu tahmin ediyorum:

o zaman hizmet diğer bilgisayarlar için kullanılabilir yapmak istiyorsanız bunu yapacağını hayal ediyorum:

juju expose SERVICE

Kullanılması Hadoop nasıl yüklenir? örnek olarak:

juju expose hadoop-master

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

juju status SERVICE ayrıca hizmetin nasıl çalıştığını anlamaya yardımcı olur.

Tabii ki ağ ve sunucu hakkında bilmem gereken birkaç şey var, örneğin:

  • Sunucuda bir güvenlik duvarı kurulumu var mı (iptables, ufw ...)
  • Ağın engelleme, yönlendirme ve sunucuya erişmeye çalışırken bir sorun yaratacak bir şey yapacak şekilde yapılandırılmış bir yönlendiricisi var mı?
  • LAN üzerindeki bilgisayarlar sunucuyu görüyor mu?
  • İstemciler ve sunucu ile sorun yaratabilecek yaygın olmayan (Kablosuz veya Kablolu) veya güvenlik kullanılmayan özel bir bağlantı var mı?
  • Juju kurulumu için tüm adımlar doğru bir şekilde yapılıyor mu environments.yaml?
  • juju statusSorunun ne olabileceğine dair bir fikir veriyor mu ?
  • environments.yamlDosyada kurulu birden fazla ortam var mı?

Hizmetin LXC nedeniyle dışarıya gösterilmemesi durumunda aşağıdakileri yapın (Popey'in verdiği cevap ve çok fazla araştırma ile sağlanır):

  • / Etc / network / arayüzlerinde köprülü ağ br0 kurulumu
  • Düzenle /etc/lxc/lxc.confve ayarlalxc.network.link=br0
  • Düzen /etc/default/lxcve set LXC_BRIDGE, uygun LAN LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX (192.168.1.0/24 türü ayarları)

    Şimdi juju statusünitelerim için 192.168.1.0/24 adreslerini göstermeli ve LAN üzerinden başka bir makineden erişilebilir.


1
Ancak, sunucuya ssh ve "lynx 10.0.3.234" çalıştırmak Eğer wordpress sayfası alıyorum. Bu nedenle, lxc kapsayıcı çalışır durumdadır ve wordpress, 10.0.3.234'te 80 numaralı bağlantı noktasına başarıyla yüklenir ve kullanılabilir, ancak bu yalnızca sunucuda dahili olarak görülebilir. Benim düşüncem, juju yerel dağıtımının ayrı bir makineye değil, dizüstü bilgisayarlarında bu şeyleri taşıyan geliştiricilere göre uyarlanmış olmasıdır.
popey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.