Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste artigo, você aprenderá a implantar uma Instância de SQL Gerenciada habilitada para Arc em uma Zona Estendida. Para cargas de trabalho de PaaS com suporte no momento, consulte Ofertas de serviço para Zonas Estendidas do Azure.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa.
- Acesso a uma Zona Estendida. Para obter mais informações, veja Solicitar acesso a uma Zona Estendida do Azure.
- Instale a CLI do Azure.
- Acesso a um registro de contêiner público ou privado, como o Registro de Contêiner do Azure.
- Visual Studio Code (substituindo o Azure Data Studio usado anteriormente, que agora está desativado).
- Extensão do Azure Arc para Visual Studio Code (substituindo a extensão do Azure Data Studio Azure Arc usada anteriormente, que agora está desativada).
- extensão arcdata para a CLI do Azure.
- kubectl.
- Um controlador de dados do Azure Arc, além das ferramentas necessárias.
- Outras ferramentas de cliente, dependendo do seu ambiente. Para obter uma lista mais abrangente, consulte as ferramentas do cliente.
- Um cluster do Kubernetes habilitado para Azure ARC configurado em Zonas Estendidas.
Observação
Use o Local Estendido pretendido como sua variável de localização.
Como começar
Se você já estiver familiarizado com o assunto, poderá ignorar este parágrafo. Aqui estão tópicos importantes que talvez você queira ler antes de continuar com a criação:
- Requisitos e limitações da visualização pública. De particular importância são os requisitos de cluster.
- Visão geral dos serviços de dados habilitados para Azure Arc
- Modos e requisitos de conectividade
- Configuração de armazenamento e conceitos de armazenamento do Kubernetes
- Modelo de recurso do Kubernetes
Criar uma Instância ManagedSQL habilitada para Azure Arc em Zonas Estendidas
Depois de criar o cluster AKS habilitado para Arc, use o script do PowerShell a seguir para criar sua Instância ManagedSQL em um cluster do AKS em uma Zona Estendida e conectá-lo ao Kubernetes habilitado para Azure Arc.
Observação
Certifique-se de transferir corretamente os parâmetros das etapas do AKS habilitado para ARC para o 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"
Exibir instância no Azure Arc
Para exibir a instância, use o seguinte comando:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
Você pode copiar o IP externo e o número da porta aqui e se conectar à Instância Gerenciada do SQL habilitada pelo Azure Arc. Neste momento, você pode usar a extensão do Visual Studio Code para o Azure Arc.
Limpar os recursos
Quando você não precisar mais dos recursos, exclua o grupo de recursos my-aks-cluster-group e todos os recursos que ele contém usando o comando az group delete .
az group delete --name my-aks-cluster-group