Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Кластеры больших данных Microsoft SQL Server 2019 прекращены. Поддержка кластеров больших данных SQL Server 2019 закончилась с 28 февраля 2025 г. Дополнительные сведения см. в записи блога объявлений и параметрах больших данных на платформе Microsoft SQL Server.
В этой статье объясняется, как развернуть кластеры больших данных SQL Server в частном кластере Службы Azure Kubernetes (AKS). Эта конфигурация поддерживает ограниченное использование общедоступных IP-адресов в корпоративной сетевой среде.
Частное развертывание обеспечивает следующие преимущества:
- Ограниченное использование общедоступных IP-адресов
- Сетевой трафик между серверами приложений и пулами узлов кластера остается только в частной сети.
- Пользовательская конфигурация для обязательного исходящего трафика в соответствии с конкретными требованиями
В этой статье показано, как использовать частный кластер AKS для ограничения использования общедоступного IP-адреса при применении соответствующих строк безопасности.
Развертывание кластера частных больших данных с помощью частного кластера AKS
Чтобы приступить к работе, создайте частный кластер AKS , чтобы убедиться, что сетевой трафик между сервером API и пулами узлов остается только в частной сети. На уровне управления или сервере API есть внутренние IP-адреса в частном кластере AKS.
В этом разделе показано, как развернуть кластер больших данных в частном кластере Службы Azure Kubernetes (AKS) с расширенной сетью (CNI).
Создание частного кластера AKS с расширенной сетью
export REGION_NAME=<your Azure region >
export RESOURCE_GROUP=< your resource group name >
export SUBNET_NAME=aks-subnet
export VNET_NAME=bdc-vnet
export AKS_NAME=< your aks private cluster name >
az group create -n $RESOURCE_GROUP -l $REGION_NAME
az network vnet create \
--resource-group $RESOURCE_GROUP \
--location $REGION_NAME \
--name $VNET_NAME \
--address-prefixes 10.0.0.0/8 \
--subnet-name $SUBNET_NAME \
--subnet-prefix 10.1.0.0/16
SUBNET_ID=$(az network vnet subnet show \
--resource-group $RESOURCE_GROUP \
--vnet-name $VNET_NAME \
--name $SUBNET_NAME \
--query id -o tsv)
echo $SUBNET_ID
## will be displayed something similar as the following:
/subscriptions/xxxx-xxxx-xxx-xxxx-xxxxxxxx/resourceGroups/your-bdc-rg/providers/Microsoft.Network/virtualNetworks/your-aks-vnet/subnets/your-aks-subnet
Создание частного кластера AKS с расширенными сетями (CNI)
Чтобы перейти к следующему шагу, необходимо подготовить кластер 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.2.0.10 \
--service-cidr 10.2.0.0/24 \
--node-vm-size Standard_D13_v2 \
--node-count 2 \
--generate-ssh-keys
После успешного развертывания, вы можете перейти в <MC_yourakscluster> группу ресурсов, и вы обнаружите, что kube-apiserver является частной конечной точкой. Например, см. следующий раздел.
Подключение к кластеру AKS
az aks get-credentials -n $AKS_NAME -g $RESOURCE_GROUP
Создание профиля развертывания кластера больших данных
После подключения к кластеру AKS можно начать развертывание BDC и подготовить переменную среды и инициировать развертывание:
azdata bdc config init --source aks-dev-test --target private-bdc-aks --force
Создайте и настройте настраиваемый профиль развертывания BDC:
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.docker.imageTag=2019-CU6-ubuntu-16.04"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.data.className=default"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.storage.logs.className=default"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/control.json -j "$.spec.endpoints[1].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.master.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.gateway.spec.endpoints[0].serviceType=NodePort"
azdata bdc config replace -c private-bdc-aks/bdc.json -j "$.spec.resources.appproxy.spec.endpoints[0].serviceType=NodePort"
Развертывание частного кластера больших данных SQL Server с высоким уровнем доступности
Если вы развертываете кластер больших данных SQL Server (SQL-BDC) с высоким уровнем доступности (HA), вы будете использовать профиль развертывания aks-dev-test-ha . После успешного развертывания можно использовать ту же kubectl get svc команду, и вы увидите, что создается дополнительная master-secondary-svc служба. Необходимо настроить ServiceType как NodePort. Другие шаги будут аналогичны тому, что упоминалось в предыдущем разделе.
В следующем примере ServiceType задается как NodePort.
azdata bdc config replace -c private-bdc-aks /bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"
Развертывание BDC в частном кластере AKS
export AZDATA_USERNAME=<your bdcadmin username>
export AZDATA_PASSWORD=< your bdcadmin password>
azdata bdc create --config-profile private-bdc-aks --accept-eula yes
Проверка состояния развертывания
Развертывание займет несколько минут, и для проверки состояния развертывания можно использовать следующую команду:
kubectl get pods -n mssql-cluster -w
Проверка состояния службы
Чтобы проверить службы, используйте следующую команду. Убедитесь, что они все работоспособны без внешних IP-адресов:
kubectl get services -n mssql-cluster
Узнайте, как управлять кластером больших данных в частном кластере AKS , а затем следующим шагом является подключение к кластеру больших данных SQL Server.
См. сценарии автоматизации для этого сценария в репозитории примеров SQL Server на GitHub.