25장. OVN-Kubernetes 네트워크 플러그인


25.1. OVN-Kubernetes 네트워크 플러그인 정보

OpenShift Container Platform 클러스터는 pod 및 service 네트워크에 가상화된 네트워크를 사용합니다.

Red Hat OpenShift Networking의 일부인 OVN-Kubernetes 네트워크 플러그인은 OpenShift Container Platform의 기본 네트워크 공급자입니다. OVN-Kubernetes는 OVN(Open Virtual Network)을 기반으로 하며 오버레이 기반 네트워킹 구현을 제공합니다.

중요

cloud -provider=external 옵션이 cloud-provider- vsphere 로 설정된 클라우드 컨트롤러 관리자(CCM)의 경우 여러 서브넷이 있는 네트워킹 환경에서 작동하는 클러스터에 대해 알려진 문제가 있습니다.

OpenShift Container Platform 4.12에서 OpenShift Container Platform 4.13으로 클러스터를 업그레이드할 때 CCM은 잘못된 노드 IP 주소를 선택하고 이 작업은 네임스페이스/openshift-cloud-controller-manager/pods/vsphere-cloud-controller-manager 로그에 오류 메시지를 생성합니다. 오류 메시지는 클러스터의 노드 IP 주소 및 vsphere-cloud-controller-manager Pod IP 주소와 일치하지 않음을 나타냅니다.

알려진 문제는 클러스터 업그레이드 작업에 영향을 미치지 않지만 클러스터가 네트워킹 요구 사항에 사용하는 nodeNetworking.external.networkSubnetCidrnodeNetworking.internal.networkSubnetCidr 매개변수 모두에서 올바른 IP 주소를 설정할 수 있습니다.

OVN-Kubernetes 플러그인을 사용하는 클러스터도 각 노드에서 OVS(Open vSwitch)를 실행합니다. OVN은 각 노드에서 선언된 네트워크 구성을 구현하도록 OVS를 구성합니다.

참고

OVN-Kubernetes는 OpenShift Container Platform 및 단일 노드 OpenShift 배포를 위한 기본 네트워킹 솔루션입니다.

OVS 프로젝트에서 발생한 OVN-Kubernetes는 오픈 흐름 규칙과 같은 많은 동일한 구성을 사용하여 패킷이 네트워크를 통과하는 방식을 결정합니다. 자세한 내용은 Open Virtual Network 웹 사이트를 참조하십시오.

OVN-Kubernetes는 가상 네트워크 구성을 OpenFlow 규칙으로 변환하는 OVS의 일련의 데몬입니다. OpenFlow 는 네트워크 스위치 및 라우터와 통신하기 위한 프로토콜로, 네트워크 장치에서 네트워크 트래픽 흐름을 원격으로 제어하는 수단을 제공하여 네트워크 트래픽 흐름을 구성, 관리 및 모니터링할 수 있습니다.

OVN-Kubernetes는 OpenFlow 에서 사용할 수 없는 고급 기능을 더 많이 제공합니다. OVN은 분산 가상 라우팅, 분산 논리 스위치, 액세스 제어, DHCP 및 DNS를 지원합니다. OVN은 개방형 흐름과 같은 논리 흐름 내에서 분산 가상 라우팅을 구현합니다. 예를 들어 네트워크에서 DHCP 요청을 보내는 Pod가 있는 경우 DHCP 주소를 찾는 브로드캐스트가 해당 패킷과 일치하는 논리 흐름 규칙이 되고, DNS 서버에서 IP 주소를 제공하는 논리 흐름 규칙이 표시됩니다.

OVN-Kubernetes는 각 노드에서 데몬을 실행합니다. 데이터베이스 및 모든 노드에서 실행되는 OVN 컨트롤러에 대한 데몬 세트가 있습니다. OVN 컨트롤러는 네트워크 공급자 기능, 송신 IP, 방화벽, 라우터, 하이브리드 네트워킹, IPSEC 암호화, IPv6, 네트워크 정책, 네트워크 정책 로그, 하드웨어 오프로드 및 멀티 캐스트를 지원하기 위해 노드의 Open vSwitch 데몬을 프로그래밍합니다.

25.1.1. OVN-Kubernetes 목적

OVN-Kubernetes 네트워크 플러그인은 OVN(Open Virtual Network)을 사용하여 네트워크 트래픽 흐름을 관리하는 완전한 기능을 갖춘 오픈 소스 Kubernetes CNI 플러그인입니다. OVN은 커뮤니티에서 개발한 벤더와 무관한 네트워크 가상화 솔루션입니다. OVN-Kubernetes 네트워크 플러그인:

  • OVN(Open Virtual Network)을 사용하여 네트워크 트래픽 흐름을 관리합니다. OVN은 커뮤니티에서 개발한 벤더와 무관한 네트워크 가상화 솔루션입니다.
  • 수신 및 송신 규칙을 포함한 Kubernetes 네트워크 정책 지원을 구현합니다.
  • VXLAN 대신 Geneve(Generic Network Virtualization Encapsulation) 프로토콜을 사용하여 노드 간에 오버레이 네트워크를 만듭니다.

OVN-Kubernetes 네트워크 플러그인은 OpenShift SDN에 비해 다음과 같은 이점을 제공합니다.

  • 지원되는 플랫폼에서 IPv6 단일 스택 및 IPv4/IPv6 듀얼 스택 네트워킹을 완전히 지원합니다.
  • Linux 및 Microsoft Windows 워크로드가 모두 있는 하이브리드 클러스터 지원
  • 클러스터 내부 통신의 선택적 IPsec 암호화
  • 호스트 CPU에서 호환되는 네트워크 카드 및 DPDK(데이터 처리 장치)에 대한 네트워크 데이터 처리 오프로드

