Quando è integrato con Tanzu Kubernetes Grid, NSX ALB può fornire il VIP dell'endpoint ai cluster ed eseguire il bilanciamento del carico nei nodi del piano di controllo del cluster. Questa funzionalità consente inoltre di personalizzare la porta del server API e la rete VIP degli endpoint del cluster.
La seguente tabella include un confronto delle funzionalità supportate in NSX ALB e Kube-Vip:
NSX ALB | Kube-VIP | |
---|---|---|
VIP endpoint cluster per IPAM | Fornito da NSX ALB |
Gestito manualmente dal cliente |
Bilanciamento del carico per i nodi del piano di controllo | Il carico del traffico verrà bilanciato in tutti i nodi del piano di controllo |
Il traffico verrà instradato solo al nodo del piano di controllo leader |
Porta per il server API | Qualsiasi porta (quella predefinita è la 6443) |
Qualsiasi porta (quella predefinita è la 6443) |
Per configurare NSX ALB come provider VIP dell'endpoint del cluster in un cluster di gestione:
Creare un file YAML di configurazione del cluster di gestione e aggiungere il campo seguente nel file:
AVI_CONTROL_PLANE_HA_PROVIDER: true
Se si desidera utilizzare un indirizzo IP statico per il VIP dell'endpoint, aggiungere il campo seguente nel file:
VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
Assicurarsi che il VIP sia presente nel pool di IP statici specificato nella rete VIP.
Se si desidera specificare una porta per il server API, aggiungere il campo seguente nel file:
AVI_CONTROL_PLANE_HA_PROVIDER: true
CLUSTER_API_SERVER_PORT: <PORT-NUMBER>
NotaIl cluster di gestione e i relativi cluster del carico di lavoro utilizzeranno questa porta per connettersi al server API.
tanzu management-cluster create
.NSX ALB è ora configurato come provider VIP dell'endpoint per il cluster di gestione.
Per configurare NSX ALB come provider VIP dell'endpoint del cluster in un cluster del carico di lavoro:
Creare un file YAML di configurazione del cluster del carico di lavoro e aggiungere il campo seguente:
AVI_CONTROL_PLANE_HA_PROVIDER: true
Se si desidera utilizzare un indirizzo IP statico per il VIP dell'endpoint, aggiungere il campo seguente nel file:
AVI_CONTROL_PLANE_HA_PROVIDER: true
VSPHERE_CONTROL_PLANE_ENDPOINT: <IP-ADDRESS>
Assicurarsi che il VIP sia presente nel pool di IP statici specificato nella rete VIP.
Distribuire il cluster del carico di lavoro utilizzando il comando tanzu cluster create
.
NSX ALB è ora configurato come provider VIP dell'endpoint per il cluster del carico di lavoro.
Se si desidera utilizzare questa funzionalità in NSX ALB Essentials Edition, assicurarsi che nella rete in uso non siano configurati firewall o criteri di rete. Se sono stati configurati firewall o criteri di rete nella rete, distribuire la NSX ALB Enterprise Edition con la funzionalità di gateway automatico per utilizzare questa funzionalità.
Quando si utilizza NSX ALB per fornire il VIP dell'endpoint del cluster, è possibile personalizzare la rete VIP per l'endpoint del cluster e gli IP esterni dei servizi del carico di lavoro (bilanciamento del carico e ingresso). È possibile separarli in reti VIP diverse per migliorare la sicurezza e soddisfare gli altri requisiti della topologia di rete.
Il diagramma seguente descrive la topologia di rete quando vengono configurate reti VIP separate per il cluster di gestione e i cluster del carico di lavoro:
Per configurare reti VIP separate per il cluster di gestione e i cluster del carico di lavoro:
Creare un file YAML di configurazione del cluster di gestione e aggiungere i seguenti campi nel file:
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:
Per ulteriori informazioni sulla creazione di un file di configurazione del cluster di gestione, vedere Creazione di un file di configurazione del cluster di gestione.
Creare il cluster di gestione utilizzando il comando tanzu management-cluster create
.
Il VIP dell'endpoint del cluster e l'IP esterno del servizio di bilanciamento del carico vengono ora posizionati in reti diverse.
Il diagramma seguente descrive la topologia di rete quando reti VIP separate sono configurate per cluster del carico di lavoro diversi.
Per configurare reti VIP separate per cluster del carico di lavoro diversi:
Creare un oggetto CR AKODeploymentConfig
come illustrato nell'esempio seguente:
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
Applicare le modifiche nel cluster di gestione:
kubectl --context=MGMT-CLUSTER-CONTEXT apply -f <FILE-NAME>
Nel file YAML di configurazione del cluster del carico di lavoro, aggiungere i campi necessari, come illustrato nell'esempio seguente:
AVI_CONTROL_PLANE_HA_PROVIDER: true
AVI_LABELS: '{"dev-cluster": "true"}'
Creare il cluster del carico di lavoro utilizzando il comando tanzu cluster create
.
Il VIP dell'endpoint dei cluster e l'IP esterno del servizio di bilanciamento del carico vengono ora posizionati in reti diverse.