23.3. MetalLB 주소 풀 구성
클러스터 관리자는 주소 풀을 추가, 수정, 삭제할 수 있습니다. MetalLB Operator는 주소 풀 사용자 정의 리소스를 사용하여 MetalLB에서 서비스에 할당할 수 있는 IP 주소를 설정합니다.
23.3.1. 주소 풀 사용자 정의 리소스 정보
주소 풀 사용자 지정 리소스의 필드는 다음 표에 설명되어 있습니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
주소 풀의 이름을 지정합니다. 서비스를 추가할 때 |
|
| 주소 풀의 네임스페이스를 지정합니다. MetalLB Operator에서 사용하는 동일한 네임스페이스를 지정합니다. |
|
|
로드 밸런서 IP 주소를 피어 노드에 발표하는 프로토콜을 지정합니다. 지원되는 유일한 값은 |
|
|
선택 사항: MetalLB에서 이 풀에서 IP 주소를 자동으로 할당하는지 여부를 지정합니다. |
|
| 서비스에 할당할 MetalLB의 IP 주소 목록을 지정합니다. 단일 풀에서 여러 범위를 지정할 수 있습니다. CIDR 표기법에서 각 범위를 지정하거나 하이픈으로 구분된 시작 및 끝 IP 주소로 지정합니다. |
23.3.2. 주소 풀 구성
클러스터 관리자는 클러스터에 주소 풀을 추가하여 MetaLLB에서 로드 밸런서 서비스에 할당할 수 있는 IP 주소를 제어할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
절차
다음 예와 같은 내용을 사용하여
addresspool.yaml
과 같은 파일을 생성합니다.apiVersion: metallb.io/v1alpha1 kind: AddressPool metadata: namespace: metallb-system name: doc-example spec: protocol: layer2 addresses: - 203.0.113.1-203.0.113.10 - 203.0.113.65-203.0.113.75
주소 풀에 대한 구성을 적용합니다.
$ oc apply -f addresspool.yaml
검증
주소 풀을 확인합니다.
$ oc describe -n metallb-system addresspool doc-example
출력 예
Name: doc-example Namespace: metallb-system Labels: <none> Annotations: <none> API Version: metallb.io/v1alpha1 Kind: AddressPool Metadata: ... Spec: Addresses: 203.0.113.1-203.0.113.10 203.0.113.65-203.0.113.75 Auto Assign: true Protocol: layer2 Events: <none>
주소 풀 이름(예: doc-example
) 및 IP 주소 범위가 출력에 표시되는지 확인합니다.
23.3.3. 주소 풀 구성의 예
23.3.3.1. 예: IPv4 및 CIDR 범위
CIDR 표기법에서 IP 주소 범위를 지정할 수 있습니다. 하이픈을 사용하는 표기법과 CIDR 표기법을 결합하여 하한 및 상한을 분리할 수 있습니다.
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-cidr namespace: metallb-system spec: protocol: layer2 addresses: - 192.168.100.0/24 - 192.168.200.0/24 - 192.168.255.1-192.168.255.5
23.3.3.2. 예: IP 주소
MetalLB가 풀에서 IP 주소를 자동으로 할당하지 못하도록 autoAssign
필드를 false
로 설정할 수 있습니다. 서비스를 추가할 때 풀에서 특정 IP 주소를 요청하거나 주석에 풀 이름을 지정하여 풀에서 IP 주소를 요청할 수 있습니다.
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-reserved namespace: metallb-system spec: protocol: layer2 addresses: - 10.0.100.0/28 autoAssign: false
23.3.3.3. 예: IPv6 주소 풀
IPv6를 사용하는 주소 풀을 추가할 수 있습니다. 다음 예제에서는 단일 IPv6 범위를 보여줍니다. 그러나 여러 IPv4 예제와 마찬가지로 address
목록에 여러 범위를 지정할 수 있습니다.
apiVersion: metallb.io/v1beta1 kind: AddressPool metadata: name: doc-example-ipv6 namespace: metallb-system spec: protocol: layer2 addresses: - 2002:2:2::1-2002:2:2::100