إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذه المقالة، ستتعلم كيفية نشر مثيل SQL مدار ممكن بواسطة Arc في منطقة موسعة. راجع ما هي مناطق Azure الموسعة؟ | خدمات لأحمال عمل PaaS المدعومة حاليا.
المتطلبات الأساسية
- حساب Azure مع اشتراك نشط.
- الوصول إلى منطقة موسعة. لمزيد من المعلومات، راجع طلب الوصول إلى منطقة Azure الموسعة.
- قم بتثبيت Azure CLI.
- الوصول إلى سجل حاوية عام أو خاص، مثل Azure Container Registry.
- Azure Data Studio
- ملحق Azure Arc ل Azure Data Studio
- ملحق arcdata ل Azure CLI
- kubectl
- وحدة تحكم بيانات Azure Arc، بالإضافة إلى الأدوات المطلوبة.
- أدوات العميل الأخرى اعتمادا على البيئة الخاصة بك. للحصول على قائمة أكثر شمولا، راجع أدوات العميل.
- تم إعداد مجموعة Kubernetes التي تدعم Azure Arc في المناطق الموسعة.
إشعار
استخدم الموقع الموسع المقصود كمتغير الموقع الخاص بك.
الشروع في العمل
إذا كنت على دراية بالموضوع بالفعل، فيمكنك تخطي هذه الفقرة. فيما يلي مواضيع هامة قد ترغب في قراءتها قبل المتابعة في الإنشاء:
- متطلبات وقيود المعاينة العامة. من الأهمية الخاصة متطلبات نظام المجموعة.
- نظرة عامة على خدمات البيانات التي تدعم Azure Arc
- أوضاع الاتصال ومتطلباته
- تكوين التخزين ومفاهيم تخزين Kubernetes
- نموذج مورد Kubernetes
إنشاء مثيل ManagedSQL ممكن بواسطة Azure Arc في المناطق الموسعة
الآن بعد إنشاء مجموعة AKS الممكنة بواسطة Arc، يمكننا المتابعة إلى استخدام البرنامج النصي PowerShell التالي لإنشاء مثيل ManagedSQL على نظام مجموعة AKS في منطقة موسعة وتوصيلها ب Kubernetes التي تدعم Azure Arc.
إشعار
تأكد من نقل المعلمات من خطوات AKS الممكنة بواسطة Arc بشكل صحيح إلى البرنامج النصي.
. "./CreateArcEnabledAksOnEZ"
function CreateManagedSqlOnArcEnabledAksEz {
param(
[string] $ManagedInstanceName,
[string] $dbname,
[string] $SubscriptionId,
[string] $AKSClusterResourceGroupName,
[string] $location = "westus",
[string] $AKSName,
[string] $edgeZone,
[int] $nodeCount = 2,
[string] $vmSize = "standard_nv12ads_a10_v5",
[string] $ArcResourceGroupName,
[string] $DataControllerName,
[string] $CustomLocationName,
[string] $Namespace,
[string] $DataControllerConfigProfile,
[string] $KeyVaultName,
[string] $VaultSecretUser,
[string] $VaultSecretPass,
[switch] $Debug
)
try {
# Set the subscription
az account set --subscription $SubscriptionId
# Create the ARC-enabled EZ AKS cluster
createArcEnabledAksOnEz -SubscriptionId $SubscriptionId -AKSClusterResourceGroupName $AKSClusterResourceGroupName -location $location -AKSName $AKSName -edgeZone $edgeZone -nodeCount $nodeCount -vmSize $vmSize -ArcResourceGroupName $ArcResourceGroupName -Debug:$Debug
# Define name of the connected cluster resource
$CLUSTER_NAME = "$ArcResourceGroupName-cluster"
# Create a key vault and store login
$AZDATA_USERNAME = az keyvault secret show --vault-name $KeyVaultName --name $VaultSecretUser --query value -o tsv
$AZDATA_PASSWORD = az keyvault secret show --vault-name $KeyVaultName --name $VaultSecretPass --query value -o tsv
# Define login for data controller and metrics
$ENV:AZDATA_LOGSUI_USERNAME = $AZDATA_USERNAME
$ENV:AZDATA_LOGSUI_PASSWORD = $AZDATA_PASSWORD
$ENV:AZDATA_METRICSUI_USERNAME = $AZDATA_USERNAME
$ENV:AZDATA_METRICSUI_PASSWORD = $AZDATA_PASSWORD
# Define the connected cluster and extension for the custom location
$CONNECTED_CLUSTER_ID=$(az connectedk8s show --resource-group $ArcResourceGroupName --name $CLUSTER_NAME --query id --output tsv)
$EXTENSION_ID=$(az k8s-extension show `
--cluster-type connectedClusters `
--name 'my-data-controller-custom-location-ext' `
--cluster-name $CLUSTER_NAME `
--resource-group $ArcResourceGroupName `
--query id `
--output tsv)
# Create a custom location for the data controller
Write-Output "Creating data controller custom location..."
az customlocation create `
--resource-group $ArcResourceGroupName `
--name $CustomLocationName `
--host-resource-id $CONNECTED_CLUSTER_ID `
--namespace $Namespace `
--cluster-extension-ids $EXTENSION_ID
# Create data controller on Arc-enabled AKS cluster
Write-Output "Creating Arc Data Controller..."
az arcdata dc create --name $DataControllerName --subscription $SubscriptionId --cluster-name $CLUSTER_NAME --resource-group $ArcResourceGroupName --connectivity-mode direct --custom-location $CustomLocationName --profile-name $DataControllerConfigProfile
# Create a managed instance in the custom location
Write-Output "Creating managed instance..."
az sql mi-arc create --name $ManagedInstanceName --resource-group $ArcResourceGroupName --custom-location $CustomLocationName
}
catch {
# Catch any error
Write-Error "An error occurred"
Write-Error $Error[0]
}
}
CreateManagedSqlOnArcEnabledAksEz -ManagedInstanceName "my-managed-instance" `
-dbname "myDB" `
-SubscriptionId "<your subscription>" `
-AKSClusterResourceGroupName "my-aks-cluster-group" `
-location "westus" `
-AKSName "my-aks-cluster" `
-edgeZone "losangeles" `
-nodeCount 2 `
-vmSize "standard_nv12ad-DataControllerConfigProfiles_a10_v5" `
-ArcResourceGroupName "myArcResourceGroup" `
-DataControllerName "myDataController" `
-CustomLocationName "dc-custom-location" `
-Namespace "my-data-controller-custom-location" `
-DataControllerConfigProfile "azure-arc-aks-premium-storage" `
-KeyVaultName "ezDataControllerConfig" `
-VaultSecretUser "AZDATA-USERNAME" `
-VaultSecretPass "AZDATA-PASSWORD"
عرض المثيل على Azure Arc
لعرض المثيل، استخدم الأمر التالي:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
يمكنك نسخ عنوان IP الخارجي ورقم المنفذ من هنا والاتصال بمثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc. في هذا الوقت، استخدم إصدار Insider من Azure Data Studio.
تنظيف الموارد
عند عدم الحاجة، احذف مجموعة موارد my-aks-cluster-group وجميع الموارد التي تحتوي عليها باستخدام الأمر az group delete .
az group delete --name my-aks-cluster-group