Menyebarkan BDC di kluster privat Azure Kubernetes Service (AKS)

Penting

Add-on Kluster Big Data Microsoft SQL Server 2019 akan dihentikan. Dukungan untuk SQL Server 2019 Kluster Big Data akan berakhir pada 28 Februari 2025. Semua pengguna SQL Server 2019 yang ada dengan Jaminan Perangkat Lunak akan didukung sepenuhnya pada platform dan perangkat lunak akan terus dipertahankan melalui pembaruan kumulatif SQL Server hingga saat itu. Untuk informasi selengkapnya, lihat posting blog pengumuman dan Opsi big data di platform Microsoft SQL Server.

Artikel ini menjelaskan cara menyebarkan SQL Server Kluster Big Data pada kluster privat Azure Kubernetes Service (AKS). Konfigurasi ini mendukung penggunaan terbatas alamat IP publik di lingkungan jaringan perusahaan.

Penyebaran privat memberikan manfaat berikut:

  • Penggunaan alamat IP publik yang dibatasi
  • Lalu lintas jaringan antara server aplikasi dan kumpulan simpul kluster hanya tersisa di jaringan privat
  • Konfigurasi kustom untuk lalu lintas keluar wajib agar sesuai dengan persyaratan tertentu

Artikel ini menunjukkan cara menggunakan kluster privat AKS untuk membatasi penggunaan alamat IP Publik sementara string keamanan masing-masing telah diterapkan.

Menyebarkan kluster big data privat dengan kluster privat AKS

Untuk memulai, buat kluster privat AKS untuk memastikan lalu lintas jaringan antara server API dan kumpulan simpul tetap berada di jaringan privat saja. Sarana kontrol atau server API memiliki alamat IP internal dalam kluster privat AKS.

Bagian ini menunjukkan Anda menyebarkan kluster big data di kluster privat Azure Kubernetes Service (AKS) dengan jaringan lanjutan (CNI).

Membuat kluster AKS privat dengan jaringan tingkat lanjut


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

Membuat kluster privat AKS dengan jaringan tingkat lanjut (CNI)

Untuk dapat masuk ke langkah berikutnya, Anda perlu memprovisikan kluster AKS dengan Load Balancer Standar dengan fitur kluster privat diaktifkan. Perintah Anda akan terlihat seperti berikut:

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

Setelah penyebaran berhasil, Anda dapat masuk ke <MC_yourakscluster> grup sumber daya dan Anda akan menemukan kube-apiserver adalah titik akhir privat. Misalnya, lihat bagian berikut.

Koneksi ke kluster AKS

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

Membangun profil penyebaran Kluster Big Data

Setelah menyambungkan ke kluster AKS, Anda dapat mulai menyebarkan BDC, dan Anda dapat menyiapkan variabel lingkungan dan memulai penyebaran:

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

Membuat dan mengonfigurasi profil penyebaran kustom 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"

Menyebarkan Kluster Big Data SQL Server privat dengan KETERSEDIAAN TINGGI

Jika Anda menyebarkan SQL Server Big Data Cluster (SQL-BDC) dengan ketersediaan tinggi (HA), Anda akan menggunakan profil penyebaran aks-dev-test-ha . Setelah penyebaran berhasil, Anda dapat menggunakan perintah yang sama kubectl get svc dan Anda akan melihat layanan tambahan master-secondary-svc dibuat. Anda perlu mengonfigurasi ServiceType sebagai NodePort. Langkah lain akan mirip dengan apa yang disebutkan di bagian sebelumnya.

Contoh berikut menetapkan ServiceType sebagai NodePort:

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

Menyebarkan BDC di kluster privat AKS

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

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

Periksa status penyebaran

Penyebaran akan memakan waktu beberapa menit dan Anda dapat menggunakan perintah berikut untuk memeriksa status penyebaran:

kubectl get pods -n mssql-cluster -w

Periksa status layanan

Gunakan perintah berikut untuk memeriksa layanan. Verifikasi bahwa semuanya sehat tanpa IP eksternal:

kubectl get services -n mssql-cluster

Lihat cara mengelola kluster big data di kluster privat AKS lalu langkah selanjutnya adalah menyambungkan ke kluster big data SQL Server.

Lihat skrip otomatisasi untuk skenario ini di repositori Sampel SQL Server di GitHub.