VPC 클러스터의 가상 네트워크 인터페이스 이해
가상 프라이빗 클라우드 4.20 이후 베어 메탈 워커 노드만 해당
VNI(가상 네트워크 인터페이스)는 베어메탈 워커 노드가 있는 Red Hat OpenShift on IBM Cloud VPC 클러스터에서 실행되는 워크로드를 위한 고급 네트워크 연결 옵션을 제공합니다.
가상 네트워크 인터페이스란 무엇인가요?
VNI(가상 네트워크 인터페이스)는 개별 네트워크 연결을 나타내는 IBM Cloud VPC 추상화입니다. VNI는 다음을 포함한 네트워크 연결의 속성을 포함합니다:
- IP 주소(기본 및 보조)
- MAC 주소
- VPC 서브넷 연결
- 보안 그룹 멤버십
VNI는 베어메탈 워커 노드가 실행되는 클러스터에서만 사용할 수 있습니다 Red Hat CoreOS (RHCOS).
OpenShift 클러스터의 VNI 아키텍처
정적 VNI
베어 메탈 기반 Red Hat OpenShift on IBM Cloud 클러스터를 생성하거나 IBM Cloud VPC 에 새 베어 메탈 워커 풀을 추가하면 두 개의 VNI가 자동으로 생성되어 모든 베어 메탈 워커 노드에 연결됩니다:
- 기본 VNI
- 포드 네트워크, 오버레이 사용자 정의 네트워크(UDN), 클러스터 마스터와의 통신을 포함한 일반 워커 트래픽을 처리합니다.
- 보조 VNI(이동 통신사)
- 관리하는 동적 VNI 첨부 파일의 캐리어 역할을 합니다. 이 VNI를 사용하면 워커 노드에서 실행 중인 워크로드에 추가 네트워크 인터페이스를 연결할 수 있습니다.
동적 VNI
동적 VNI는 클러스터 생성 후 온디맨드 방식으로 생성 및 관리됩니다. 이러한 VNI는 다음과 같습니다:
- 특정 워커 노드에 연결
- 같은 구역에 있는 작업자 간에 유동적으로 이동하도록 구성
- VPC 네트워크 직접 연결에 사용
핵심 기능
- 직접 VPC 연결
- VNI는 워크로드가 포드 네트워크 오버레이를 우회하여 VPC 네트워크에 직접 연결할 수 있게 해줍니다. 이는 보안 그룹, 네트워크 ACL, 라우팅과 같은 기본 VPC 네트워킹 기능을 제공합니다.
- 보안 그룹 통합
- VNI는 VPC 보안 그룹과 연결하여 인터페이스 수준에서 세분화된 네트워크 액세스 제어를 제공할 수 있습니다.
- 영역별 네트워킹
- VNI는 특정 VPC 서브넷 및 영역에 연결됩니다. VNI가 프로비저닝된 동일한 영역의 클러스터 워커에서 실행되는 워크로드에 대해서만 트래픽을 처리할 수 있습니다.
- 마이그레이션 중 네트워크 보존
- 라이브 마이그레이션을 지원하는 워크로드(예: OpenShift 가상화 VM)의 경우, VNI는 네트워크 연결을 유지하면서 동일한 영역 내의 베어 메탈 워커 인스턴스 간에 암시적으로 플로팅하여 워크로드를 따라갈 수 있습니다.
유스 케이스
- OpenShift 가상화
- 가상 머신에 직접 VPC 네트워크 연결을 사용하도록 설정하여 가상 머신이 자체 VPC IP 주소를 가질 수 있도록 합니다. 가상 네트워크 인터페이스 관리하기(OpenShift 가상화 )를 참조하세요.
- 멀티 네트워크 워크로드
- 워크로드를 여러 VPC 서브넷에 동시에 연결하여 복잡한 네트워크 토폴로지 및 트래픽 분리를 지원합니다.
- 레거시 애플리케이션 마이그레이션
- 특정 IP 주소 또는 직접 네트워크 액세스가 필요한 컨테이너화된 애플리케이션에 대해 VM-같은 네트워킹을 제공합니다.
- 네트워크 기능 가상화
- VPC 네트워킹 기능에 직접 액세스해야 하는 네트워크 기능을 배포합니다.
제한 사항 및 고려 사항
- 정적 VNI 수정
- 각 워커 노드에 대해 자동으로 생성되는 정적 VNI는 수정하지 마세요. 이러한 VNI는 VPC 계정에 표시되지만 해당 설정에 대한 변경은 지원되지 않습니다. 여기에는 플로팅 IP 연결, 보안 그룹 변경 또는 기타 VNI 속성 수정이 포함됩니다. 정적 VNI를 수정하면 클러스터 연결 문제가 발생할 수 있습니다.
- 플로팅 어태치먼트에 대한 VNI 수정 제한 사항
- 플로팅(클러스터 범위) 동적 첨부 파일에 대해서는 VNI 속성을 수정할 수 없습니다. 여기에는 VNI 이름, 유동 IP 주소, 인프라 NAT 설정, 보안 그룹 할당에 대한 변경 사항이 포함됩니다. 이러한 설정을 업데이트하려면 먼저 VNI를 분리하고 변경한 다음 클러스터에 다시 연결해야 합니다. 이 제한은 일시적인 것입니다.
- 영역 제약 조건
- VNI는 영역 간에 이동할 수 없습니다. 다중 영역 클러스터에서 VNI는 VNI가 프로비저닝된 동일한 영역의 워크로드에 대한 트래픽만 처리할 수 있습니다.
- 베어 메탈 요구 사항
- VNI는 베어메탈 워커 노드에서만 지원됩니다. 가상 서버 인스턴스(VSI) 워커 노드는 VNI를 지원하지 않습니다.
- RHCOS 요구 사항
- 워커 노드는 Red Hat CoreOS (RHCOS) 운영 체제를 실행해야 합니다.
- OVN- Kubernetes CNI
- 클러스터는 OVN- Kubernetes 컨테이너 네트워크 인터페이스(CNI) 플러그인을 사용해야 합니다.
- 교차 계정 관리
- Red Hat OpenShift on IBM Cloud 에서 워커 노드는 사용자 계정이 아닌 IBM 의 계정으로 프로비저닝됩니다. 즉, VNI 수명 주기 관리는 독립형 VPC 베어메탈 인스턴스와 다르며 VNI 어태치먼트에 대한 가시성이 달라집니다.
- 버전 요구 사항
- VNI 지원에는 OpenShift 4.20 이상이 필요합니다.
전제조건
클러스터에서 VNI를 사용하기 전에 다음 사항을 확인하세요:
- Red Hat OpenShift on IBM Cloud 클러스터(버전 4.20 이상)
- 클러스터의 베어 메탈 워커 노드
- Red Hat CoreOS (RHCOS) 운영 체제를 워커 노드에 설치합니다
- OVN- Kubernetes CNI 구성
- 적절한 서브넷을 갖춘 VPC 인프라
- 운영자 플랫폼 액세스 역할 Kubernetes Service 의 IBM Cloud IAM
- IBM Cloud IAM에서 VPC 인프라 서비스에 대한 편집자 또는 관리자 플랫폼 액세스 역할
VNI 관리
IBM Cloud 콘솔에서 또는 CLI를 사용하여 VNI를 관리할 수 있습니다.
콘솔에서 VNI 연결하기
-
Red Hat OpenShift on IBM Cloud 클러스터 콘솔에서 클러스터를 선택합니다.
-
탐색 메뉴에서 네트워킹 > VNI 첨부파일을 클릭합니다.
-
VNI 첨부를 클릭합니다.
-
VNI 연결 패널에서 다음 설정을 구성합니다:
- 서브넷: VNI가 위치한 서브넷을 선택합니다.
- 워커 노드: 특정 워커 노드를 선택하거나 모든 워커 노드를 선택하여 플로팅 VNI 어태치먼트를 선택합니다.
- VNI: 첨부할 VNI를 선택합니다.
- VLAN ID: 네트워크 구성과 일치하는 VLAN ID(범위: 1~500)를 입력합니다.
- 자동 삭제: 선택 사항입니다. 클러스터에서 제거될 때 VNI를 자동으로 삭제하려면 선택합니다.
-
연결을 클릭하십시오.
CLI에서 VNI 연결하기
특정 베어 메탈 워커 노드에 VNI를 연결하려면 vni attach baremetal 명령을 사용합니다. 네트워크 구성과 일치하는 VLAN ID(범위: 1-500)를 지정해야 합니다.
ibmcloud ks vni attach baremetal --worker WORKER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]
동일한 영역에 있는 워커 간 워크로드를 추적할 수 있는 플로팅 VNI를 연결하려면 워커 ID 대신 클러스터 ID를 지정하세요:
ibmcloud ks vni attach baremetal --cluster-id CLUSTER_ID --vni VNI_ID --vlan VLAN_ID [--auto-delete]
--auto-delete 플래그는 클러스터에서 VNI가 제거되면 자동으로 삭제됩니다.
콘솔에서 VNI 첨부 파일 보기
-
Red Hat OpenShift on IBM Cloud 클러스터 콘솔에서 클러스터를 선택합니다.
-
탐색 메뉴에서 네트워킹 > VNI 첨부파일을 클릭합니다.
-
VNI 이름, 워커 노드, 서브넷, VLAN ID 및 기본 IP를 포함한 세부 정보가 포함된 연결된 VNI 목록을 봅니다.
CLI에서 VNI 첨부 파일 보기
클러스터에 연결된 모든 VNI를 나열합니다:
ibmcloud ks vni ls --cluster-id CLUSTER_ID
특정 워커 노드에 연결된 VNI를 나열합니다:
ibmcloud ks vni ls --worker WORKER_ID
콘솔에서 VNI 분리하기
-
Red Hat OpenShift on IBM Cloud 클러스터 콘솔에서 클러스터를 선택합니다.
-
탐색 메뉴에서 네트워킹 > VNI 첨부파일을 클릭합니다.
-
분리하려는 VNI를 찾아 작업 메뉴 아이콘(⋯)을 클릭합니다.
-
분리를 선택하고 작업을 확인합니다.
CLI에서 VNI 분리하기
워커 노드에서 VNI를 분리하려면 VNI ID와 워커 ID를 모두 지정합니다:
ibmcloud ks vni detach --worker WORKER_ID --vni VNI_ID
플로팅 VNI의 경우 먼저 VNI를 나열하여 현재 작업자 ID를 찾은 다음 해당 작업자 ID를 사용하여 분리합니다.
자세한 예제 및 사용 사례는 가상 네트워크 인터페이스 관리하기(OpenShift 가상화 )를 참조하세요.