애플리케이션 인스턴스에 자체 IP를 부여하시겠습니까? 매우 가벼운 컨테이너화?

애플리케이션 인스턴스에 자체 IP를 부여하시겠습니까? 매우 가벼운 컨테이너화?

2년쯤 전에 방법이 적힌 쪽지를 받았는데, 지금은 그 쪽지나 방법을 찾을 수 없습니다. 누구든지 이것을 달성하는 가장 쉬운 방법을 알고 있습니까?

답변1

시작하는 데 도움이 되도록 새 네트워크 네임스페이스를 만들고 xterm그 안에서 시작하여 그 안의 모든 것이 해당 네임스페이스에서 발생하도록 하는 간단한 스크립트가 있습니다. 또한 veth-pair를 통해 네임스페이스를 기본 네임스페이스에 연결합니다.

모든 veth 엔드포인트를 브리지의 기본 네임스페이스에 배치하여 멀티캐스팅이 간단하도록 하고(또는 원하는 경우 멀티캐스트 라우터를 추가하고) xterm에서 애플리케이션을 실행하고(또는 스크립트를 수정하여) 원하는 효과를 얻었는지 확인하십시오. your_userid인스턴스를 실행해야 하는 사용자 ID로 바꿔야 합니다 .

#!/bin/bash

# Setup network namespace with veth pair, start xterm in it

# nsterm ns0 veth0 10.0.0 yellow 24
#

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

NS=${1:-ns0}
DEV=${2:-veth0}
DEV_A=${DEV}a
DEV_B=${DEV}b
ADDR=${3-:10.0.0}
ADDR_A=${ADDR}.254
ADDR_B=${ADDR}.1
MASK=${5:-24}
COL=${4:-yellow}

# echo ns=$NS dev=$DEV col=$COL mask=$MASK

ip netns add $NS
ip link add $DEV_A type veth peer name $DEV_B netns $NS
ip addr add $ADDR_A/$MASK dev $DEV_A
ip link set ${DEV}a up
ip netns exec $NS ip addr add $ADDR_B/$MASK dev $DEV_B
ip netns exec $NS ip link set ${DEV}b up
ip netns exec $NS ip route add default via $ADDR_A dev $DEV_B
ip netns exec $NS su -c "xterm -bg $COL &" your_userid

답변2

아, 대답은 그랬고지옥불. 네트워크 네임스페이스보다 다루기가 더 쉽습니다.

관련 정보