Share via


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 sie mithilfe von Azure-Bausteinen über das Azure Architecture Center 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

  1. 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>
    
  2. 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.

Diagram of the AKS cluster with AD and SQL Server Big Data Cluster.

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