Tanzu Kubernetes Grid와 통합되면 NSX ALB는 클러스터에 끝점 VIP를 제공하고 클러스터의 제어부 노드에서 로드 밸런싱을 수행할 수 있습니다. 이 기능을 사용하면 클러스터의 API 서버 포트 및 끝점 VIP 네트워크를 사용자 지정할 수도 있습니다.
다음 표에서는 NSX ALB 및 Kube-Vip에서 지원되는 기능에 대한 비교를 제공합니다.
NSX ALB | Kube-Vip | |
---|---|---|
IPAM의 클러스터 끝점 VIP | NSX ALB에서 제공 |
고객이 수동으로 관리 |
제어부 노드의 로드 밸런싱 | 트래픽이 모든 제어부 노드로 로드 밸런싱됩니다. |
트래픽은 리더 제어부 노드로만 라우팅됩니다. |
API 서버의 포트 | 임의 포트(기본값은 6443) |
임의 포트(기본값은 6443) |
NSX ALB를 관리 클러스터의 클러스터 끝점 VIP 제공자로 구성하려면 다음을 수행합니다.
관리 클러스터 구성 YAML 파일을 생성하고 파일에 다음 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
끝점 VIP에 정적 IP 주소를 사용하려면 파일에 다음 필드를 추가합니다.
VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
VIP가 VIP 네트워크에 지정된 고정 IP 풀에 있는지 확인합니다.
API 서버의 포트를 지정하려면 파일에 다음 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
CLUSTER_API_SERVER_PORT: <PORT-NUMBER>
참고관리 클러스터 및 해당 워크로드 클러스터는 이 포트를 사용하여 API 서버에 연결합니다.
tanzu management-cluster create
명령을 사용하여 관리 클러스터를 생성합니다.NSX ALB가 이제 관리 클러스터의 끝점 VIP 제공자로 구성되었습니다.
NSX ALB를 워크로드 클러스터의 클러스터 끝점 VIP 제공자로 구성하려면 다음을 수행합니다.
워크로드 클러스터 구성 YAML 파일을 생성하고 다음 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
끝점 VIP에 정적 IP 주소를 사용하려면 파일에 다음 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
VIP가 VIP 네트워크에 지정된 고정 IP 풀에 있는지 확인합니다.
tanzu cluster create
명령을 사용하여 워크로드 클러스터를 배포합니다.
NSX ALB가 이제 워크로드 클러스터의 끝점 VIP 제공자로 구성되었습니다.
NSX ALB Essentials Edition에서 이 기능을 사용하려면 사용 중인 네트워크에 방화벽 또는 네트워크 정책이 구성되어 있지 않은지 확인합니다. 네트워크에 방화벽 또는 네트워크 정책을 구성한 경우 자동 게이트웨이 기능을 사용하여 NSX ALB Enterprise Edition을 배포하여 이 기능을 사용합니다.
NSX ALB를 사용하여 클러스터 끝점 VIP를 제공하는 경우 클러스터 끝점 및 워크로드 서비스(로드 밸런서 및 수신) 외부 IP용 VIP 네트워크를 사용자 지정할 수 있습니다. 다른 VIP 네트워크로 분리하여 보안을 강화하고 다른 네트워크 토폴로지 요구 사항을 충족할 수 있습니다.
다음 다이어그램에서는 관리 클러스터 및 워크로드 클러스터에 별도의 VIP 네트워크가 구성된 경우 네트워크 토폴로지에 대해 설명합니다.
관리 클러스터 및 워크로드 클러스터에 별도의 VIP 네트워크를 구성하려면 다음을 수행합니다.
관리 클러스터 구성 YAML 파일을 생성하고 파일에 다음 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
# Network used to place workload clusters' services external IPs (load balancer & ingress services)
AVI_DATA_NETWORK:
AVI_DATA_NETWORK_CIDR:
# Network used to place workload clusters' endpoint VIPs
AVI_CONTROL_PLANE_NETWORK:
AVI_CONTROL_PLANE_NETWORK_CIDR:
# Network used to place management clusters' services external IPs (load balancer & ingress services)
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_NAME:
AVI_MANAGEMENT_CLUSTER_VIP_NETWORK_CIDR:
# Network used to place management clusters' endpoint VIPs
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_NAME:
AVI_MANAGEMENT_CLUSTER_CONTROL_PLANE_VIP_NETWORK_CIDR:
관리 클러스터 구성 파일을 생성하는 자세한 내용은 관리 클러스터 구성 파일 생성을 참조하십시오.
tanzu management-cluster create
명령을 사용하여 관리 클러스터를 생성합니다.
이제 클러스터의 끝점 VIP와 로드 밸런서 서비스의 외부 IP가 서로 다른 네트워크에 배치됩니다.
다음 다이어그램에서는 서로 다른 워크로드 클러스터에 별도의 VIP 네트워크가 구성된 경우의 네트워크 토폴로지에 대해 설명합니다.
서로 다른 워크로드 클러스터에 VIP 네트워크를 별도로 구성하려면 다음을 수행합니다.
다음 예와 같이 AKODeploymentConfig
CR 개체를 생성합니다.
apiVersion: networking.tkg.tanzu.vmware.com/v1alpha1
kind: AKODeploymentConfig
metadata:
name: install-ako-for-dev-cluster
spec:
adminCredentialRef:
name: avi-controller-credentials
namespace: tkg-system-networking
certificateAuthorityRef:
name: avi-controller-ca
namespace: tkg-system-networking
controller: 1.1.1.1
cloudName: Default-Cloud
serviceEngineGroup: Default-Group
clusterSelector: # match workload clusters with dev-cluster: "true" label
matchLabels:
dev-cluster: "true"
controlPlaneNetwork: # clusters' endpoint VIP come from this VIP network
cidr: 10.10.0.0/16
name: avi-dev-cp-network
dataNetwork: # clusters' services external IP come from this VIP network
cidr: 20.20.0.0/16
name: avi-dev-dp-network
관리 클러스터에 변경 내용을 적용합니다.
kubectl --context=MGMT-CLUSTER-CONTEXT apply -f <FILE-NAME>
워크로드 클러스터 구성 YAML 파일에서 다음 예와 같이 필수 필드를 추가합니다.
AVI_CONTROL_PLANE_HA_PROVIDER: true
AVI_LABELS: '{"dev-cluster": "true"}'
tanzu cluster create
명령을 사용하여 워크로드 클러스터를 생성합니다.
이제 클러스터의 끝점 VIP와 로드 밸런서 서비스의 외부 IP가 서로 다른 네트워크에 배치됩니다.