15.12.3. 리디렉션 모드에서 송신 라우터 Pod 배포


송신 라우터 포드를 배포하여 자체 예약된 소스 IP 주소에서 하나 이상의 대상 IP 주소로 트래픽을 리디렉션할 수 있습니다.

송신 라우터 포드를 추가한 후 예약된 소스 IP 주소를 사용해야 하는 클라이언트 포드는 대상 IP에 직접 연결하는 대신 송신 라우터에 연결하도록 수정해야 합니다.

사전 요구 사항

  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

프로세스

  1. 네트워크 연결 정의를 생성합니다.
  2. 송신 라우터 Pod를 생성합니다.
  3. 다른 포드에서 송신 라우터 포드의 IP 주소를 찾을 수 있도록 하려면 다음 예제와 같이 송신 라우터 포드를 사용하는 서비스를 만듭니다.

    apiVersion: v1
    kind: Service
    metadata:
      name: egress-1
    spec:
      ports:
      - name: database
        protocol: TCP
        port: 3306
      type: ClusterIP
      selector:
        name: egress-router-pod
    Copy to Clipboard Toggle word wrap

    서비스를 생성한 후 포드가 서비스에 연결할 수 있습니다. 송신 라우터 포드는 대상 IP 주소의 해당 포트에 대한 연결을 리디렉션합니다. 이 연결은 예약된 소스 IP 주소에서 시작됩니다.

검증

송신 라우터 포드가 시작하고 보조 네트워크 인터페이스가 있는지 확인하려면 다음 절차를 완료합니다.

  1. 송신 라우터 포드에 대한 이벤트를 봅니다.

    $ oc get events --field-selector involvedObject.name=egress-router-pod
    Copy to Clipboard Toggle word wrap

    포드가 네트워크 연결 정의를 참조하는 경우, 이전 명령은 다음과 유사한 출력을 반환합니다.

    출력 예

    LAST SEEN   TYPE     REASON           OBJECT                  MESSAGE
    5m4s        Normal   Scheduled        pod/egress-router-pod   Successfully assigned default/egress-router-pod to ci-ln-9x2bnsk-f76d1-j2v6g-worker-c-24g65
    5m3s        Normal   AddedInterface   pod/egress-router-pod   Add eth0 [10.129.2.31/23]
    5m3s        Normal   AddedInterface   pod/egress-router-pod   Add net1 [192.168.12.99/24] from default/egress-router-redirect
    Copy to Clipboard Toggle word wrap

  2. 선택 사항: 송신 라우터 포드의 라우팅 테이블을 확인합니다.

    1. 송신 라우터 pod에 대한 노드 이름을 가져옵니다.

      $ POD_NODENAME=$(oc get pod egress-router-pod -o jsonpath="{.spec.nodeName}")
      Copy to Clipboard Toggle word wrap
    2. 대상 노드에서 디버그 세션으로 들어갑니다. 이 단계는 <node_name>-debug라는 디버그 Pod를 인스턴스화합니다.

      $ oc debug node/$POD_NODENAME
      Copy to Clipboard Toggle word wrap
    3. 디버그 쉘 내에서 /host를 root 디렉터리로 설정합니다. 디버그 Pod는 Pod 내의 /host에 호스트의 루트 파일 시스템을 마운트합니다. 루트 디렉터리를 /host로 변경하면 호스트의 실행 경로에서 바이너리를 실행할 수 있습니다.

      # chroot /host
      Copy to Clipboard Toggle word wrap
    4. chroot 환경 콘솔에서 컨테이너 ID를 가져옵니다.

      # crictl ps --name egress-router-redirect | awk '{print $1}'
      Copy to Clipboard Toggle word wrap

      출력 예

      CONTAINER
      bac9fae69ddb6
      Copy to Clipboard Toggle word wrap

    5. 컨테이너의 프로세스 ID를 확인합니다. 이 예에서 컨테이너 ID는 bac9fae69ddb6입니다.

      # crictl inspect -o yaml bac9fae69ddb6 | grep 'pid:' | awk '{print $2}'
      Copy to Clipboard Toggle word wrap

      출력 예

      68857
      Copy to Clipboard Toggle word wrap

    6. 컨테이너의 네트워크 네임스페이스를 입력합니다.

      # nsenter -n -t 68857
      Copy to Clipboard Toggle word wrap
    7. 라우팅 테이블을 표시합니다.

      # ip route
      Copy to Clipboard Toggle word wrap

      다음 예제 출력에서 net1 네트워크 인터페이스가 기본 경로입니다. 클러스터 네트워크의 트래픽은 eth0 네트워크 인터페이스를 사용합니다. 192.168.12.0/24 네트워크의 트래픽은 net1 네트워크 인터페이스를 사용하며 예약된 소스 IP 주소 192.168.12.99에서 시작됩니다. 포드는 다른 모든 트래픽을 IP 주소 192.168.12.1의 게이트웨이로 라우팅합니다. 서비스 네트워크의 라우팅이 표시되지 않습니다.

      출력 예

      default via 192.168.12.1 dev net1
      10.129.2.0/23 dev eth0 proto kernel scope link src 10.129.2.31
      192.168.12.0/24 dev net1 proto kernel scope link src 192.168.12.99
      192.168.12.1 dev net1
      Copy to Clipboard Toggle word wrap

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2025 Red Hat