Freigeben über


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

  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.

Diagramm des AKS-Clusters mit AD und 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