25.1.2. 지원되는 네트워크 플러그인 기능 매트릭스

Red Hat OpenShift Networking은 네트워크 플러그인에 대해 네트워크 플러그인의 두 가지 옵션인 OpenShift SDN 및 OVN-Kubernetes를 제공합니다. 다음 표에는 두 네트워크 플러그인에 대한 현재 기능 지원이 요약되어 있습니다.

표 25.1. 기본 CNI 네트워크 플러그인 기능 비교
기능OpenShift SDNOVN-Kubernetes

송신 IP

지원됨

지원됨

송신 방화벽

지원됨

지원됨 [1]

송신 라우터

지원됨

지원됨 [2]

하이브리드 네트워킹

지원되지 않음

지원됨

클러스터 내 통신에 대한 IPsec 암호화

지원되지 않음

지원됨

IPv4 단일 스택

지원됨

지원됨

IPv6 단일 스택

지원되지 않음

지원됨 [3]

IPv4/IPv6 dual-stack

지원되지 않음

지원됨 [4]

IPv6/IPv4 듀얼 스택

지원되지 않음

지원됨 [5]

Kubernetes 네트워크 정책

지원됨

지원됨

Kubernetes 네트워크 정책 로그

지원되지 않음

지원됨

하드웨어 오프로드

지원되지 않음

지원됨

멀티 캐스트

지원됨

지원됨

  1. 송신 방화벽은 OpenShift SDN에서 송신 네트워크 정책이라고도 합니다. 이것은 네트워크 정책 송신과 동일하지 않습니다.
  2. OVN-Kubernetes용 송신 라우터는 리디렉션 모드만 지원합니다.
  3. 베어 메탈 플랫폼의 IPv6 단일 스택 네트워킹.
  4. 베어 메탈, VMware vSphere(installer 프로비저닝 인프라 설치 전용), IBM Power® 및 IBM Z® 플랫폼의 IPv4/IPv6 듀얼 스택 네트워킹. VMware vSphere에는 듀얼 스택 네트워킹 제한 사항이 있습니다.
  5. 베어 메탈 및 IBM Power® 플랫폼의 IPv6/IPv4 듀얼 스택 네트워킹.

추가 리소스

25.1.3. OVN-Kubernetes IPv6 및 듀얼 스택 제한 사항

OVN-Kubernetes 네트워크 플러그인에는 다음과 같은 제한 사항이 있습니다.

  • 듀얼 스택 네트워킹용으로 구성된 클러스터의 경우 IPv4 및 IPv6 트래픽 모두 기본 게이트웨이와 동일한 네트워크 인터페이스를 사용해야 합니다. 이 요구 사항이 충족되지 않으면 ovnkube-node 데몬 세트의 호스트의 Pod가 CrashLoopBackOff 상태가 됩니다. oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml 과 같은 명령으로 Pod를 표시하는 경우 status 필드에 다음 출력에 표시된 대로 기본 게이트웨이에 대한 메시지가 두 개 이상 포함됩니다.

    I1006 16:09:50.985852   60651 helper_linux.go:73] Found default gateway interface br-ex 192.168.127.1
    I1006 16:09:50.985923   60651 helper_linux.go:73] Found default gateway interface ens4 fe80::5054:ff:febe:bcd4
    F1006 16:09:50.985939   60651 ovnkube.go:130] multiple gateway interfaces detected: br-ex ens4

    유일한 해결 방법은 두 IP 제품군이 기본 게이트웨이에 동일한 네트워크 인터페이스를 사용하도록 호스트 네트워킹을 재구성하는 것입니다.

  • 듀얼 스택 네트워킹용으로 구성된 클러스터의 경우 IPv4 및 IPv6 라우팅 테이블 모두에 기본 게이트웨이가 포함되어야 합니다. 이 요구 사항이 충족되지 않으면 ovnkube-node 데몬 세트의 호스트의 Pod가 CrashLoopBackOff 상태가 됩니다. oc get pod -n openshift-ovn-kubernetes -l app=ovnkube-node -o yaml 과 같은 명령으로 Pod를 표시하는 경우 status 필드에 다음 출력에 표시된 대로 기본 게이트웨이에 대한 메시지가 두 개 이상 포함됩니다.

    I0512 19:07:17.589083  108432 helper_linux.go:74] Found default gateway interface br-ex 192.168.123.1
    F0512 19:07:17.589141  108432 ovnkube.go:133] failed to get default gateway interface

    유일한 해결 방법은 두 IP 제품군에 기본 게이트웨이가 포함되도록 호스트 네트워킹을 재구성하는 것입니다.

25.1.4. 세션 선호도

세션 선호도는 Kubernetes Service 오브젝트에 적용되는 기능입니다. <service_VIP>:<Port>에 연결할 때마다 트래픽이 항상 동일한 백엔드에 분산되도록 하려면 세션 선호도를 사용할 수 있습니다. 클라이언트의 IP 주소를 기반으로 세션 선호도를 설정하는 방법을 포함한 자세한 내용은 세션 선호도를 참조하십시오.

세션 선호도에 대한 고정 시간 제한

OpenShift Container Platform의 OVN-Kubernetes 네트워크 플러그인은 마지막 패킷을 기반으로 클라이언트에서 세션에 대한 고정 제한 시간을 계산합니다. 예를 들어 curl 명령을 10번 실행하면 고정 세션 타이머가 첫 번째 패킷이 아닌 10번째 패킷에서 시작됩니다. 결과적으로 클라이언트가 서비스에 지속적으로 연결하는 경우 세션은 시간 초과되지 않습니다. 서비스가 timeoutSeconds 매개변수에 설정된 시간 양에 대한 패킷을 수신하지 않으면 시간 초과가 시작됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.