Freigeben über


Bereitstellen von BDC im privaten Azure Kubernetes Service (AKS)-Cluster

Important

Die Big Data Cluster von Microsoft SQL Server 2019 werden eingestellt. Der Support für SQL Server 2019 Big Data Cluster endete am 28. Februar 2025. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und den Big Data-Optionen auf der Microsoft SQL Server-Plattform.

In diesem Artikel wird erläutert, wie SQL Server Big Data Cluster auf privaten Azure Kubernetes Service (AKS)-Clustern bereitgestellt werden. Diese Konfiguration unterstützt die eingeschränkte Verwendung öffentlicher IP-Adressen in der Unternehmensnetzwerkumgebung.

Eine private Bereitstellung bietet die folgenden Vorteile:

  • Eingeschränkte Verwendung öffentlicher IP-Adressen
  • Netzwerkdatenverkehr zwischen Anwendungsservern und Clusterknotenpools bleibt nur im privaten Netzwerk
  • Benutzerdefinierte Konfiguration für obligatorischen Ausgangsverkehr, um bestimmte Anforderungen zu erfüllen

In diesem Artikel wird veranschaulicht, wie Sie einen privaten AKS-Cluster verwenden, um die Verwendung der öffentlichen IP-Adresse einzuschränken, während entsprechende Sicherheitszeichenfolgen angewendet wurden.

Bereitstellen eines privaten "Big Data"-Clusters mit privatem AKS-Cluster

Erstellen Sie zunächst einen privaten AKS-Cluster , um sicherzustellen, dass der Netzwerkverkehr zwischen API-Server und Knotenpools nur im privaten Netzwerk verbleibt. Die Steuerebene oder der API-Server verfügt über interne IP-Adressen in einem privaten AKS-Cluster.

In diesem Abschnitt wird gezeigt, wie Sie einen Big Data-Cluster im privaten Azure Kubernetes Service (AKS)-Cluster mit erweiterten Netzwerken (CNI) bereitstellen.

Erstellen eines privaten AKS-Clusters mit erweiterten Netzwerken


export REGION_NAME=<your Azure region >
export RESOURCE_GROUP=< your resource group name >
export SUBNET_NAME=aks-subnet
export VNET_NAME=bdc-vnet
export AKS_NAME=< your aks private cluster name >
 
az group create -n $RESOURCE_GROUP -l $REGION_NAME
 
az network vnet create \
    --resource-group $RESOURCE_GROUP \
    --location $REGION_NAME \
    --name $VNET_NAME \
    --address-prefixes 10.0.0.0/8 \
    --subnet-name $SUBNET_NAME \
    --subnet-prefix 10.1.0.0/16
 

SUBNET_ID=$(az network vnet subnet show \
    --resource-group $RESOURCE_GROUP \
    --vnet-name $VNET_NAME \
    --name $SUBNET_NAME \
    --query id -o tsv)
 
echo $SUBNET_ID
## will be displayed something similar as the following: 
/subscriptions/xxxx-xxxx-xxx-xxxx-xxxxxxxx/resourceGroups/your-bdc-rg/providers/Microsoft.Network/virtualNetworks/your-aks-vnet/subnets/your-aks-subnet

Erstellen eines privaten AKS-Clusters mit erweiterten Netzwerken (CNI)

Um zum nächsten Schritt zu gelangen, müssen Sie einen AKS-Cluster mit Standard-Load-Balancer und aktivierter privater Clusterfunktion bereitstellen. Ihr Befehl sieht wie folgt aus:

az aks create \
    --resource-group $RESOURCE_GROUP \
    --name $AKS_NAME \
    --load-balancer-sku standard \
    --enable-private-cluster \
    --network-plugin azure \
    --vnet-subnet-id $SUBNET_ID \
    --docker-bridge-address 172.17.0.1/16 \
    --dns-service-ip 10.2.0.10 \
    --service-cidr 10.2.0.0/24 \
    --node-vm-size Standard_D13_v2 \
    --node-count 2 \
    --generate-ssh-keys

Nach einer erfolgreichen Bereitstellung können Sie zur <MC_yourakscluster> Ressourcengruppe wechseln und feststellen, dass es kube-apiserver sich um einen privaten Endpunkt handelt. Weitere Informationen finden Sie beispielsweise im folgenden Abschnitt.

Herstellen einer Verbindung mit einem AKS-Cluster

az aks get-credentials -n $AKS_NAME -g $RESOURCE_GROUP

Erstellen eines Big Data Cluster-Bereitstellungsprofils

Nachdem Sie eine Verbindung mit einem AKS-Cluster hergestellt haben, können Sie mit der Bereitstellung von BDC beginnen und die Umgebungsvariable vorbereiten und eine Bereitstellung initiieren:

azdata bdc config init --source aks-dev-test --target private-bdc-aks --force

Benutzerdefiniertes BDC-Bereitstellungsprofil generieren und konfigurieren:

azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.docker.imageTag=2019-CU6-ubuntu-16.04"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.data.className=default"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.logs.className=default"

azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[1].serviceType=NodePort"

azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].serviceType=NodePort"

Bereitstellen eines privaten SQL Server Big Data-Clusters mit HA

Wenn Sie einen SQL Server Big Data Cluster (SQL-BDC) mit hoher Verfügbarkeit (HA) bereitstellen, verwenden Sie bereitstellungsprofil aks-dev-test-ha . Nach einer erfolgreichen Bereitstellung können Sie denselben kubectl get svc Befehl verwenden und sehen, dass ein zusätzlicher master-secondary-svc Dienst erstellt wird. Müssen Sie ServiceType als NodePort konfigurieren. Andere Schritte ähneln den im vorherigen Abschnitt erwähnten Schritten.

Im folgenden Beispiel wird ServiceType als NodePort festgelegt.

azdata bdc config replace -c private-bdc-aks /bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"

Bereitstellen von BDC im privaten AKS-Cluster

export AZDATA_USERNAME=<your bdcadmin username>
export AZDATA_PASSWORD=< your bdcadmin password>

azdata bdc create --config-profile private-bdc-aks --accept-eula yes

Überprüfen des Bereitstellungsstatus

Die Bereitstellung dauert einige Minuten, und Sie können den folgenden Befehl verwenden, um den Bereitstellungsstatus zu überprüfen:

kubectl get pods -n mssql-cluster -w

Überprüfen des Dienststatus

Verwenden Sie den folgenden Befehl, um die Dienste zu überprüfen. Überprüfen Sie, ob sie alle fehlerfrei sind, ohne externe IPs:

kubectl get services -n mssql-cluster

Erfahren Sie, wie Sie einen Big Data-Cluster innerhalb eines AKS privaten Clusters verwalten, und der nächste Schritt besteht darin, sich mit einem SQL Server-Big Data-Cluster zu verbinden.

Siehe Automatisierungsskripts für dieses Szenario im SQL Server Samples-Repository auf GitHub.