7장. OVN-Kubernetes 네트워크 플러그인
7.1. OVN-Kubernetes 네트워크 플러그인 정보 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Dedicated 클러스터는 Pod 및 서비스 네트워크에 가상화된 네트워크를 사용합니다.
Red Hat OpenShift Networking의 일부인 OVN-Kubernetes 네트워크 플러그인은 OpenShift Dedicated의 기본 네트워크 공급자입니다. OVN-Kubernetes는 OVN(Open Virtual Network)을 기반으로 하며 오버레이 기반 네트워킹 구현을 제공합니다. OVN-Kubernetes 플러그인을 사용하는 클러스터는 각 노드에서 OVS(Open vSwitch)도 실행합니다. OVN은 각 노드에서 선언된 네트워크 구성을 구현하도록 OVS를 구성합니다.
OVN-Kubernetes는 OpenShift Dedicated 및 단일 노드 OpenShift 배포의 기본 네트워킹 솔루션입니다.
OVS 프로젝트에서 발생한 OVN-Kubernetes는 공개 흐름 규칙과 같은 많은 동일한 구성을 사용하여 네트워크를 통해 패킷을 이동하는 방법을 결정합니다. 자세한 내용은 Open Virtual Network 웹 사이트를 참조하십시오.
OVN-Kubernetes는 가상 네트워크 구성을 OpenFlow
규칙으로 변환하는 OVS의 일련의 데몬입니다. OpenFlow
는 네트워크 스위치 및 라우터와 통신하기 위한 프로토콜로, 네트워크 장치에서 네트워크 트래픽의 흐름을 원격으로 제어하는 수단을 제공합니다. 즉, 네트워크 관리자는 네트워크 트래픽의 흐름을 구성, 관리 및 조사할 수 있습니다.
OVN-Kubernetes는 OpenFlow
에서 사용할 수 없는 고급 기능을 더 많이 제공합니다. OVN은 분산 가상 라우팅, 분산 논리 스위치, 액세스 제어, DHCP(Dynamic Host Configuration Protocol) 및 DNS를 지원합니다. OVN은 흐름을 여는 논리 흐름 내에서 분산 가상 라우팅을 구현합니다. 예를 들어 네트워크의 DHCP 요청을 네트워크의 DHCP 서버로 보내는 Pod가 있는 경우 요청의 논리 흐름 규칙은 OVN-Kubernetes가 패킷을 처리하는 데 도움이 됩니다. 즉, 서버는 게이트웨이, DNS 서버, IP 주소 및 기타 정보로 응답할 수 있습니다.
OVN-Kubernetes는 각 노드에서 데몬을 실행합니다. 데이터베이스와 모든 노드에서 실행되는 OVN 컨트롤러에 대한 데몬 세트가 있습니다. OVN 컨트롤러는 다음 네트워크 공급자 기능을 지원하기 위해 노드에서 Open vSwitch 데몬을 프로그래밍합니다.
- 송신 IP
- 방화벽
- 하드웨어 오프로드
- 하이브리드 네트워킹
- IPsec(Internet Protocol Security) 암호화
- IPv6
- 멀티 캐스트.
- 네트워크 정책 및 네트워크 정책 로그
- 라우터
7.1.1. OVN-Kubernetes 용도 링크 복사링크가 클립보드에 복사되었습니다!
OVN-Kubernetes 네트워크 플러그인은 OVN(Open Virtual Network)을 사용하여 네트워크 트래픽 흐름을 관리하는 오픈 소스 완전한 기능을 갖춘 Kubernetes CNI 플러그인입니다. OVN은 커뮤니티에서 개발한 벤더와 무관한 네트워크 가상화 솔루션입니다. OVN-Kubernetes 네트워크 플러그인은 다음 기술을 사용합니다.
- OVN을 사용하여 네트워크 트래픽 흐름을 관리합니다.
- 수신 및 송신 규칙을 포함한 Kubernetes 네트워크 정책 지원 및 로그.
- VXLAN(Virtual Extensible LAN)이 아닌 일반 네트워크 가상화 캡슐화(Geneve) 프로토콜을 사용하여 노드 간에 오버레이 네트워크를 생성합니다.
OVN-Kubernetes 네트워크 플러그인은 다음 기능을 지원합니다.
- Linux 및 Microsoft Windows 워크로드를 모두 실행할 수 있는 하이브리드 클러스터입니다. 이 환경을 하이브리드 네트워킹 이라고 합니다.
- 호스트 CPU(중앙 처리 장치)에서 호환 가능한 네트워크 카드 및 DPDK(데이터 처리 장치)로 네트워크 데이터 처리 오프로드. 이를 하드웨어 오프로드 라고 합니다.
- 베어 메탈, VMware vSphere, IBM Power®, IBM Z® 및 RHOSP(Red Hat OpenStack Platform) 플랫폼에서 IPv4-primary 듀얼 스택 네트워킹.
- RHOSP 및 베어 메탈 플랫폼의 IPv6 단일 스택 네트워킹.
- 베어 메탈, VMware vSphere 또는 RHOSP 플랫폼에서 실행되는 클러스터의 IPv6-primary 듀얼 스택 네트워킹.
- 송신 방화벽 장치 및 송신 IP 주소입니다.
- 리디렉션 모드에서 작동하는 송신 라우터 장치입니다.
- 클러스터 내 통신의 IPsec 암호화
Red Hat은 OVN-Kubernetes 네트워크 플러그인을 사용하는 다음 설치 후 구성을 지원하지 않습니다.
- NMState Operator를 사용하여 인터페이스 본딩을 구성하는 등 기본 네트워크 인터페이스를 구성합니다.
-
OVS(Open vSwitch) 또는 OVN-Kubernetes
br-ex
브리지 네트워크를 사용하는 네트워크 장치에서 하위 인터페이스 또는 추가 네트워크 인터페이스 구성. - 기본 네트워크 인터페이스에서 추가 VLAN(가상 로컬 영역 네트워크) 생성.
-
클러스터 설치 중에 노드에 대해 생성한 기본 네트워크 인터페이스(예:
eth0
또는bond0
)를 사용하여 추가 보조 네트워크를 생성합니다.
Red Hat은 OVN-Kubernetes 네트워크 플러그인을 사용하는 다음 설치 후 구성을 지원합니다.
-
클러스터 설치 중에 노드의 기본 네트워크 인터페이스를 VLAN으로 구성하는
eth0.100
과 같은 기본 물리적 인터페이스에서 추가 VLAN을 생성합니다. OVS(Open vSwitch) 브리지는eth0.100
과 같은 초기 VLAN 하위 인터페이스에 연결하여 새 구성에 기본 물리적 인터페이스를 사용할 수 있기 때문에 작동합니다. -
localnet
토폴로지 네트워크를 사용하여 추가 OVN 보조 네트워크를 생성하려면NNCP(NodeNetworkConfigurationPolicy
) 오브젝트에서 보조 네트워크를 정의해야 합니다. 네트워크를 생성한 후 Pod 또는 VM(가상 머신)이 네트워크에 연결할 수 있습니다. 이러한 보조 네트워크는 VLAN 태그 지정을 사용하거나 사용하지 않을 수 있는 물리적 네트워크에 전용 연결을 제공합니다. 호스트에 필요한 네트워크 설정과 같은 필수 설정이 없는 노드의 호스트 네트워크에서 이러한 네트워크에 액세스할 수 없습니다.
7.1.2. 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유일한 해결 방법은 두 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
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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 유일한 해결 방법은 두 IP 제품군에 기본 게이트웨이가 포함되도록 호스트 네트워킹을 재구성하는 것입니다.
-
MachineConfig
CR(사용자 정의 리소스)의kernelArgument
섹션에서ipv6.disable
매개변수를1
로 설정하면 OVN-Kubernetes Pod가CrashLoopBackOff
상태가 됩니다. 또한 Network Operator가Degraded
상태로 유지되므로 클러스터를 이후 버전의 OpenShift Dedicated로 업데이트할 수 없습니다. Red Hat은 클러스터의 IPv6 adddresses 비활성화를 지원하지 않으므로ipv6.disable
매개변수를1
로 설정하지 마십시오.
7.1.3. 세션 선호도 링크 복사링크가 클립보드에 복사되었습니다!
세션 선호도는 Kubernetes Service
오브젝트에 적용되는 기능입니다. <service_VIP>:<Port>에 연결할 때마다 트래픽이 항상 동일한 백엔드에 분산되도록 하려면 세션 선호도를 사용할 수 있습니다. 클라이언트의 IP 주소를 기반으로 세션 선호도를 설정하는 방법을 포함한 자세한 내용은 세션 선호도를 참조하십시오.
세션 선호도에 대한 고정 시간 제한
OpenShift Dedicated의 OVN-Kubernetes 네트워크 플러그인은 마지막 패킷을 기반으로 클라이언트에서 세션의 고정 시간 초과를 계산합니다. 예를 들어 curl
명령을 10번 실행하면 고정 세션 타이머가 첫 번째 패킷이 아닌 10번째 패킷에서 시작됩니다. 결과적으로 클라이언트가 지속적으로 서비스에 문의하는 경우 세션이 시간 초과되지 않습니다. 서비스가 timeoutSeconds
매개변수에 설정된 시간 양에 대한 패킷을 수신하지 않으면 시간 초과가 시작됩니다.