Criar e gerir localizações personalizadas no Kubernetes preparado para Azure Arc
O recurso de locais personalizados fornece uma maneira de configurar seus clusters 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 em locais personalizados incluem bancos de dados, como a Instância Gerenciada SQL habilitada pelo Azure Arc e o servidor PostgreSQL habilitado para Azure Arc, ou instâncias de aplicativos, como Serviços de Aplicativo, Funções, Grade de Eventos, Aplicativos Lógicos e Gerenciamento de API.
Um local personalizado tem um mapeamento um-para-um para um namespace dentro do cluster Kubernetes habilitado para Azure Arc. O recurso do Azure de local personalizado combinado com o controle de acesso baseado em função do Azure (Azure RBAC) 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 Kubernetes habilitados para Arc em um ambiente multilocatário.
Neste artigo, você aprenderá como habilitar locais personalizados em um cluster Kubernetes habilitado para Arc e como criar um local personalizado.
Pré-requisitos
Instale ou atualize a CLI do Azure para a versão mais recente.
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 você já tiver instalado o
connectedk8s
,k8s-extension
ecustomlocation
extensões, 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
.Introduza os seguintes comandos:
az provider register --namespace Microsoft.ExtendedLocation
Monitorize o processo de registo. O registo pode demorar até 10 minutos.
az provider show -n Microsoft.ExtendedLocation -o table
Uma vez cadastrado, o
RegistrationState
estado terá oRegistered
valor.
Verifique se você tem um cluster conectado ao Kubernetes habilitado para Azure Arc existente e atualize seus agentes para a versão mais recente. Confirme se a máquina na qual você executará os comandos descritos neste artigo tem um
kubeconfig
arquivo que aponta para esse cluster.
Ativar localizações personalizadas no cluster
Gorjeta
A funcionalidade de localizações personalizadas depende da funcionalidade Ligação do Cluster. Ambas as funcionalidades têm de estar ativadas no cluster para que as localizações personalizadas 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
Se você executar o comando acima enquanto estiver conectado à CLI do Azure usando uma entidade de serviço, poderá observar o seguinte aviso:
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 a oid
(ID do objeto) do local personalizado usado pelo serviço Azure Arc. Para evitar este erro, siga estes passos:
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, onde--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
--id
parâmetro por um valor diferente.az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
Inicie sessão na CLI do Azure com o principal de serviço. Execute o seguinte comando para habilitar o recurso de locais personalizados no cluster, usando o
oid
valor (ID do objeto) da etapa anterior para o--custom-locations-oid
parâmetro:az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <cl-oid> --features cluster-connect custom-locations
Criar local personalizado
Implemente a extensão do cluster do serviço do Azure da instância de serviço do Azure que quer instalar no cluster:
Serviços de dados habilitados para Azure Arc
Nota
O proxy de saída sem autenticação e o proxy de saída com autenticação básica são suportados pela extensão de cluster de serviços de dados habilitada para Azure Arc. O proxy de saída que espera certificados fidedignos não é suportado no momento.
Obtenha o identificador do Azure Resource Manager do cluster do Kubernetes compatível com o Azure Arc, referido em passos 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 que você implantou no cluster 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 fazendo referência ao cluster Kubernetes habilitado para Azure Arc e à extensão:
az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId>
Parâmetros necessários:
Nome do parâmetro Description --name, --n
Nome do local personalizado. --resource-group, --g
Grupo de recursos do local personalizado. --namespace
Namespace no cluster vinculado ao local personalizado que está sendo criado. --host-resource-id
Identificador do Azure Resource Manager do cluster 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ço de IDs de extensão de cluster Parâmetros opcionais:
Nome do parâmetro Description --location, --l
Localização do recurso do Azure Resource Manager da localização personalizada no Azure. Se não for especificado, o local do cluster conectado será usado. --tags
Lista separada por espaços de tags no formato key[=value]
. Use '' para limpar tags existentes.--kubeconfig
Administração kubeconfig
de 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 para adicionar novos valores ou --tags
associá-los --cluster-extension-ids
ao local personalizado, mantendo os update
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>
Corrigir um local personalizado
Use o comando para substituir os patch
valores existentes para --cluster-extension-ids
ou --tags
. Os valores anteriores não são mantidos.
az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds>
Excluir um local personalizado
Para excluir um local personalizado, use o seguinte comando:
az customlocation delete -n <customLocationName> -g <resourceGroupName>
Resolução de Problemas
Se a criação de local personalizado falhar com o erro Unknown proxy error occurred
, modifique sua política de rede para permitir a comunicação interna pod-to-pod dentro do azure-arc
namespace. Certifique-se também de adicionar o azure-arc
namespace como parte da lista de exclusão sem proxy para sua política configurada.
Próximos passos
- 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 completas sobre como instalar extensões, criar locais personalizados e criar o ambiente Kubernetes do Serviço de Aplicativo.
- Crie um tópico de Grade de Eventos e uma assinatura de evento para a Grade de Eventos no Kubernetes.
- Saiba mais sobre as extensões Kubernetes habilitadas para Azure Arc atualmente disponíveis.