Руководство по развертыванию кластеров больших данных SQL Server в режиме AD в службах Azure Kubernetes (AKS)

В этой статье объясняется, как развернуть кластер больших данных SQL Server в режиме проверки подлинности Active Directory с эталонной архитектурой. Эталонная архитектура расширяет локальную доменную службу Active Directory (AD DS) в Azure. Его можно развернуть из Центра архитектуры Azure с помощью стандартных блоков Azure.

Important

Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.

Prerequisites

Перед развертыванием кластера больших данных SQL Server необходимо выполнить следующие действия.

Создание подсети AKS

  1. Настройка переменных среды

    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. Создание подсети AKS

    SUBNET_ID=$(az network vnet subnet show \
     --resource-group $RESOURCE_GROUP \
     --vnet-name $VNet_NAME \
     --name $SUBNET_NAME \
     --query id -o tsv)
    

На следующем снимке экрана показано, как мы планируем размещение подсетей в виртуальной сети в архитектуре.

Схема кластера AKS с AD и кластером больших данных SQL Server.

Создание частного кластера AKS

Для развертывания частного кластера AKS можно использовать следующую команду. Если не требуется частный кластер, удалите --enable-private-cluster параметр в команде. Дополнительные сведения о других требованиях см. в статье о развертывании кластера Azure Kubernetes (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

После развертывания кластера AKS подключитесь к кластеру AKS.

Проверка обратной записи DNS для контроллера домена

Перед началом развертывания кластеров больших данных SQL Server в режиме AD в кластере AKS убедитесь, что сам контроллер домена имеет запись A и запись PTR (обратная запись DNS), зарегистрированную на DNS-сервере.

Чтобы проверить этот параметр, выполните команду или запустите nslookupскрипт PowerShell , чтобы подтвердить, настроена ли обратная запись DNS (запись PTR).

Создание профиля развертывания кластера больших данных

Следующая команда создает профиль развертывания:

azdata bdc config init --source kubeadm-prod  --target bdc-ad-aks

Следующие команды используются для задания параметров профиля развертывания.

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"

Initiate deployment

Следующая команда инициирует развертывание кластера больших данных:

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