2.2. NetworkAttachmentDefinition을 사용하여 기본 네트워크 만들기
다음 섹션에서는 NetworkAttachmentDefinition
(NAD) 리소스를 사용하여 기본 네트워크를 만들고 관리하는 방법을 설명합니다.
2.2.1. 1차 네트워크 관리 접근 방식 링크 복사링크가 클립보드에 복사되었습니다!
NAD에서 생성된 기본 네트워크의 수명 주기를 다음 두 가지 접근 방식 중 하나를 사용하여 관리할 수 있습니다.
-
클러스터 네트워크 운영자(CNO) 구성을 수정하여. 이 방법을 사용하면 CNO가
NetworkAttachmentDefinition
객체를 자동으로 생성하고 관리합니다. CNO는 개체 수명 주기를 관리하는 것 외에도 DHCP가 할당된 IP 주소를 사용하는 기본 네트워크에서 DHCP를 사용할 수 있는지 확인합니다. -
YAML 매니페스트를 적용합니다. 이 방법을 사용하면
NetworkAttachmentDefinition
객체를 생성하여 기본 네트워크를 직접 관리할 수 있습니다. 이 접근 방식을 사용하면 포드에 기본 네트워크 인터페이스를 연결하기 위해 여러 CNI 플러그인을 호출할 수 있습니다.
각 접근 방식은 상호 배타적이며 한 번에 하나의 기본 네트워크를 관리하는 데 하나의 접근 방식만 사용할 수 있습니다. 두 가지 접근 방식 모두 기본 네트워크는 사용자가 구성하는 CNI(컨테이너 네트워크 인터페이스) 플러그인을 통해 관리됩니다.
OVN SDN을 사용하여 Red Hat OpenStack Platform(RHOSP)에 여러 네트워크 인터페이스가 있는 OpenShift Container Platform 노드를 배포하는 경우, 보조 인터페이스의 DNS 구성이 기본 인터페이스의 DNS 구성보다 우선할 수 있습니다. 이 경우 다음 명령을 실행하여 보조 인터페이스에 연결된 서브넷 ID에 대한 DNS 네임 서버를 제거합니다.
openstack subnet set --dns-nameserver 0.0.0.0 <subnet_id>
$ openstack subnet set --dns-nameserver 0.0.0.0 <subnet_id>
2.2.2. 클러스터 네트워크 운영자를 사용하여 기본 네트워크 연결 만들기 링크 복사링크가 클립보드에 복사되었습니다!
CNO(Cluster Network Operator)는 추가 네트워크 정의를 관리합니다. 기본 네트워크를 지정하여 생성하면 CNO가 NetworkAttachmentDefinition
사용자 정의 리소스 정의(CRD)를 자동으로 생성합니다.
클러스터 네트워크 운영자가 관리하는 NetworkAttachmentDefinition
CRD를 편집하지 마세요. 그렇게 하면 기본 네트워크의 네트워크 트래픽이 중단될 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
선택 사항: 기본 네트워크에 대한 네임스페이스를 만듭니다.
oc create namespace <namespace_name>
$ oc create namespace <namespace_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CNO 구성을 편집하려면 다음 명령을 입력하세요.
oc edit networks.operator.openshift.io cluster
$ oc edit networks.operator.openshift.io cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 CR과 같이 만들고 있는 기본 네트워크에 대한 구성을 추가하여 만들고 있는 CR을 수정합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 커밋합니다.
검증
다음 명령을 실행하여 CNO가
NetworkAttachmentDefinition
CRD를 생성했는지 확인하세요. CNO가 CRD를 생성하기 전에 지연이 발생할 수 있습니다. 예상되는 출력에는 NAD CRD의 이름과 생성 시간(분)이 표시됩니다.oc get network-attachment-definitions -n <namespace>
$ oc get network-attachment-definitions -n <namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<namespace>
- CNO 구성에 추가한 네트워크 연결에 대한 네임스페이스를 지정합니다.
2.2.2.1. 기본 네트워크 연결을 위한 구성 링크 복사링크가 클립보드에 복사되었습니다!
기본 네트워크는 k8s.cni.cncf.io
API 그룹의 NetworkAttachmentDefinition
API를 사용하여 구성됩니다.
API 구성은 다음 표에 설명되어 있습니다.
필드 | 유형 | 설명 |
---|---|---|
|
| 기본 네트워크의 이름입니다. |
|
| 오브젝트와 연결된 네임스페이스입니다. |
|
| JSON 형식의 CNI 플러그인 구성입니다. |
2.2.3. YAML 매니페스트를 적용하여 기본 네트워크 연결 만들기 링크 복사링크가 클립보드에 복사되었습니다!
사전 요구 사항
-
OpenShift CLI(
oc
)가 설치되어 있습니다. -
클러스터 관리자
권한이 있는 사용자로 로그인했습니다. - NAD가 배포될 네임스페이스에서 작업하고 있습니다.
프로세스
다음 예와 같이 기본 네트워크 구성을 포함하는 YAML 파일을 만듭니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 선택 사항: NAD가 적용되는 네임스페이스를 지정할 수 있습니다. NAD가 배포될 네임스페이스에서 작업하는 경우 이 사양은 필요하지 않습니다.
기본 네트워크를 생성하려면 다음 명령을 입력하세요.
oc apply -f <file>.yaml
$ oc apply -f <file>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음과 같습니다.
<file>
- YAML 매니페스트가 포함된 파일의 이름을 지정합니다.