로컬 서버에서 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.