3.7. 보조 네트워크에서 IP 주소 할당 구성
다음 섹션에서는 보조 네트워크에 대한 IP 주소 할당을 구성하는 방법에 대한 지침과 정보를 제공합니다.
3.7.1. 네트워크 연결을 위한 IP 주소 할당 구성 링크 복사링크가 클립보드에 복사되었습니다!
2차 네트워크의 경우 다양한 할당 방법(DHCP(동적 호스트 구성 프로토콜) 및 정적 할당 포함)을 지원하는 IP 주소 관리(IPAM) CNI 플러그인을 사용하여 IP 주소를 할당할 수 있습니다.
IP 주소의 동적 할당을 담당하는 DHCP IPAM CNI 플러그인은 두 가지 고유한 구성 요소로 작동합니다.
- CNI 플러그인 : IP 주소를 요청하고 해제하기 위해 Kubernetes 네트워킹 스택과 통합하는 역할을 담당합니다.
- DHCP IPAM CNI 데몬 : 환경 내 기존 DHCP 서버와 협력하여 IP 주소 할당 요청을 처리하는 DHCP 이벤트 리스너입니다. 이 데몬 자체는 DHCP 서버가 아닙니다 .
IPAM 구성에서 dhcp 유형이
필요한 네트워크의 경우 다음을 확인하세요.
- DHCP 서버가 사용 가능하고 환경에서 실행 중입니다.
- DHCP 서버는 클러스터 외부에 있으며, 해당 서버가 고객을 위한 기존 네트워크 인프라의 일부를 형성할 것으로 예상합니다.
- DHCP 서버는 노드에 IP 주소를 제공하도록 적절하게 구성됩니다.
환경에서 DHCP 서버를 사용할 수 없는 경우 대신 Whereabouts IPAM CNI 플러그인을 사용하는 것을 고려하세요. Whereabouts CNI는 외부 DHCP 서버가 필요 없이 유사한 IP 주소 관리 기능을 제공합니다.
외부 DHCP 서버가 없거나 정적 IP 주소 관리가 선호되는 경우 Whereabouts CNI 플러그인을 사용하세요. Whereabouts 플러그인에는 오래된 IP 주소 할당을 관리하는 조정자 데몬이 포함되어 있습니다.
DHCP IPAM CNI 데몬이라는 별도의 데몬을 포함하여 컨테이너의 수명 동안 DHCP 임대를 주기적으로 갱신합니다. DHCP IPAM CNI 데몬을 배포하려면 클러스터 네트워크 운영자(CNO) 구성을 변경하여 이 데몬이 보조 네트워크 설정의 일부로 배포되도록 합니다.
3.7.1.1. 고정 IP 주소 할당 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 정적 IP 주소 할당 구성을 설명합니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
IPAM 주소 유형. |
|
| 가상 인터페이스에 할당할 IP 주소를 지정하는 객체의 배열입니다. IPv4 및 IPv6 IP 주소가 모두 지원됩니다. |
|
| 포드 내부에서 구성할 경로를 지정하는 객체 배열입니다. |
|
| 선택 사항: DNS 구성을 지정하는 객체 배열입니다. |
주소
배열에는 다음 필드가 있는 객체가 필요합니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
지정하는 IP 주소 및 네트워크 접두사입니다. 예를 들어, |
|
| 송신 네트워크 트래픽을 라우팅할 기본 게이트웨이입니다. |
필드 | 유형 | 설명 |
---|---|---|
|
|
기본 경로의 경우 CIDR 형식의 IP 주소 범위(예: |
|
| 네트워크 트래픽을 라우팅하는 게이트웨이. |
필드 | 유형 | 설명 |
---|---|---|
|
| DNS 쿼리가 전송되는 하나 이상의 IP 주소 배열입니다. |
|
|
호스트 이름에 추가할 기본 도메인입니다. 예를 들어 도메인이 |
|
|
DNS 조회 쿼리 중에 규정되지 않은 호스트 이름(예: |
고정 IP 주소 할당 구성 예
3.7.1.2. 동적 IP 주소(DHCP) 할당 구성 링크 복사링크가 클립보드에 복사되었습니다!
pod는 생성될 때 원래 DHCP 리스를 얻습니다. 리스는 클러스터에서 실행되는 최소 DHCP 서버 배포를 통해 주기적으로 갱신되어야 합니다.
이더넷 네트워크 연결의 경우, SR-IOV 네트워크 운영자는 DHCP 서버 배포를 생성하지 않습니다. 클러스터 네트워크 운영자가 최소한의 DHCP 서버 배포를 생성해야 합니다.
DHCP 서버 배포를 트리거하려면 다음 예와 같이 Cluster Network Operator 구성을 편집하여 shim 네트워크 연결을 만들어야 합니다.
shim 네트워크 연결 정의 예
- 1
- 클러스터에 대한 동적 IP 주소(DHCP) 할당을 지정합니다.
3.7.1.3. Whereabouts를 사용한 동적 IP 주소 할당 구성 링크 복사링크가 클립보드에 복사되었습니다!
Whereabouts CNI 플러그인은 DHCP 서버를 사용하지 않고 보조 네트워크에 IP 주소를 동적으로 할당하는 데 도움이 됩니다.
Whereabouts CNI 플러그인은 또한 중복되는 IP 주소 범위와 별도의 NetworkAttachmentDefinition
CRD 내에서 동일한 CIDR 범위를 여러 번 구성하는 것을 지원합니다. 이를 통해 멀티테넌트 환경에서 더 큰 유연성과 관리 기능이 제공됩니다.
3.7.1.3.1. 동적 IP 주소 구성 매개변수 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 Whereabouts를 사용한 동적 IP 주소 할당을 위한 구성 개체를 설명합니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
IPAM 주소 유형. |
|
| CIDR 표기법으로 나타낸 IP 주소와 범위입니다. IP 주소는 이 주소 범위 내에서 할당됩니다. |
|
| 선택 사항: CIDR 표기법으로 나타낸 0개 이상의 IP 주소 및 범위 목록입니다. 제외된 주소 범위 내의 IP 주소는 할당되지 않습니다. |
|
| 선택 사항: 동일한 IP 주소 범위를 공유하더라도 각 포드 그룹 또는 도메인이 고유한 IP 주소 세트를 갖도록 보장하는 데 도움이 됩니다. 이 필드를 설정하는 것은 네트워크를 분리하고 체계적으로 유지하는 데 중요하며, 특히 다중 테넌트 환경에서 중요합니다. |
3.7.1.3.2. IP 주소 범위를 제외한 Whereabouts를 사용한 동적 IP 주소 할당 구성 링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서는 Whereabouts를 사용하는 NAD 파일의 동적 주소 할당 구성을 보여줍니다.
특정 IP 주소 범위를 제외하는 동적 IP 주소 할당 위치
3.7.1.3.3. IP 주소 범위가 겹치는 Whereabouts를 사용하는 동적 IP 주소 할당 링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서는 다중 테넌트 네트워크에 대해 중복되는 IP 주소 범위를 사용하는 동적 IP 주소 할당을 보여줍니다.
NetworkAttachmentDefinition 1
- 1
- 선택 사항: 설정된 경우
NetworkAttachmentDefinition 2
의network_name
과 일치해야 합니다.
NetworkAttachmentDefinition 2
- 1
- 선택 사항: 설정된 경우
NetworkAttachmentDefinition 1
의network_name
과 일치해야 합니다.
3.7.1.4. 위치 조정자 데몬 세트 생성 링크 복사링크가 클립보드에 복사되었습니다!
Whereabouts 조정자는 Whereabouts IP 주소 관리(IPAM) 솔루션을 사용하여 클러스터 내의 포드에 대한 동적 IP 주소 할당을 관리하는 역할을 합니다. 이를 통해 각 포드가 지정된 IP 주소 범위에서 고유한 IP 주소를 얻을 수 있습니다. 또한 포드가 삭제되거나 축소될 때 IP 주소 해제도 처리합니다.
동적 IP 주소 할당을 위해 NetworkAttachmentDefinition
사용자 정의 리소스 정의(CRD)를 사용할 수도 있습니다.
클러스터 네트워크 운영자를 통해 보조 네트워크를 구성하면 whereabouts-reconciler
데몬 세트가 자동으로 생성됩니다. YAML 매니페스트에서 보조 네트워크를 구성하는 경우 자동으로 생성되지 않습니다.
whereabouts-reconciler
데몬 세트의 배포를 트리거하려면 Cluster Network Operator 사용자 정의 리소스(CR) 파일을 편집하여 whereabouts-shim
네트워크 연결을 수동으로 만들어야 합니다.
다음 절차에 따라 whereabouts-reconciler
데몬 세트를 배포합니다.
프로세스
다음 명령을 실행하여
Network.operator.openshift.io
CR(사용자 정의 리소스)을 편집합니다.oc edit network.operator.openshift.io cluster
$ oc edit network.operator.openshift.io cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제 YAML 추출물에 표시된
additionalNetworks
섹션을 사용자 정의 리소스(CR)의사양
정의에 포함합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 파일을 저장하고 텍스트 편집기를 종료합니다.
다음 명령을 실행하여
whereabouts-reconciler
데몬 세트가 성공적으로 배포되었는지 확인하세요.oc get all -n openshift-multus | grep whereabouts-reconciler
$ oc get all -n openshift-multus | grep whereabouts-reconciler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
pod/whereabouts-reconciler-jnp6g 1/1 Running 0 6s pod/whereabouts-reconciler-k76gg 1/1 Running 0 6s daemonset.apps/whereabouts-reconciler 6 6 6 6 6 kubernetes.io/os=linux 6s
pod/whereabouts-reconciler-jnp6g 1/1 Running 0 6s pod/whereabouts-reconciler-k76gg 1/1 Running 0 6s daemonset.apps/whereabouts-reconciler 6 6 6 6 6 kubernetes.io/os=linux 6s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1.5. Whereabouts IP 조정자 일정 구성 링크 복사링크가 클립보드에 복사되었습니다!
Whereabouts IPAM CNI 플러그인은 IP 조정기를 매일 실행합니다. 이 프로세스는 IP 소진을 초래할 수 있는 고립된 IP 할당을 정리하여 새로운 포드에 IP가 할당되는 것을 방지합니다.
이 절차를 사용하여 IP 조정기가 실행되는 빈도를 변경합니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. -
whereabouts-reconciler
데몬 세트를 배포했고,whereabouts-reconciler
포드가 작동하여 실행 중입니다.
프로세스
IP 조정자에 대한 특정 Cron 표현식을 사용하여
openshift-multus
네임스페이스에whereabouts-config라는
이름의ConfigMap
객체를 생성하려면 다음 명령을 실행하세요.oc create configmap whereabouts-config -n openshift-multus --from-literal=reconciler_cron_expression="*/15 * * * *"
$ oc create configmap whereabouts-config -n openshift-multus --from-literal=reconciler_cron_expression="*/15 * * * *"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 cron 표현식은 IP 조정자가 15분마다 실행됨을 나타냅니다. 귀하의 구체적인 요구 사항에 맞게 표현을 조정하세요.
참고위치 조정자
데몬 세트는 별표 5개가 포함된 cron 표현식 패턴만 사용할 수 있습니다. 초를 나타내는 여섯 번째는 현재 지원되지 않습니다.다음 명령을 실행하여
openshift-multus
네임스페이스 내의whereabouts-reconciler
데몬 세트 및 포드와 관련된 리소스에 대한 정보를 검색합니다.oc get all -n openshift-multus | grep whereabouts-reconciler
$ oc get all -n openshift-multus | grep whereabouts-reconciler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
pod/whereabouts-reconciler-2p7hw 1/1 Running 0 4m14s pod/whereabouts-reconciler-76jk7 1/1 Running 0 4m14s daemonset.apps/whereabouts-reconciler 6 6 6 6 6 kubernetes.io/os=linux 4m16s
pod/whereabouts-reconciler-2p7hw 1/1 Running 0 4m14s pod/whereabouts-reconciler-76jk7 1/1 Running 0 4m14s daemonset.apps/whereabouts-reconciler 6 6 6 6 6 kubernetes.io/os=linux 4m16s
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여
whereabouts-reconciler
포드가 구성된 간격으로 IP 조정기를 실행하는지 확인합니다.oc -n openshift-multus logs whereabouts-reconciler-2p7hw
$ oc -n openshift-multus logs whereabouts-reconciler-2p7hw
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1.6. Whereabouts IPAM CNI 플러그인을 위한 빠른 IPAM 구성 링크 복사링크가 클립보드에 복사되었습니다!
Wherabouts는 클러스터 전체 수준에서 IP 주소를 할당하는 IP 주소 관리(IPAM) 컨테이너 네트워크 인터페이스(CNI) 플러그인입니다. Whereabouts에는 DHCP(동적 호스트 구성 프로토콜) 서버가 필요하지 않습니다.
일반적인 Wherabouts 워크플로는 다음과 같습니다.
-
Whereabouts는
192.168.2.0/24
와 같은 CIDR(Classless Inter-Domain Routing) 표기법의 주소 범위를 사용하고192.168.2.1
~192.168.2.254
와 같이 해당 범위 내의 IP 주소를 할당합니다. - Whereabouts는 CIDR 범위에서 가장 낮은 값의 주소인 IP 주소를 Pod에 할당하고 해당 Pod의 수명 동안 데이터 저장소에서 IP 주소를 추적합니다.
- 포드가 제거되면 Whereabouts는 포드에서 주소를 해제하여 주소를 할당에 사용할 수 있도록 합니다.
특히 클러스터의 노드가 많은 수의 Pod를 실행하는 경우 Whereabouts의 성능을 개선하려면 Fast IPAM 기능을 활성화할 수 있습니다.
Fast IPAM은 기술 미리보기 기능일 뿐입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Fast IPAM 기능은 Whereabouts Controller에서 관리하는 nodeslicepools를
사용하여 노드의 IP 할당을 최적화합니다.
사전 요구 사항
-
Network.operator.openshift.io
사용자 정의 리소스(CR)에whereabouts-shim
구성을 추가하여 클러스터 네트워크 운영자(CNO)가 Whereabouts Controller를 배포할 수 있도록 했습니다. "Whereabouts 조정자 데몬 세트 만들기"를 참조하세요. -
Fast IPAM 기능을 작동시키려면
NetworkAttachmentDefinition
(NAD)과 Pod가 동일한openshift-multus
네임스페이스에 있는지 확인하세요.
프로세스
다음 명령을 입력하여 Whereabouts Controller가 실행 중인지 확인하세요.
oc get pods -n openshift-multus | grep controller
$ oc get pods -n openshift-multus | grep controller
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
multus-admission-controller-d89bc96f-gbf7s 2/2 Running 0 6h3m ...
multus-admission-controller-d89bc96f-gbf7s 2/2 Running 0 6h3m ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 중요Whereabouts Controller가 실행 중이 아니면 Fast IPAM이 작동하지 않습니다.
클러스터에 대한 NAD 파일을 만들고 해당 파일에 Fast IPAM 세부 정보를 추가합니다.
빠른 IPAM 구성을 사용한 NAD 파일 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 포드의 YAML 파일에 Whereabouts IPAM CNI 플러그인 주석 세부 정보를 추가합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 클러스터에서 실행되는 노드에 있는 Pod에 NAD 파일 구성을 적용합니다.
oc create -f <NAD_file_name>.yaml
$ oc create -f <NAD_file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 입력하여 포드의 IP 주소 세부 정보를 표시합니다.
oc describe pod <pod_name>
$ oc describe pod <pod_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 입력하여 포드에 액세스하고 해당 인터페이스를 확인하세요.
oc exec <pod_name> -- ip a
$ oc exec <pod_name> -- ip a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 예상대로 Pod는
net1
인터페이스의192.168.2.1
IP 주소에 연결됩니다.
다음 명령을 입력하여
openshift-multus
네임스페이스에 노드 선택기 풀이 있는지 확인합니다. 예상되는 출력에는 노드 선택기 풀의 이름과 생성 시간(분)이 표시됩니다.oc get nodeslicepool -n openshift-multus
$ oc get nodeslicepool -n openshift-multus
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
NAME AGE nodeslicepool 32m
NAME AGE nodeslicepool 32m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.7.1.7. 듀얼 스택 IP 주소를 동적으로 할당하기 위한 구성 생성 링크 복사링크가 클립보드에 복사되었습니다!
듀얼 스택 IP 주소 할당은 다음의 경우 ipRanges
매개변수로 구성할 수 있습니다.
- IPv4 주소
- IPv6 주소
- 다중 IP 주소 할당
프로세스
-
유형을
whereabouts
로 설정합니다. 다음 예와 같이
ipRanges를
사용하여 IP 주소를 할당합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 네트워크를 포드에 연결합니다. 자세한 내용은 "보조 네트워크에 포드 추가"를 참조하세요.
- 모든 IP 주소가 할당되었는지 확인하세요.
다음 명령을 실행하여 IP 주소가 메타데이터로 할당되었는지 확인하세요.
$ oc exec -it mypod -- ip a
$ oc exec -it mypod -- ip a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow