4장. MetalLB로 로드 밸런싱
4.1. MetalLB 주소 풀 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 주소 풀을 추가, 수정, 삭제할 수 있습니다. MetalLB Operator는 주소 풀 사용자 정의 리소스를 사용하여 MetalLB에서 서비스에 할당할 수 있는 IP 주소를 설정합니다. 예제에서 사용된 네임스페이스는 metallb-system
이라고 가정합니다.
MetalLB Operator를 설치하는 방법에 대한 자세한 내용은 MetalLB 및 MetalLB Operator 정보를 참조하세요.
4.1.1. IPAddressPool 사용자 정의 리소스에 관하여 링크 복사링크가 클립보드에 복사되었습니다!
다음 표에서는 IPAddressPool
사용자 지정 리소스의 필드에 대해 설명합니다.
필드 | 유형 | 설명 |
---|---|---|
|
|
주소 풀의 이름을 지정합니다. 서비스를 추가할 때 |
|
| 주소 풀의 네임스페이스를 지정합니다. MetalLB Operator에서 사용하는 동일한 네임스페이스를 지정합니다. |
|
|
선택 사항: |
|
| MetalLB 운영자가 서비스에 할당할 IP 주소 목록을 지정합니다. 하나의 풀에서 여러 범위를 지정할 수 있으며, 모든 범위는 동일한 설정을 공유합니다. CIDR 표기법에서 각 범위를 지정하거나 하이픈으로 구분된 시작 및 끝 IP 주소로 지정합니다. |
|
|
선택 사항: MetalLB에서 이 풀에서 IP 주소를 자동으로 할당하는지 여부를 지정합니다. 참고
IP 주소 풀 구성의 경우, |
|
|
선택 사항: 이 기능을 활성화하면 |
spec.serviceAllocation
사양을 구성하여 IPAddressPool
에서 서비스 및 네임스페이스에 IP 주소를 할당할 수 있습니다.
필드 | 유형 | 설명 |
---|---|---|
|
| 선택 사항: 두 개 이상의 IP 주소 풀이 서비스나 네임스페이스와 일치하는 경우 IP 주소 풀 간의 우선 순위를 정의합니다. 숫자가 낮을수록 우선순위가 높습니다. |
|
| 선택 사항: IP 주소 풀의 IP 주소에 할당할 수 있는 네임스페이스 목록을 지정합니다. |
|
| 선택 사항: 목록 형식의 레이블 선택기를 사용하여 IP 주소 풀의 IP 주소에 할당할 수 있는 네임스페이스 레이블을 지정합니다. |
|
| 선택 사항: 목록 형식의 레이블 선택기를 사용하여 주소 풀의 IP 주소에 할당할 수 있는 서비스 레이블을 지정합니다. |
4.1.2. 주소 풀 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 MetalLB가 로드 밸런서 서비스에 할당할 수 있는 IP 주소를 제어하기 위해 클러스터에 주소 풀을 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. -
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
다음 예시와 같은 내용을 담은
ipaddresspool.yaml
과 같은 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
IPAddressPool
에 할당된 이 레이블은BGPAdvertisement
CRD의ipAddressPoolSelectors
에서 참조되어IPAddressPool을
광고와 연결할 수 있습니다.
IP 주소 풀에 대한 구성을 적용합니다.
oc apply -f ipaddresspool.yaml
$ oc apply -f ipaddresspool.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
검증
다음 명령을 입력하여 주소 풀을 확인하세요.
oc describe -n metallb-system IPAddressPool doc-example
$ oc describe -n metallb-system IPAddressPool doc-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
doc-example
과 같은 주소 풀 이름과 IP 주소 범위가 출력에 존재하는지 확인하세요.
4.1.3. VLAN에 대한 MetalLB 주소 풀 구성 링크 복사링크가 클립보드에 복사되었습니다!
클러스터 관리자는 MetalLB가 로드 밸런서 서비스에 할당할 수 있는 생성된 VLAN의 IP 주소를 제어하기 위해 클러스터에 주소 풀을 추가할 수 있습니다.
사전 요구 사항
-
OpenShift CLI(
oc
)를 설치합니다. - 별도의 VLAN을 구성합니다.
-
cluster-admin
권한이 있는 사용자로 로그인합니다.
프로세스
다음 예와 유사한
ipaddresspool-vlan.yaml
과 같은 파일을 만듭니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow IP 주소 풀에 대한 구성을 적용합니다.
oc apply -f ipaddresspool-vlan.yaml
$ oc apply -f ipaddresspool-vlan.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 구성이 VLAN에 적용되도록 하려면
spec
gatewayConfig.ipForwarding을
Global
로 설정해야 합니다.다음 명령을 실행하여 네트워크 구성 사용자 정의 리소스(CR)를 편집합니다.
oc edit network.operator.openshift/cluster
$ oc edit network.operator.openshift/cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow spec.defaultNetwork.ovnKubernetesConfig
섹션을 업데이트하여gatewayConfig.ipForwarding을
Global
로 설정합니다. 다음과 같이 보여야 합니다.예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4. 주소 풀 구성의 예 링크 복사링크가 클립보드에 복사되었습니다!
다음 예에서는 특정 시나리오에 대한 주소 풀 구성을 보여줍니다.
4.1.4.1. 예: IPv4 및 CIDR 범위 링크 복사링크가 클립보드에 복사되었습니다!
클래스 없는 도메인 간 라우팅(CIDR) 표기법으로 IP 주소 범위를 지정할 수 있습니다. 하이픈을 사용하는 표기법과 CIDR 표기법을 결합하여 하한 및 상한을 분리할 수 있습니다.
4.1.4.2. 예: IP 주소 할당 링크 복사링크가 클립보드에 복사되었습니다!
MetalLB가 풀에서 IP 주소를 자동으로 할당하지 못하도록 autoAssign
필드를 false
로 설정할 수 있습니다. 그런 다음 IP 주소 풀에서 하나 또는 여러 개의 IP 주소를 할당할 수 있습니다. IP 주소를 할당하려면 spec.addresses
매개변수의 대상 IP 주소에 /32
CIDR 표기법을 추가합니다. 이 설정을 사용하면 특정 IP 주소만 할당이 가능하고, 예약되지 않은 IP 주소는 애플리케이션에서 사용할 수 있습니다.
여러 IP 주소를 할당하는 IPAddressPool
CR 예제
서비스를 추가할 때 풀에서 특정 IP 주소를 요청하거나 주석에 풀 이름을 지정하여 풀에서 IP 주소를 요청할 수 있습니다.
4.1.4.3. 예: IPv4 및 IPv6 주소 링크 복사링크가 클립보드에 복사되었습니다!
IPv4 및 IPv6를 사용하는 주소 풀을 추가할 수 있습니다. 그러나 여러 IPv4 예제와 마찬가지로 address
목록에 여러 범위를 지정할 수 있습니다.
서비스에 단일 IPv4 주소, 단일 IPv6 주소 또는 둘 다가 할당되는지는 서비스를 추가하는 방법에 따라 결정됩니다. spec.ipFamilies
및 spec.ipFamilyPolicy
필드는 IP 주소가 서비스에 할당되는 방식을 제어합니다.
- 1
- 여기서
10.0.100.0/28
은 로컬 네트워크 IP 주소이고 뒤에/28
네트워크 접두사가 붙습니다.
4.1.4.4. 예: 서비스 또는 네임스페이스에 IP 주소 풀 할당 링크 복사링크가 클립보드에 복사되었습니다!
IPAddressPool
에서 지정한 서비스와 네임스페이스에 IP 주소를 할당할 수 있습니다.
서비스나 네임스페이스를 두 개 이상의 IP 주소 풀에 할당하는 경우 MetalLB는 우선순위가 높은 IP 주소 풀에서 사용 가능한 IP 주소를 사용합니다. 높은 우선순위를 가진 할당된 IP 주소 풀에서 사용 가능한 IP 주소가 없는 경우 MetalLB는 낮은 우선순위를 가진 IP 주소 풀이나 우선순위가 없는 IP 주소 풀에서 사용 가능한 IP 주소를 사용합니다.
namespaceSelectors
및 serviceSelectors
사양에는 matchLabels
레이블 선택기, matchExpressions
레이블 선택기 또는 둘 다를 사용할 수 있습니다. 이 예제에서는 각 사양에 대한 하나의 레이블 선택기를 보여줍니다.