로컬 서버에서 Juju를 어떻게 실행합니까?


16

집에있는 서버에서 juju를 사용하여 juju를 알고 함께 놀고 싶습니다. 여러 대의 컴퓨터가 있고 그 중 하나에서 서버의 내용에 액세스하고 싶습니다. 튜토리얼을 진행했을 때 juju를 설정했지만 로컬 컴퓨터에만 서비스를 노출했습니다. 전체 네트워크에 노출하고 싶습니다. 어떻게해야합니까?

참고 : 내 서버가 이미 존재하고 12.04를 실행 중입니다 .juju를 작동시키기 위해 maas를 사용하여 다시 설치하고 싶지 않습니다. 또한 네트워크에서 제어하는 ​​내 컴퓨터에서이 기능을 시도하고 싶기 때문에 ec2 또는 다른 공급자의 "클라우드에서"이 기능을 실행하고 싶지 않습니다.

편집하다:-

  • 방화벽 없음
  • 차단하지 않고 모든 포트가 열립니다
  • 예. LAN (192.168.1.0/24)의 모든 컴퓨터는 192.168.1.2의 서버 (homeserver.local)를 볼 수 있습니다.
  • 위의 범위에서 IP 주소를 제거하는 하나의 DHCP 서버가있는 표준 유선 및 WiFi
  • 올바르게 설정하고 (방금 처음부터 다시 시작 함) Luis가 저에게 지시 한 지침을 따릅니다. 결과는 다음과 같습니다 .- http://paste.ubuntu.com/5714640/
  • 주주 상태는 위와 같습니다.

따라서 모두 정상적으로 작동하지만 주요 문제는 컨테이너에 서버에 로컬로 할당 된 IP 주소가 있으며 서버 자체에서만 액세스 할 수 있다는 것입니다. 192.168.1.0/24 범위에서 10.x IP 주소에 액세스하기 위해 모든 곳에서 ssh 포트 전달을 설정할 수는 있지만 지나치게 복잡하고 불필요합니다. LAN을 통해 컨테이너를 노출하고 싶습니다.


pastebin 링크는 C ++ 프로그램을 가리 킵니다.
— rigved

1
글쎄, 이상하다!
— popey

답변:


11

알았어!

/ 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를 편집하고 LAN (192.168.1.0/24 유형 설정)에 대해 LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX를 적절하게 설정하십시오. 다른 컴퓨터에서 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"

또한 environment.yaml에서 로컬 제공자의 "네트워크 브리지"설정을 변경해야합니다. 그렇지 않으면 juju가 기본 "lxcbr0"을 계속 사용하려고합니다.
— dimitern

5

내가 이해할 수 있도록 Juju가 설치되어 작동하지만 네트워크의 다른 컴퓨터에 서비스를 노출하려고합니다. 네트워크상의 모든 컴퓨터가 서로를 볼 수 있고 IP 주소가 올바른 것으로 가정합니다.

또한 당신이 이야기하는 튜토리얼이 이것 중 하나라고 생각합니다.

다른 컴퓨터에서 서비스를 사용할 수있게하려면 다음과 같이하십시오.

juju expose SERVICE

사용 하둡을 설치하는 방법? 예를 들면 다음과 같습니다.

juju expose hadoop-master

주주 노출 - 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/lxcLAN에 맞게 LXC_BRIDGE, LXC_ADDR, LXC_NETMASK, LXC_NETWORK, LXC_DHCP_RANGE & LXC_DHCP_MAX를 적절히 편집 하고 설정 하십시오 (192.168.1.0/24 유형 설정)

    이제 juju status내 장치의 192.168.1.0/24 주소가 표시되고 다른 컴퓨터에서 LAN을 통해 액세스 할 수 있습니다.


1
그러나 서버에 ssh하고 "lynx 10.0.3.234"를 실행하면 워드 프레스 페이지가 나타납니다. 따라서 lxc 컨테이너가 실행 중이고 wordpress는 10.0.3.234의 포트 80에 성공적으로 설치되어 사용 가능하지만 서버 내부에서만 볼 수 있습니다. 내 생각에 juju 로컬 배포는 별도의 시스템이 아닌 랩톱 에서이 자료를 운반하는 개발자에게 적합합니다.
— popey
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.