Compartilhar via


Implantar o BDC no cluster privado do AKS (Serviço de Kubernetes do Azure)

Importante

O complemento Clusters de Big Data do Microsoft SQL Server 2019 será desativado. O suporte para Clusters de Big Data do SQL Server 2019 será encerrado em 28 de fevereiro de 2025. Todos os usuários existentes do SQL Server 2019 com Software Assurance terão suporte total na plataforma e o software continuará a ser mantido por meio de atualizações cumulativas do SQL Server até esse momento. Para obter mais informações, confira a postagem no blog de anúncio e as opções de Big Data na plataforma do Microsoft SQL Server.

Este artigo explica como implantar Clusters de Big Data do SQL Server no cluster privado do AKS (Serviço de Kubernetes do Azure). Essa configuração dá suporte ao uso restrito de endereços IP públicos no ambiente de rede corporativo.

Uma implantação privada oferece os seguintes benefícios:

  • Uso restrito de endereços IP públicos
  • O tráfego de rede entre servidores de aplicativos e pools de nó de cluster permanece apenas na rede privada
  • Configuração personalizada para tráfegos de saída obrigatórios para atender a requisitos específicos

Este artigo demonstra como usar um cluster privado do AKS para restringir o uso do endereço IP público enquanto as respectivas cadeias de caracteres de segurança são aplicadas.

Implantar o cluster privado de Big Data com o cluster privado do AKS

Para começar, crie um cluster privado do AKS para garantir que o tráfego de rede entre o servidor de API e os pools de nós permaneça somente na rede privada. O plano de controle ou o servidor de API tem endereços IP internos em um cluster privado do AKS.

Esta seção mostra como implantar um cluster de Big Data no cluster privado do AKS (Serviço de Kubernetes do Azure) com a rede avançada (CNI).

Criar um cluster privado do AKS com rede avançada


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

Criar um cluster privado do AKS com rede avançada (CNI)

Para poder avançar para a etapa a seguir, você precisa provisionar um cluster do AKS com Standard Load Balancer com recurso de cluster privado habilitado. O comando se parecerá com o seguinte:

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

Após uma implantação bem-sucedida, você pode ir para o grupo de recursos <MC_yourakscluster> e verá que kube-apiserver é um ponto de extremidade privado. Por exemplo, observe a seção a seguir.

Conectar-se a um cluster do AKS

az aks get-credentials -n $AKS_NAME -g $RESOURCE_GROUP

Compilar perfil de implantação do Cluster de Big Data

Depois de se conectar a um cluster do AKS, você pode começar a implantar o BDC, preparar a variável de ambiente e iniciar uma implantação:

azdata bdc config init --source aks-dev-test --target private-bdc-aks --force

Gerar e configurar o perfil de implantação personalizada do 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"

Implantar o cluster de Big Data do SQL Server privado com HA

Caso você esteja implantando um SQL-BDC (Cluster de Big Data do SQL Server) com HA (alta disponibilidade), usará a opção de implantar o perfil de implantação aks-dev-test-ha. Após uma implantação bem-sucedida, você poderá usar o mesmo comando kubectl get svc e verá que um serviço master-secondary-svc adicional é criado. É necessário configurar ServiceType como NodePort. Outras etapas serão semelhantes às mencionadas na seção anterior.

O seguinte exemplo define ServiceType como NodePort:

azdata bdc config replace -c private-bdc-aks /bdc.json -j "$.spec.resources.master.spec.endpoints[1].serviceType=NodePort"

Implantar o BDC no cluster privado do AKS

export AZDATA_USERNAME=<your bdcadmin username>
export AZDATA_PASSWORD=< your bdcadmin password>

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

Verifique o status da implantação

A implantação levará alguns minutos e você poderá usar o seguinte comando para verificar o status da implantação:

kubectl get pods -n mssql-cluster -w

Verificar o status do serviço

Use o comando a seguir para verificar os serviços. Verifique se todos estão íntegros sem IPs externos:

kubectl get services -n mssql-cluster

Confira como gerenciar o cluster de Big Data no cluster privado do AKS, e a próxima etapa é conectar-se a um cluster de Big Data do SQL Server.

Confira os scripts de automação para este cenário no repositório de exemplos do SQL Server no GitHub.