Locais personalizados

Como uma extensão da construção de local do Azure, um local personalizado fornece uma referência como um destino de implantação que os administradores podem configurar ao criar um recurso do Azure. O recurso de local personalizado abstrai os detalhes da infraestrutura de back-end de desenvolvedores de aplicativos, usuários administradores de banco de dados ou outros usuários na organização. Esses usuários podem fazer referência ao local personalizado sem precisar estar cientes desses detalhes.

Os locais personalizados podem ser usados para habilitar clusters Kubernetes habilitados para o Azure Arc como locais de destino para implantar instâncias de serviços do Azure. As ofertas do Azure que podem ser implantadas sobre locais personalizados incluem bancos de dados, como a Instância Gerenciada SQL habilitada pelo Azure Arc e o servidor PostgreSQL habilitado para Azure Arc.

Nos clusters de Kubernetes habilitados para Arc, a localização personalizada representa uma abstração de um namespace dentro do cluster de Kubernetes habilitado para Azure Arc. As localizações personalizadas criam as RoleBindings e as ClusterRoleBindings granulares necessárias para que outros serviços do Azure acessem o cluster.

Permissões de localização personalizadas

Como a localização personalizada é um recurso do Azure Resource Manager que dá suporte ao RBAC do Azure (controle de acesso baseado em função do Azure), um administrador ou um operador pode determinar quais usuários têm acesso para criar instâncias de recurso em:

  • Um namespace dentro de um cluster Kubernetes para direcionar a implantação da Instância Gerenciada SQL habilitada pelo servidor PostgreSQL habilitado para Azure Arc ou Azure Arc.
  • Os recursos de computação, armazenamento, rede e outros vCenter ou Azure Stack HCI para implantar e gerenciar VMs.

Por exemplo, um operador de cluster poderá criar uma localização personalizada Contoso-Michigan-Healthcare-App que representa um namespace em um cluster de Kubernetes no data center de Michigan da sua organização. O operador pode atribuir permissões RBAC do Azure a desenvolvedores de aplicativos nesse local personalizado para que eles possam implantar aplicativos Web relacionados à área de saúde. Os desenvolvedores podem implantar esses aplicativos no Contoso-Michigan-Healthcare-App sem precisar saber detalhes do namespace e do cluster do Kubernetes.

Arquitetura para Kubernetes habilitado para Arc

Quando um administrador habilita o recurso de localizações personalizadas em um cluster, uma ClusterRoleBinding é criada, autorizando o aplicativo Microsoft Entra usado pelo RP (provedor de recursos) das localizações personalizadas. Depois de autorizado, o RP de Locais Personalizados pode criar ClusterRoleBindings ou RoleBindings necessários para outros RPs do Azure para criar recursos personalizados nesse cluster. As extensões de cluster instaladas no cluster determinam a lista de RPs a serem autorizadas.

Diagram showing custom locations architecture on Arc-enabled Kubernetes.

Quando o usuário cria uma instância de serviço de dados no cluster:

  1. A solicitação PUT é enviada ao Azure Resource Manager.
  2. A solicitação PUT é encaminhada para o RP dos Serviços de Dados habilitado para Azure Arc.
  3. O RP busca o arquivo kubeconfig associado ao cluster de Kubernetes habilitado para Azure Arc, no qual a localização personalizada existe.
    • A localização personalizada é referenciada como extendedLocation na solicitação PUT original.
  4. O RP dos Serviços de Dados habilitados para Azure Arc usa a kubeconfig para se comunicar com o cluster a fim de criar um recurso personalizado do tipo Serviços de Dados habilitados para Azure Arc no namespace mapeado para a localização personalizada.
    • O operador dos Serviços de Dados habilitado para Azure Arc foi implantado por meio da criação de extensão de cluster antes da existência da localização personalizada.
  5. O operador de Serviços de Dados habilitado para Azure Arc lê o novo recurso personalizado criado no cluster e cria o controlador de dados, resultando na realização do estado desejado no cluster.

A sequência de etapas para criar a instância gerenciada SQL ou a instância PostgreSQL são idênticas à sequência de etapas descritas acima.

Próximas etapas