이 항목에서는 vSphere의 독립형 관리 클러스터에서 배포하는 TKG(Tanzu Kubernetes Grid) 워크로드 클러스터에서 호스팅되는 워크로드의 L4 로드 밸런서로 Kube-VIP를 사용하는 방법을 설명합니다.
참고이 기능은 지원되지 않는 기술 미리보기 상태입니다. TKG 기능 상태를 참조하십시오.
Kube-VIP는 외부 하드웨어 또는 소프트웨어에 의존하지 않고 ServiceType
LoadBalancer
제어부 및 Kubernetes 서비스 모두에 대해 가상 IP 및 로드 밸런서를 Kubernetes 클러스터에 제공합니다.
이전 버전의 TKG는 이미 Kube-VIP를 사용하여 TKG 제어부에 VIP 서비스를 제공합니다.
참고TKG는 Kube-VIP에 대해
ExternalTrafficPolicy Local
모드를 지원하지 않습니다.
사전 요구 사항
Kube-VIP는 다음에서만 LoadBalancer
서비스로 구성할 수 있습니다.
AVI_CONTROL_PLANE_HA_PROVIDER = false
.LoadBalancer
서비스로 사용할 수 없습니다.Kube-VIP를 클러스터에서 LoadBalancer
서비스로 사용하는 워크로드 클러스터를 생성하려면 먼저 노드 VM에 할당하는 IP 주소 범위를 할당해야 합니다. LoadBalancer
서비스 자체의 IP 주소는 동일한 범위에 있어야 합니다.
매개 변수
Kube-VIP를 클래스 기반 워크로드 클러스터의 로드 밸런서 서비스로 구성하려면 클러스터 구성 파일에서 다음을 설정합니다.
KUBEVIP_LOADBALANCER_ENABLE
true
로 설정합니다. 기본적으로 false
로 설정됩니다.KUBEVIP_LOADBALANCER_IP_RANGES
LoadBalancer
유형 서비스 IP에 할당할 겹치지 않는 IP 범위 목록입니다. 예: 10.0.0.1-10.0.0.23,10.0.2.1-10.0.2.24
.KUBEVIP_LOADBALANCER_CIDRS
LoadBalancer
유형 서비스 IP에 할당할 겹치지 않는 CIDR 목록입니다. 예: 10.0.0.0/24,10.0.2/24
.KUBEVIP_LOADBALANCER_IP_RANGES
또는 KUBEVIP_LOADBALANCER_CIDRS
가 필요합니다. 두 kube-vip-load-balancer
구성 요소는 설정된 범위에서 더 이상 주소를 사용할 수 없는 경우에도 KUBEVIP_LOADBALANCER_CIDRS
IP 주소 IP만 할당합니다.
충돌을 방지하려면 각 클러스터에 다른 IP 범위가 있어야 합니다. 서로 다른 클러스터에 대한 IP 및 CIDR 범위는 겹치지 않아야 합니다.
Kube-VIP를 로드 밸런서로 사용하는 워크로드 클러스터의 경우 Kube-VIP CPI 구성에서 loadbalancerCIDRs
또는 loadbalancerIPRanges
값을 변경하여 Kube-VIP가 트래픽을 분산하는 IP 주소 범위를 확장할 수 있습니다.
참고Kube-VIP의 범위만 확장할 수 있습니다. 기존 IP 범위는 줄일 수 없습니다.
kubectl
의 컨텍스트를 관리 클러스터로 설정합니다.
kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
대상 클러스터의 KubevipCPIConfig
구성을 편집합니다.
kubectl edit kubevipcpiconfig CLUSTER-NAME -n CLUSTER-NAMESPACE
여기서 CLUSTER-NAME
과 CLUSTER-NAMESPACE
는 Kube-VIP 범위를 확장하는 워크로드 클러스터의 이름과 네임스페이스입니다.
KubevipCPIConfig
규격에서 IP 주소만 추가하는 방식으로 loadbalancerCIDRs
또는 loadbalancerIPRanges
값을 변경합니다. 예를 들어 loadbalancerCIDRs: 10.0.0.1/24
를 다음 중 하나로 변경할 수 있습니다.
10.0.0.0/24,10.0.1.0/24
10.0.0.0/16