教程:在 Azure Kubernetes 服务 (AKS) 上的 AD 模式下部署 SQL Server 大数据群集

本文介绍如何使用参考体系结构在 Active Directory 身份验证模式下部署 SQL Server 大数据群集。 参考体系结构将本地 Active Directory 域服务 (AD DS) 扩展到 Azure。 可以使用 Azure 构建基块通过 Azure 体系结构中心进行部署。

重要

Microsoft SQL Server 2019 大数据群集附加产品将停用。 对 SQL Server 2019 大数据群集的支持将于 2025 年 2 月 28 日结束。 有关详细信息,请参阅 Microsoft SQL Server 平台上的大数据选项

先决条件

在部署 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)
    

以下屏幕截图显示我们如何计划子网驻留在体系结构的 VNet 中。

AKS cluster with AD and SQL Server Big Data Cluster

创建 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 条目

在 AKS 群集中的 AD 模式下开始 SQL Server 大数据群集部署之前,请验证域控制器本身是否已在 DNS 服务器中注册 A 记录和 PTR 记录(反向 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"

启动部署

以下命令将启动大数据群集部署:

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

后续步骤

使用 Azure Data Studio 连接到 SQL Server 大数据群集

教程:将示例数据加载到 SQL Server 大数据群集中