Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez apprendre à déployer une instance SQL managée avec Arc dans une zone étendue. Reportez-vous à Qu’est-ce que les zones étendues Azure ? | Services pour les charges de travail PaaS actuellement prises en charge.
Conditions préalables
- Un compte Azure avec un abonnement actif.
- Accès à une zone étendue. Pour plus d’informations, consultez Demander l’accès à une zone étendue Azure.
- Installez Azure CLI.
- Accédez à un registre de conteneurs public ou privé, comme Azure Container Registry.
- Azure Data Studio
- Extension Azure Arc pour Azure Data Studio
- extension arcdata pour Azure CLI
- kubectl
- Un contrôleur de données Azure Arc, en plus des outils requis.
- Autres outils clients en fonction de votre environnement. Pour obtenir une liste plus complète, consultez Outils clients.
- Un cluster Kubernetes avec Azure Arc configuré dans des zones étendues.
Remarque
Utilisez l’emplacement étendu prévu comme variable d’emplacement.
Mise en route
Si vous connaissez déjà le sujet, vous pouvez ignorer ce paragraphe. Voici des rubriques importantes que vous pouvez lire avant de poursuivre la création :
- Exigences et limitations de la préversion publique. Les exigences en matière de cluster sont particulièrement importantes.
- Vue d’ensemble des services de données avec Azure Arc
- Modes et exigences de connectivité
- Configuration de stockage et concepts de stockage Kubernetes
- Modèle de ressource Kubernetes
Créer une instance ManagedSQL avec Azure Arc dans des zones étendues
Maintenant que le cluster AKS avec Arc est créé, nous pouvons continuer à utiliser le script PowerShell suivant pour créer notre instance ManagedSQL sur un cluster AKS dans une zone étendue et la connecter à Kubernetes avec Azure Arc.
Remarque
Veillez à transférer les paramètres des étapes AKS avec Arc correctement dans le script.
. "./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"
Afficher l’instance sur Azure Arc
Pour afficher l’instance, utilisez la commande suivante :
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
Vous pouvez copier l’adresse IP externe et le numéro de port à partir d’ici et vous connecter à SQL Managed Instance activé par Azure Arc. À ce stade, utilisez la build Insiders d’Azure Data Studio.
Nettoyer les ressources
Quand vous n’en avez plus besoin, supprimez le groupe de ressources my-aks-cluster-group et toutes les ressources qu’il contient à l’aide de la commande az group delete .
az group delete --name my-aks-cluster-group
Contenu connexe
- Créer un cluster AKS avec Arc dans une zone étendue
- Déployer des charges de travail avec Arc dans une zone étendue : ContainerApps
- Déployer des charges de travail avec Arc dans une zone étendue : PostgreSQL
- Déployer un cluster AKS dans une zone étendue
- Déployer un compte de stockage dans une zone étendue
- Questions fréquentes