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 um servidor PostgreSQL habilitado para Arc em uma Zona Estendida. Consulte o que são zonas estendidas do Azure? | Serviços para cargas de trabalho de PaaS com suporte no momento.
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.
- Azure Data Studio
- Extensão do Azure Arc para o Azure Data Studio
- extensão arcdata para a CLI do Azure
- kubectl
- 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. Estes sã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 um servidor PostgreSQL habilitado para Azure Arc em Zonas Estendidas
Agora que o cluster AKS habilitado para Arc foi criado, podemos continuar usando o script do PowerShell a seguir para criar nosso servidor PostgreSQL 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 CreatePostgreSqlOnArcEnabledAksEz {
param(
[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,
[string] $PostgreSqlName,
[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
$ENV:AZDATA_USERNAME = $AZDATA_USERNAME
$ENV:AZDATA_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 PostgreSQL server on Arc-enabled AKS cluster
Write-Output "Creating PostgreSQL server..."
az postgres server-arc create --name $PostgreSqlName --k8s-namespace $Namespace --use-k8s
}
catch {
# Catch any error
Write-Error "An error occurred"
Write-Error $Error[0]
}
}
CreatePostgreSqlOnArcEnabledAksEz -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" `
-PostgreSqlName "my-postgresql"
Limpar os recursos
Quando não for mais necessário, 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
Conteúdo relacionado
- Criar um cluster do AKS habilitado para ARC em uma Zona Estendida
- Implantar cargas de trabalho com suporte do Arc em uma zona estendida: ContainerApps
- Implantar cargas de trabalho habilitadas para ARC em uma Zona Estendida: ManagedSQL
- Implantar um cluster do AKS em uma Zona Estendida
- Implantar uma conta de armazenamento em uma Zona Estendida
- Perguntas frequentes