Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come distribuire un'istanza SQL gestita abilitata per Arc in una zona estesa. Per i carichi di lavoro PaaS attualmente supportati, vedere Servizi per Azure zone estese.
Prerequisiti
- Un account Azure con una sottoscrizione attiva.
- Accedere a una zona estesa. Per altre informazioni, vedere Richiedere l'accesso a una zona estesa di Azure.
- Installare l'interfaccia della riga di comando di Azure.
- Accesso a un registro contenitori pubblico o privato, ad esempio Registro Azure Container.
- Visual Studio Code (sostituendo in precedenza Azure Data Studio, ora ritirato).
- Estensione Azure Arc per Visual Studio Code (sostituendo in precedenza l'estensione Azure Data Studio Azure Arc usata in precedenza, ora ritirata).
- Estensione Arcdata per la CLI di Azure.
- kubectl.
- Un controller dati di Azure Arc, oltre agli strumenti necessari.
- Altri strumenti client a seconda dell'ambiente. Per un elenco più completo, vedere Strumenti client.
- Un cluster Kubernetes abilitato per Azure Arc configurato nelle zone estese.
Annotazioni
Usare la posizione estesa prevista come variabile di posizione.
Come iniziare
Se si ha già familiarità con l'oggetto, è possibile ignorare questo paragrafo. Ecco alcuni argomenti importanti da leggere prima di procedere con la creazione:
- Requisiti e limitazioni dell'anteprima pubblica. I requisiti del cluster sono particolarmente importanti.
- Panoramica dei servizi dati abilitati per Azure Arc
- Modalità di connettività e requisiti
- Concetti relativi alla configurazione dell'archiviazione e all'archiviazione Kubernetes
- Modello di risorse Kubernetes
Creare un'istanza SQL gestita abilitata per Azure Arc nelle Zone Estese
Dopo aver creato il cluster AKS abilitato per Arc, usare lo script di PowerShell seguente per creare l'istanza di ManagedSQL in un cluster AKS in una zona estesa e connetterla al Kubernetes abilitato ad Azure Arc.
Annotazioni
Assicurarsi di trasferire correttamente i parametri dei passaggi del servizio Azure Kubernetes abilitato per Arc nello 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"
Visualizzare l'istanza in Azure Arc
Per visualizzare l'istanza, usare il comando seguente:
az sql mi-arc list --k8s-namespace <namespace> --use-k8s
È possibile copiare l'indirizzo IP esterno e il numero di porta da qui e connettersi a Istanza gestita di SQL abilitati da Azure Arc. Al momento, è possibile usare l'estensione Visual Studio Code per Azure Arc.
Pulire le risorse
Quando le risorse non sono più necessarie, eliminare il gruppo di risorse my-aks-cluster-group e tutte le risorse contenute usando il comando az group delete .
az group delete --name my-aks-cluster-group
Contenuti correlati
- Creare un cluster del servizio Azure Kubernetes abilitato per Arc in una zona estesa
- Distribuire carichi di lavoro abilitati per Arc in una zona estesa: App contenitore
- Distribuire un cluster del servizio Azure Kubernetes in una zona estesa
- Distribuire un account di archiviazione in una zona estesa
- Domande frequenti