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>
Copy to Clipboard Toggle word wrap

CNO(Cluster Network Operator)는 추가 네트워크 정의를 관리합니다. 기본 네트워크를 지정하여 생성하면 CNO가 NetworkAttachmentDefinition 사용자 정의 리소스 정의(CRD)를 자동으로 생성합니다.

중요

클러스터 네트워크 운영자가 관리하는 NetworkAttachmentDefinition CRD를 편집하지 마세요. 그렇게 하면 기본 네트워크의 네트워크 트래픽이 중단될 수 있습니다.

사전 요구 사항

  • OpenShift CLI(oc)를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

프로세스

  1. 선택 사항: 기본 네트워크에 대한 네임스페이스를 만듭니다.

    $ oc create namespace <namespace_name>
    Copy to Clipboard Toggle word wrap
  2. CNO 구성을 편집하려면 다음 명령을 입력하세요.

    $ oc edit networks.operator.openshift.io cluster
    Copy to Clipboard Toggle word wrap
  3. 다음 예제 CR과 같이 만들고 있는 기본 네트워크에 대한 구성을 추가하여 만들고 있는 CR을 수정합니다.

    apiVersion: operator.openshift.io/v1
    kind: Network
    metadata:
      name: cluster
    spec:
      # ...
      additionalNetworks:
      - name: tertiary-net
        namespace: namespace2
        type: Raw
        rawCNIConfig: |-
          {
            "cniVersion": "0.3.1",
            "name": "tertiary-net",
            "type": "ipvlan",
            "master": "eth1",
            "mode": "l2",
            "ipam": {
              "type": "static",
              "addresses": [
                {
                  "address": "192.168.1.23/24"
                }
              ]
            }
          }
    Copy to Clipboard Toggle word wrap
  4. 변경 사항을 저장하고 텍스트 편집기를 종료하여 변경 사항을 커밋합니다.

검증

  • 다음 명령을 실행하여 CNO가 NetworkAttachmentDefinition CRD를 생성했는지 확인하세요. CNO가 CRD를 생성하기 전에 지연이 발생할 수 있습니다. 예상되는 출력에는 NAD CRD의 이름과 생성 시간(분)이 표시됩니다.

    $ oc get network-attachment-definitions -n <namespace>
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <namespace>
    CNO 구성에 추가한 네트워크 연결에 대한 네임스페이스를 지정합니다.

2.2.2.1. 기본 네트워크 연결을 위한 구성

기본 네트워크는 k8s.cni.cncf.io API 그룹의 NetworkAttachmentDefinition API를 사용하여 구성됩니다.

API 구성은 다음 표에 설명되어 있습니다.

Expand
표 2.8. NetworkAttachmentDefinition API 필드
필드유형설명

metadata.name

string

기본 네트워크의 이름입니다.

metadata.namespace

string

오브젝트와 연결된 네임스페이스입니다.

spec.config

string

JSON 형식의 CNI 플러그인 구성입니다.

2.2.3. YAML 매니페스트를 적용하여 기본 네트워크 연결 만들기

사전 요구 사항

  • OpenShift CLI(oc)가 설치되어 있습니다.
  • 클러스터 관리자 권한이 있는 사용자로 로그인했습니다.
  • NAD가 배포될 네임스페이스에서 작업하고 있습니다.

프로세스

  1. 다음 예와 같이 기본 네트워크 구성을 포함하는 YAML 파일을 만듭니다.

    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: next-net
    spec:
      config: |-
        {
          "cniVersion": "0.3.1",
          "name": "work-network",
          "namespace": "namespace2", 
    1
    
          "type": "host-device",
          "device": "eth1",
          "ipam": {
            "type": "dhcp"
          }
        }
    Copy to Clipboard Toggle word wrap
    1
    선택 사항: NAD가 적용되는 네임스페이스를 지정할 수 있습니다. NAD가 배포될 네임스페이스에서 작업하는 경우 이 사양은 필요하지 않습니다.
  2. 기본 네트워크를 생성하려면 다음 명령을 입력하세요.

    $ oc apply -f <file>.yaml
    Copy to Clipboard Toggle word wrap

    다음과 같습니다.

    <file>
    YAML 매니페스트가 포함된 파일의 이름을 지정합니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat