검색

8.2. 가상 머신을 기본 Pod 네트워크에 연결

download PDF

masquerade 바인딩 모드를 사용하도록 네트워크 인터페이스를 구성하여 가상 머신을 기본 내부 Pod 네트워크에 연결할 수 있습니다.

참고

실시간 마이그레이션 중에 네트워크 인터페이스를 통해 기본 Pod 네트워크로 전달되는 트래픽이 중단됩니다.

8.2.1. 명령줄에서 가상 모드 구성

가상 모드를 사용하여 Pod IP 주소를 통해 나가는 가상 머신의 트래픽을 숨길 수 있습니다. 가상 모드에서는 NAT(Network Address Translation)를 사용하여 가상 머신을 Linux 브리지를 통해 Pod 네트워크 백엔드에 연결합니다.

가상 머신 구성 파일을 편집하여 가상 모드를 사용하도록 설정하고 트래픽이 가상 머신에 유입되도록 허용하십시오.

사전 요구 사항

  • 가상 머신은 DHCP를 사용하여 IPv4 주소를 가져오도록 구성해야 합니다.

프로세스

  1. 가상 머신 구성 파일의 interfaces 스펙을 편집합니다.

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: example-vm
    spec:
      template:
        spec:
          domain:
            devices:
              interfaces:
                - name: default
                  masquerade: {} 1
                  ports: 2
                    - port: 80
    # ...
          networks:
          - name: default
            pod: {}
    1
    가상 모드를 사용하여 연결합니다.
    2
    선택 사항: 가상 머신에서 노출할 포트를 나열합니다. 각각 port 필드에 지정된 포트를 나열합니다. port 값은 0에서 65536 사이의 숫자여야 합니다. 포트 배열을 사용하지 않으면 유효한 범위의 모든 포트가 들어오는 트래픽에 열려 있습니다. 이 예에서는 포트 80 에서 들어오는 트래픽이 허용됩니다.
    참고

    포트 49152 및 49153은 libvirt 플랫폼에서 사용하도록 예약되며 이러한 포트에 대한 기타 들어오는 트래픽은 모두 삭제됩니다.

  2. 가상 머신을 생성합니다.

    $ oc create -f <vm-name>.yaml

8.2.2. 듀얼 스택(IPv4 및 IPv6)을 사용하여 가상 모드 구성

cloud-init를 사용하여 기본 pod 네트워크에서 IPv6 및 IPv4를 모두 사용하도록 새 VM(가상 머신)을 구성할 수 있습니다.

가상 머신 인스턴스 구성의 Network.pod.vmIPv6NetworkCIDR 필드에는 VM의 정적 IPv6 주소와 게이트웨이 IP 주소가 결정됩니다. 이는 virt-launcher Pod에서 IPv6 트래픽을 가상 머신으로 라우팅하는 데 사용되며 외부적으로 사용되지 않습니다. Network.pod.vmIPv6NetworkCIDR 필드는 CIDR(Classless Inter-Domain Routing) 표기법으로 IPv6 주소 블록을 지정합니다. 기본값은 fd10:0:2::2/120 입니다. 네트워크 요구 사항에 따라 이 값을 편집할 수 있습니다.

가상 시스템이 실행 중이면 가상 시스템의 들어오고 나가는 트래픽이 virt-launcher Pod의 IPv4 주소와 고유한 IPv6 주소로 라우팅됩니다. 그런 다음 virt-launcher Pod는 IPv4 트래픽을 가상 시스템의 DHCP 주소로 라우팅하고 IPv6 트래픽을 가상 시스템의 IPv6 주소로 정적으로 설정합니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터는 듀얼 스택용으로 구성된 OVN-Kubernetes CNI(Container Network Interface) 네트워크 플러그인을 사용해야 합니다.

프로세스

  1. 새 가상 시스템 구성에서 masquerade가 있는 인터페이스를 포함하고 cloud-init를 사용하여 IPv6 주소 및 기본 게이트웨이를 구성합니다.

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: example-vm-ipv6
    spec:
      template:
        spec:
          domain:
            devices:
              interfaces:
                - name: default
                  masquerade: {} 1
                  ports:
                    - port: 80 2
    # ...
          networks:
          - name: default
            pod: {}
          volumes:
          - cloudInitNoCloud:
              networkData: |
                version: 2
                ethernets:
                  eth0:
                    dhcp4: true
                    addresses: [ fd10:0:2::2/120 ] 3
                    gateway6: fd10:0:2::1 4
    1
    가상 모드를 사용하여 연결합니다.
    2
    포트 80에서 가상 머신으로 들어오는 트래픽을 허용합니다.
    3
    가상 머신 인스턴스 구성의 Network.pod.vmIPv6NetworkCIDR 필드에 의해 결정된 정적 IPv6 주소입니다. 기본값은 fd10:0:2::2/120 입니다.
    4
    가상 머신 인스턴스 구성의 Network.pod.vmIPv6NetworkCIDR 필드에 의해 결정된 게이트웨이 IP 주소입니다. 기본값은 fd10:0:2::1 입니다.
  2. 네임스페이스에서 가상 머신을 생성합니다.

    $ oc create -f example-vm-ipv6.yaml

검증

  • IPv6가 구성되었는지 확인하려면 가상 시스템을 시작하고 가상 시스템 인스턴스의 인터페이스 상태를 확인하여 IPv6 주소가 있는지 확인합니다.
$ oc get vmi <vmi-name> -o jsonpath="{.status.interfaces[*].ipAddresses}"

8.2.3. 점보 프레임 지원 정보

OVN-Kubernetes CNI 플러그인을 사용하는 경우 기본 Pod 네트워크에 연결된 두 개의 VM(가상 머신) 간에 조각화되지 않은 점보 프레임 패킷을 보낼 수 있습니다. 점보 프레임에는 최대 전송 단위(MTU) 값이 1500바이트보다 큽니다.

VM은 다음 방법 중 하나로 클러스터 관리자가 설정한 클러스터 네트워크의 MTU 값을 자동으로 가져옵니다.

  • libvirt: 게스트 OS에 에뮬레이션된 장치에서 PCI(Peripheral Component Interconnect) 구성 레지스터를 통해 들어오는 데이터를 해석할 수 있는 최신 버전의 VirtIO 드라이버가 있는 경우.
  • DHCP: 게스트 DHCP 클라이언트에서 DHCP 서버 응답에서 MTU 값을 읽을 수 있는 경우
참고

VirtIO 드라이버가 없는 Windows VM의 경우 netsh 또는 유사한 도구를 사용하여 MTU를 수동으로 설정해야 합니다. Windows DHCP 클라이언트에서 MTU 값을 읽지 않기 때문입니다.

8.2.4. 추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.