Criar e gerenciar locais personalizados em Kubernetes habilitados para Azure Arc
O recurso locais personalizados fornece uma maneira de configurar clusters do Kubernetes habilitados para Azure Arc como locais de destino para implantar instâncias de ofertas do Azure. Exemplos de ofertas do Azure que podem ser implantadas sobre locais personalizados incluem bancos de dados como a Instância Gerenciada de SQL habilitada para Azure Arc e servidor PostgreSQL habilitado para Azure Arc, ou instâncias de aplicativo como Serviços de Aplicativos, Functions, Grade de Eventos, Aplicativos Lógicos e Gerenciamento de API.
Um local personalizado tem um mapeamento um para um para um namespace no cluster do Kubernetes habilitado para Azure Arc. O recurso de local personalizado do Azure combinado com o RBAC do Azure (controle de acesso baseado em função do Azure) pode ser usado para conceder permissões granulares a desenvolvedores de aplicativos ou administradores de banco de dados, permitindo que eles implantem recursos, como bancos de dados ou instâncias de aplicativos, sobre clusters do Kubernetes habilitados para Arc em um ambiente multilocatário.
Neste artigo, você aprenderá a habilitar locais personalizados em um cluster do Kubernetes habilitado para Arc e como criar um local personalizado.
Pré-requisitos
Instale ou atualize a CLI do Azure para a última versão.
Instale as versões mais recentes das seguintes extensões da CLI do Azure:
connectedk8s
k8s-extension
customlocation
az extension add --name connectedk8s az extension add --name k8s-extension az extension add --name customlocation
Se as extensões
connectedk8s
,k8s-extension
ecustomlocation
já estiverem instaladas, atualize para a versão mais recente usando o seguinte comando:az extension update --name connectedk8s az extension update --name k8s-extension az extension update --name customlocation
Verifique se o registro do provedor foi concluído para
Microsoft.ExtendedLocation
.Digite os seguintes comandos:
az provider register --namespace Microsoft.ExtendedLocation
Monitore o processo de registro. O registro pode levar até 10 minutos.
az provider show -n Microsoft.ExtendedLocation -o table
Após ser registrado, o estado
RegistrationState
terá o valorRegistered
.
Verifique se você tem um cluster conectado do Kubernetes habilitado para Azure Arc e atualize seus agentes para a versão mais recente. Confirme se o computador no qual você executará os comandos descritos neste artigo tem um arquivo
kubeconfig
que aponta para esse cluster.
Habilitar locais personalizados no cluster
Dica
O recurso locais personalizados depende do recurso cluster connect. Ambos os recursos devem ser habilitados no cluster para que os locais personalizados funcionem. Para habilitar o recurso de locais personalizados, siga as etapas abaixo:
Se você estiver conectado à CLI do Azure como um usuário do Microsoft Entra, use o seguinte comando:
az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations
Caso você execute o comando acima enquanto estiver conectado à CLI do Azure usando uma entidade de serviço, é possível que o seguinte aviso seja exibido:
Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.
Esse aviso ocorre porque a entidade de serviço não tem as permissões necessárias para recuperar o oid
(ID do objeto) do local personalizado usado pelo serviço do Azure Arc. Para evitar esse erro, siga estas etapas:
Entre na CLI do Azure com sua conta de usuário.
Execute o seguinte comando para buscar o
oid
(ID do objeto) do local personalizado, em que--id
é predefinido e definido comobc313c14-388c-4e7d-a58e-70017303ee3b
:Importante: Copie e execute o comando exatamente como é mostrado abaixo. Não substitua o valor passado para o parâmetro
--id
por um valor diferente.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Entre na CLI do Azure usando a entidade de serviço. Execute o seguinte comando para habilitar o recurso de locais personalizados no cluster, usando o valor
oid
(ID do objeto) da etapa anterior para o parâmetro--custom-locations-oid
:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
Crie um local personalizado
Implante a extensão de cluster de serviço do Azure da instância de serviço do Azure que você deseja instalar em seu cluster:
Serviços de dados habilitados para Azure Arc
Observação
O proxy de saída sem autenticação e o proxy de saída com autenticação básica têm suporte da extensão de cluster de serviços de dados habilitados para Azure Arc. Não há suporte para o proxy de saída que espera certificados confiáveis no momento.
Obtenha o identificador do Azure Resource Manager do cluster de Kubernetes habilitado para Azure Arc, referenciado em etapas posteriores como
connectedClusterId
:az connectedk8s show -n <clusterName> -g <resourceGroupName> --query id -o tsv
Obtenha o identificador do Azure Resource Manager da extensão de cluster implantada no cluster do Kubernetes habilitado para Azure Arc, referenciado em etapas posteriores como
extensionId
:az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName> --query id -o tsv
Crie o local personalizado referenciando o cluster de Kubernetes habilitado para Azure Arc e a extensão:
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
Parâmetros requeridos:
Nome do parâmetro Descrição --name, --n
Nome do local personalizado. --resource-group, --g
Grupo de recursos do local personalizado. --namespace
Namespace no cluster associado ao local personalizado que está sendo criado. --host-resource-id
Identificador do Azure Resource Manager do cluster do Kubernetes habilitado para Azure Arc (cluster conectado). --cluster-extension-ids
Identificador do Azure Resource Manager de uma instância de extensão de cluster instalada no cluster conectado. Para várias extensões, forneça uma lista separada por espaços das IDs de extensão de cluster Parâmetros opcionais:
Nome do parâmetro Descrição --location, --l
Local personalizado do recurso Azure Resource Manager no Azure. Se não for especificado, o local do cluster conectado será usado. --tags
Lista separada por espaços de marcas no formato key[=value]
. Use '' para limpar marcações existentes.--kubeconfig
Administrador kubeconfig
do cluster.
Mostrar detalhes de um local personalizado
Para mostrar os detalhes de um local personalizado, use o seguinte comando:
az customlocation show -n <customLocationName> -g <resourceGroupName>
Listar locais personalizados
Para listar todos os locais personalizados em um grupo de recursos, use o seguinte comando:
az customlocation list -g <resourceGroupName>
Atualizar um local personalizado
Use o comando update
para adicionar novos valores para --tags
ou associe novos --cluster-extension-ids
ao local personalizado, enquanto mantém os valores existentes para marcas e extensões de cluster associadas.
az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Aplicar patch de uma localização personalizada
Use o comando patch
para substituir valores existentes para --cluster-extension-ids
ou --tags
. Valores anteriores não são retidos.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Excluir uma localização personalizada
Para excluir um local personalizado, use o seguinte comando:
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Solução de problemas
Se a criação de local personalizado falhar com o erro Unknown proxy error occurred
, modifique a política de rede para permitir a comunicação interna de pod para pod no namespace azure-arc
. Adicione também o namespace azure-arc
como parte da lista de exclusões sem proxy para a política configurada.
Próximas etapas
- Conecte-se com segurança ao cluster usando o Cluster Connect.
- Continue com o Serviço de Aplicativo do Azure no Azure Arc para obter instruções de ponta a ponta sobre como instalar extensões, criar locais personalizados e criar o ambiente Kubernetes do Serviço de Aplicativo.
- Crie um tópico da Grade de Eventos e uma assinatura de evento para a Grade de Eventos no Kubernetes.
- Saiba mais sobre as extensões do Kubernetes habilitadas para Azure Arc disponíveis no momento.