Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, aprenderá a implementar una instancia de SQL administrada habilitada para Arc en una zona extendida. Consulte ¿Qué es Azure Extended Zones? | Servicios para cargas de trabajo de PaaS admitidas actualmente.
Prerrequisitos
- Una cuenta de Azure con una suscripción activa.
- Acceso a una zona extendida. Para más información, consulte Solicitud de acceso a una zona extendida de Azure.
- Instale la CLI de Azure.
- Acceso a un registro de contenedor público o privado, como Azure Container Registry.
- Azure Data Studio
- Extensión de Azure Arc para Azure Data Studio
- extensión arcdata para la CLI de Azure
- kubectl
- Un controlador de datos de Azure Arc, además de las herramientas necesarias.
- Otras herramientas de cliente en función de su entorno. Para obtener una lista más completa, consulte Herramientas de cliente.
- Un clúster de Kubernetes habilitado para Azure Arc configurado en Zonas extendidas.
Nota:
Use la ubicación extendida prevista como variable de ubicación.
Cómo empezar
Si ya está familiarizado con el asunto, puede omitir este párrafo. Estos son los temas importantes que puede leer antes de continuar con la creación:
- Requisitos y limitaciones de la versión preliminar pública. De especial importancia son los requisitos del clúster.
- Introducción a los servicios de datos habilitados para Azure Arc
- Modos y requisitos de conectividad
- Conceptos de configuración de almacenamiento y almacenamiento de Kubernetes
- Modelo de recursos de Kubernetes
Creación de una instancia de ManagedSQL habilitada para Azure Arc en Zonas extendidas
Ahora que se crea el clúster de AKS habilitado para Arc, podemos continuar con el siguiente script de PowerShell para crear nuestra instancia de ManagedSQL en un clúster de AKS en una zona extendida y conectarlo a Kubernetes habilitado para Azure Arc.
Nota:
Asegúrese de transferir correctamente los parámetros de los pasos de AKS con compatibilidad Arc al 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"
Visualización de la instancia en Azure Arc
Para ver la instancia, use el siguiente comando:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
Puede copiar la dirección IP externa y el número de puerto a partir de aquí y conectarse a la Instancia Administrada de SQL habilitada por Azure Arc. Al momento, use la compilación interna de Azure Data Studio.
Limpieza de recursos
Cuando ya no sea necesario, elimine el grupo de recursos my-aks-cluster-group y todos los recursos que contiene mediante el comando az group delete .
az group delete --name my-aks-cluster-group
Contenido relacionado
- Creación de un clúster de AKS habilitado para Arc en una zona extendida
- Despliegue de cargas de trabajo habilitadas por Arc en una zona extendida: ContainerApps
- Implementación de cargas de trabajo habilitadas para Arc en una zona extendida: PostgreSQL
- Implementación de un clúster de AKS en una zona extendida
- Implementación de una cuenta de almacenamiento en una zona extendida
- Preguntas más frecuentes