Tutorial: Bereitstellen von SQL Server-Big Data-Clustern im AD-Modus in Azure Kubernetes Services
In diesem Artikel wird erläutert, wie Sie einen Big Data-Cluster für SQL Server im Active Directory-Authentifizierungsmodus mithilfe einer Referenzarchitektur bereitstellen. Die Referenzarchitektur erweitert Ihre lokale Active Directory Domain Services-Instanz (AD DS) auf Azure. Sie können es über das Azure Architecture Center mit Azure-Bausteinen bereitstellen.
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.
Voraussetzungen
Vor dem Bereitstellen eines SQL Server-Big Data Clusters müssen die folgenden Voraussetzungen erfüllt sein:
- Greifen Sie auf eine Azure-VM für die Verwaltung zu. Diese VM benötigt Zugriff auf das virtuelle Azure-Netzwerk (VNET), auf dem Sie den Big Data-Cluster bereitstellen. Dieses muss sich entweder im gleichen virtuellen Netzwerk oder auf einem VNET mit Peering befinden.
- Installieren Sie die Big Data Tools auf der Verwaltungs-VM.
- Bereiten Sie die Bereitstellung des Clusters im AD-Authentifizierungsmodus auf Ihrem lokalen AD-Controller vor.
Erstellen eines AKS-Subnetzes
Festlegen von Umgebungsvariablen
export REGION_NAME=< your Azure Region > export RESOURCE_GROUP=<your resource group > export SUBNET_NAME=aks-subnet export VNet_NAME= adds-vnet export AKS_NAME= <your aks cluster name>
Erstellen des AKS-Subnetzes
SUBNET_ID=$(az network vnet subnet show \ --resource-group $RESOURCE_GROUP \ --vnet-name $VNet_NAME \ --name $SUBNET_NAME \ --query id -o tsv)
Auf dem folgenden Screenshot sehen Sie einen Plan der Subnetze, die sich im VNET in der Architektur befinden.
Erstellen eines privaten AKS-Clusters
Sie können den folgenden Befehl verwenden, um einen privaten AKS-Cluster bereitzustellen. Wenn Sie keinen privaten Cluster benötigen, entfernen Sie den Parameter --enable-private-cluster
aus dem Befehl. Weitere Informationen zu anderen Voraussetzungen finden Sie unter Bereitstellen eines Azure Kubernetes Service-Clusters (AKS).
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.3.0.10 \
--service-cidr 10.3.0.0/24 \
--node-vm-size Standard_D13_v2 \
--node-count 2 \
--generate-ssh-keys
Stellen Sie eine Verbindung mit dem AKS-Cluster her, nachdem Sie ihn bereitgestellt haben.
Überprüfen der Reverse-DNS-Einträge für den Domänencontroller
Vergewissern Sie sich vor dem Starten der SQL Server-Big Data-Cluster-Bereitstellung im AD-Modus im AKS-Cluster, dass der Domänencontroller selbst sowohl über einen A-Eintrag als auch über einen PTR-Eintrag (Reverse-DNS-Eintrag) verfügt, der beim DNS-Server registriert ist.
Führen Sie den Befehl nslookup
oder das PowerShell-Skript aus, um zu überprüfen, ob ein Reverse-DNS-Eintrag (PTR-Eintrag) konfiguriert ist.
Erstellen eines Bereitstellungsprofils für den Big Data-Cluster
Über den folgenden Befehl können Sie ein Bereitstellungsprofil erstellen:
azdata bdc config init --source kubeadm-prod --target bdc-ad-aks
Die folgenden Befehle werden verwendet, um Parameter für ein Bereitstellungsprofil festzulegen.
control.json
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.storage.data.className=default"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.storage.logs.className=default"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[0].dnsName=controller.contoso.com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.spec.endpoints[1].dnsName=proxys.contoso.com"
# security settings
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.ouDistinguishedName=OU\=bdc\,DC\=contoso\,DC\=com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.dnsIpAddresses=[\"192.168.0.4\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.domainControllerFullyQualifiedDns=[\"ad1.contoso.com\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.domainDnsName=contoso.com"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.clusterAdmins=[\"bdcadminsgroup\"]"
azdata bdc config replace -p bdc-ad-aks/control.json -j "$.security.activeDirectory.clusterUsers=[\"bdcusersgroup\"]"
bdc.json
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].dnsName=master.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[1].dnsName=mastersec.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].dnsName=gateway.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].dnsName=approxy.contoso.com"
azdata bdc config replace -p bdc-ad-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].serviceType=NodePort"
Initiieren einer Bereitstellung
Mit dem folgenden Befehl wird eine Big Data-Clusterbereitstellung initiiert:
azdata bdc create --config-profile bdc-ad-aks --accept-eula yes