Bereitstellen von BDC in einem privaten Azure Kubernetes Service-Cluster (AKS-Cluster)
Wichtig
Das Microsoft SQL Server 2019-Big Data-Cluster-Add-On wird eingestellt. Der Support für SQL Server 2019-Big Data-Clusters endet am 28. Februar 2025. Alle vorhandenen Benutzer*innen von SQL Server 2019 mit Software Assurance werden auf der Plattform vollständig unterstützt, und die Software wird bis zu diesem Zeitpunkt weiterhin über kumulative SQL Server-Updates verwaltet. Weitere Informationen finden Sie im Ankündigungsblogbeitrag und unter Big Data-Optionen auf der Microsoft SQL Server-Plattform.
In diesem Artikel wird erläutert, wie Big Data-Cluster in SQL Server in einem privaten Azure Kubernetes Service-Cluster (AKS-Cluster) bereitgestellt werden. Diese Konfiguration unterstützt die eingeschränkte Verwendung von öffentlichen IP-Adressen in einer Unternehmensnetzwerkumgebung.
Eine private Bereitstellung bietet die folgenden Vorteile:
- Eingeschränkte Verwendung öffentlicher IP-Adressen
- Der Netzwerkdatenverkehr zwischen Anwendungsservern und Clusterknotenpools erfolgt nur im privaten Netzwerk.
- Benutzerdefinierte Konfiguration für den obligatorischen ausgehenden Datenverkehr zur Erfüllung bestimmter Anforderungen
In diesem Artikel wird erläutert, wie ein privater AKS-Cluster verwendet wird, um die Verwendung öffentlicher IP-Adressen bei gleichzeitiger Anwendung entsprechender Sicherheitszeichenfolgen einzuschränken.
Bereitstellen eines privaten Big Data-Clusters mit einem privaten AKS-Cluster
Erstellen Sie zunächst einen privaten AKS-Cluster, um sicherzustellen, dass der Netzwerkdatenverkehr zwischen dem API-Server und den Knotenpools ausschließlich im privaten Netzwerk erfolgt. Die Steuerungsebene oder der API-Server verfügt über interne IP-Adressen in einem privaten AKS-Cluster.
In diesem Abschnitt wird beschrieben, wie Sie einen Big Data-Cluster in einem privaten Azure Kubernetes Service-Cluster (AKS-Cluster) mit erweiterten Netzwerkeinstellungen (CNI) bereitstellen.
Erstellen eines privaten AKS-Clusters mit erweiterten Netzwerkeinstellungen
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 Netzwerkeinstellungen (CNI)
Um zum nächsten Schritt zu gelangen, müssen Sie einen AKS-Cluster mit Load Balancer Standard bereitstellen, für den die Funktion für private Cluster aktiviert ist. Der von Ihnen auszuführende 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 Ressourcengruppe <MC_yourakscluster>
wechseln. Sie werden feststellen, dass kube-apiserver
ein privater Endpunkt ist. Der folgende Abschnitt dient als Beispiel.
Herstellen einer Verbindung mit einem AKS-Cluster
az aks get-credentials -n $AKS_NAME -g $RESOURCE_GROUP
Erstellen eines Bereitstellungsprofils für den Big Data-Cluster
Nachdem Sie eine Verbindung mit einem AKS-Cluster hergestellt haben, können Sie mit der BDC-Bereitstellung beginnen, und Sie können die Umgebungsvariable vorbereiten und eine Bereitstellung initiieren:
azdata bdc config init --source aks-dev-test --target private-bdc-aks --force
Generieren und Konfigurieren eines benutzerdefinierten BDC-Bereitstellungsprofils:
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 Big Data-Clusters in SQL Server mit Hochverfügbarkeit
Wenn Sie einen Big Data-Cluster in SQL Server (SQL-BDC) mit Hochverfügbarkeit bereitstellen, verwenden Sie das Bereitstellungsprofil aks-dev-test-ha
. Nach einer erfolgreichen Bereitstellung können Sie denselben kubectl get svc
-Befehl verwenden. Es wird ein zusätzlicher master-secondary-svc
-Dienst erstellt. Sie müssen ServiceType
als NodePort
konfigurieren. Andere Schritte ähneln den im vorigen Abschnitt erwähnten Schritten.
Im folgenden Beispiel wird ServiceType
auf NodePort
festgelegt:
azdata bdc config replace -c private-bdc-aks /bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"
Bereitstellen von BDC in einem 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. Sie können den Bereitstellungsstatus mithilfe des folgenden Befehls überprüfen:
kubectl get pods -n mssql-cluster -w
Überprüfen des Dienststatus
Verwenden Sie den folgenden Befehl, um die Dienste zu überprüfen. Vergewissern Sie sich, dass alle Dienste fehlerfrei ausgeführt werden (ohne externe IP-Adressen):
kubectl get services -n mssql-cluster
Erfahren Sie, wie Sie einen Big Data-Cluster in einem privaten AKS-Cluster verwalten. Der nächste Schritt besteht darin, eine Verbindung mit einem SQL Server-Big Data-Cluster herzustellen.
Die Automatisierungsskripts für dieses Szenario finden Sie im Repository für SQL Server-Beispiele auf GitHub.