本文介绍如何使用参考体系结构在 Active Directory 身份验证模式下部署 SQL Server 大数据群集。 参考体系结构将本地 Active Directory 域服务 (AD DS) 扩展到 Azure。 可以使用 Azure 构建基块通过 Azure 体系结构中心部署它。
Important
Microsoft SQL Server 2019 大数据群集已停用。 对 SQL Server 2019 大数据群集的支持已于 2025 年 2 月 28 日结束。 有关详细信息,请参阅Microsoft SQL Server 平台上的公告博客文章和大数据选项。
Prerequisites
在部署 SQL Server 大数据群集之前,需要执行以下操作:
- 访问用于管理的 Azure VM。 此 VM 需要访问你将在其中部署大数据群集的 Azure 虚拟网络 (VNet)。 它必须位于同一 VNet 中,或位于对等互连 VNet 上。
- 在管理 VM 上安装大数据工具。
- 准备在本地 AD 控制器中的 Active Directory 身份验证模式下部署群集。
创建 AKS 子网
设置环境变量。
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>创建 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 专用群集
可以使用以下命令部署 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"
Initiate deployment
以下命令将启动大数据群集部署:
azdata bdc create --config-profile bdc-ad-aks --accept-eula yes