Làm cách nào để chạy Juju trên máy chủ cục bộ?


16

Tôi muốn sử dụng juju trên máy chủ của tôi ở nhà để làm quen với juju và chơi với nó. Tôi có nhiều máy tính và muốn truy cập những gì trên máy chủ từ bất kỳ máy tính nào. Khi tôi hoàn thành hướng dẫn, nó thiết lập juju, nhưng chỉ hiển thị các dịch vụ cho máy cục bộ. Tôi muốn phơi bày chúng ra toàn mạng. Tôi có thể làm cái này như thế nào?

Lưu ý: máy chủ của tôi đã tồn tại và đang chạy 12.04, tôi không muốn cài đặt lại bằng maas chỉ để juju hoạt động. Tôi cũng không muốn chạy "trong đám mây" này trên ec2 hoặc bất kỳ nhà cung cấp nào khác vì tôi muốn dùng thử trên máy của mình dưới sự kiểm soát của tôi trên mạng.

Biên tập:-

  • Không có tường lửa
  • Không chặn, tất cả các cổng mở
  • Đúng. Tất cả các máy tính trên mạng LAN (192.168.1.0/24) có thể thấy máy chủ (homeserver.local) trên 192.168.1.2
  • Có dây và wifi khá chuẩn với một máy chủ DHCP đang loại bỏ các địa chỉ IP trong phạm vi trên
  • Thiết lập chính xác (chỉ bắt đầu lại từ đầu) và làm theo hướng dẫn Luis hướng dẫn tôi đến, đây là kết quả: - http : //paste.ub Ubuntu.com/5714640/
  • tình trạng juju cho thấy ở trên.

Vì vậy, tất cả đều chạy ổn, nhưng vấn đề chính là các container có địa chỉ IP được gán cục bộ trên máy chủ, chỉ có thể truy cập trên chính máy chủ. Mặc dù tôi có thể đi xung quanh để thiết lập cổng ssh chuyển tiếp khắp nơi để truy cập các địa chỉ IP 10.x từ phạm vi 192.168.1.0/24, nhưng điều này có vẻ quá phức tạp và không cần thiết. Tôi muốn các container tiếp xúc với mạng LAN của tôi.


liên kết pastebin trỏ đến một chương trình C ++ ...
gian lận

1
Thật là kỳ lạ!
popey

Câu trả lời:


11

Ok, đã giải quyết!

Thiết lập mạng cầu nối br0 trong / etc / mạng / giao diệ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

Chỉnh sửa /etc/lxc/lxc.conf và đặt lxc.network.link = br0

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

Chỉnh sửa / etc / default / lxc và đặt LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX phù hợp với các địa chỉ mạng LAN của tôi chúng qua mạng LAN từ máy khác

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"

Bạn cũng cần thay đổi cài đặt "cầu nối mạng" của nhà cung cấp cục bộ trong môi trường của mình.yaml, nếu không, juju sẽ tiếp tục cố gắng sử dụng "lxcbr0" mặc định.
dimitern

5

Đối với những gì tôi có thể hiểu, bạn đã cài đặt và làm việc Juju nhưng bạn muốn hiển thị một dịch vụ cho các máy tính khác trong mạng của mình. Tôi sẽ giả sử tất cả các máy tính trên mạng của bạn có thể nhìn thấy nhau và có địa chỉ IP chính xác.

Tôi cũng đoán hướng dẫn mà bạn đang nói là một trong số này:

sau đó tôi sẽ tưởng tượng rằng nếu bạn muốn cung cấp dịch vụ cho các máy tính khác, bạn sẽ làm điều này:

juju expose SERVICE

Sử dụng Làm thế nào để cài đặt Hadoop? như ví dụ tôi sẽ:

juju expose hadoop-master

Juju Expose - https://jujucharms.com/docs/urdy/charms-exposeing

juju status SERVICE cũng giúp tìm ra cách dịch vụ đang hoạt động.

Tất nhiên, có một vài điều tôi cần biết về mạng và máy chủ, ví dụ:

  • Máy chủ có cài đặt tường lửa không (iptables, ufw ...)
  • Mạng có bộ định tuyến được cấu hình để thực hiện một số thứ liên quan đến chặn, chuyển tiếp và điều đó sẽ tạo ra sự cố khi truy cập máy chủ không?
  • Các máy tính trong mạng LAN có nhìn thấy máy chủ không?
  • Có bất kỳ kết nối đặc biệt nào không phổ biến (Không dây hoặc Có dây) hoặc bảo mật được sử dụng có thể gây ra sự cố với máy khách và máy chủ không?
  • Tất cả các bước để thiết lập Juju có được thực hiện chính xác không (Như được cung cấp bởi các hướng dẫn được đề cập, đặc biệt là phần environments.yamlmà tôi có xu hướng quên hoặc nhận sai).
  • juju statuscung cấp cho bạn một cái nhìn sâu sắc về những gì vấn đề có thể được?
  • Bạn có nhiều môi trường được thiết lập trong environments.yamltệp không?

Trong trường hợp dịch vụ không được hiển thị ra bên ngoài vì LXC, hãy làm như sau (Được cung cấp bởi câu trả lời mà popey đưa ra và rất nhiều nghiên cứu):

  • Thiết lập mạng cầu nối br0 trong / etc / mạng / giao diện
  • Chỉnh sửa /etc/lxc/lxc.confvà thiết lậplxc.network.link=br0
  • Chỉnh sửa /etc/default/lxcvà đặt LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX phù hợp với mạng LAN (cài đặt loại 192.168.1.0/24)

    Bây giờ juju statussẽ hiển thị 192.168.1.0/24 địa chỉ cho các đơn vị của tôi và có thể truy cập qua mạng LAN từ một máy khác.


1
Tuy nhiên, nếu tôi ssh đến máy chủ và chạy "lynx 10.0.3.234" thì tôi nhận được trang wordpress. Vì vậy, bộ chứa lxc đã hoạt động và wordpress được cài đặt thành công và có sẵn trên cổng 80 vào ngày 10.0.3.234, nhưng chỉ hiển thị bên trong máy chủ. Tôi nghĩ rằng việc triển khai cục bộ juju được thiết kế riêng cho các nhà phát triển mang theo thứ này trên máy tính xách tay của họ chứ không phải cho một máy riêng biệt.
popey
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.