Compartilhar via


Criar e configurar namespaces da frota gerenciada (versão prévia)

Aplica-se a: ✔️ Gerenciador de Frota com cluster do hub

Este artigo mostra como usar o Fleet Manager para criar e configurar um Namespace da Frota Gerenciada que define cotas de recursos, políticas de rede e acesso de usuário delegado para os namespaces em vários clusters.

Se você estiver procurando exibir ou acessar namespaces de frota gerenciada existentes aos quais você tem acesso, consulte exibir e acessar namespaces da frota gerenciada.

Importante

Os recursos de versão prévia do Gerenciador de Frotas do Kubernetes do Azure estão disponíveis por autoatendimento e opt-in. As versões prévias são fornecidas “no estado em que se encontram” e “conforme disponíveis” e são excluídas dos contratos de nível de serviço e da garantia limitada. A versão prévia do Gerenciador de Frota de Kubernetes do Azure é parcialmente coberta pelo suporte ao cliente em regime de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção.

Limitações conhecidas

  • Quando um Namespace de Frota Gerenciado adota um único cluster Namespace do Kubernetes Gerenciado ou vice-versa, pode haver conflito de propriedade. Para evitar, use uma política de exclusão de keep para os Namespaces Gerenciados de Frota e do Kubernetes.
  • Os clusters devem ser membros gerenciados pelo Fleet Manager que hospeda o Namespace da Frota Gerenciada.
  • Os clusters devem ter uma versão do Kubernetes de pelo menos 1.30.0. Os clusters abaixo dessa versão não impedirão que os usuários no cluster modifiquem os recursos do Kubernetes colocados.
  • As funções do RBAC atribuídas a um escopo de Namespace de Frota Gerenciada concedem acesso equivalente a quaisquer namespaces de Kubernetes não gerenciados com o mesmo nome em clusters membros.

Antes de começar

  • Você precisa da CLI do Azure versão 2.78.0 ou posterior instalada para concluir este artigo. Para instalar ou atualizar, confira Instalar a CLI do Azure.

  • Você precisa da extensão da CLI do fleet Azure versão 1.8.0 ou posterior. Você pode instalá-lo e atualizá-lo para a versão mais recente usando os comandos az extension add e az extension update.

    # Install the extension
    az extension add --name fleet
    
    # Update the extension
    az extension update --name fleet
    
  • Confirme se a versão da extensão da frota é pelo menos 1.8.0 usando o az extension show comando.

    az extension show --name fleet
    
  • Defina as seguintes variáveis de ambiente para sua ID de assinatura, grupo de recursos, Frota e Membro da Frota:

    export SUBSCRIPTION_ID=<subscription-id>
    export GROUP=<resource-group-name>
    export FLEET=<fleet-name>
    export FLEET_ID=<fleet-id>
    
  • Defina a assinatura padrão do Azure usando o az account set comando.

    az account set --subscription ${SUBSCRIPTION_ID}
    

Criar um novo namespace de Frota Gerenciada

Crie um novo Namespace da Frota Gerenciada usando o az fleet namespace create comando.

    az fleet namespace create \
        --resource-group $GROUP \
        --fleet-name $FLEET \
        --name my-managed-namespace \ 
        --annotations annotation1=value1 annotation2=value2 \
        --labels team=myTeam label2=value2 \
        --cpu-requests 1m \
        --cpu-limits 4m \
        --memory-requests 1Mi \
        --memory-limits 4Mi \
        --ingress-policy allowAll \
        --egress-policy allowAll \
        --delete-policy keep \
        --adoption-policy never

Observação

Essas configurações são opcionais: políticas de rede, cota de computação, política de exclusão e adoção, rótulos e anotações.

Ao usar políticas de rede, os usuários com uma ação Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write, como Azure Kubernetes Service RBAC Writer, na função atribuída do Microsoft Entra ID, podem adicionar mais políticas de rede por meio da API do Kubernetes.

Por exemplo, se um administrador aplicar uma Deny All política para entrada/saída e um usuário aplicar uma Allow política para um namespace por meio da API do Kubernetes, a Allow política tem prioridade sobre a Deny All política, e o tráfego é permitido para o namespace. Esse comportamento aditivo é padrão para políticas de rede.

Atribuir acesso de usuário ou grupo

Agora você pode conceder acesso a um usuário para o Namespace de Frota Gerenciada em clusters membros usando uma das funções internas do Azure RBAC.

Crie uma atribuição de função usando o az role assignment create comando.

O exemplo a seguir atribui a um usuário a função RBAC Writer for Member Clusters do Azure Kubernetes Fleet Manager em qualquer cluster que receba o my-managed-namespace Managed Fleet Namespace:

az role assignment create \
    --role "Azure Kubernetes Fleet Manager RBAC Writer for Member Clusters" \
    --assignee <USER-ENTRA-ID> \
    --scope "$FLEET_ID/managedNamespaces/my-managed-namespace"

Adicionar clusters de membros

Você pode controlar em quais clusters de membros implantar o namespace gerenciado especificando a lista desejada de nomes de cluster de membros.

Especifique a lista completa de clusters de membros nos quais você deseja implantar o namespace gerenciado usando o comando az fleet namespace create com o parâmetro --member-cluster-names. O namespace gerenciado é propagado para todos os clusters na lista.

Neste exemplo, o namespace gerenciado é implantado em contoso-prd-01-fm e contoso-prd-02-fm.

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names contoso-prd-01-fm contoso-prd-02-fm

Remover clusters de membros

Você pode remover clusters membros de um Namespace de Frota Gerenciado excluindo-os da lista de clusters membros nos quais deseja o namespace.

Especifique a lista de clusters de membros em que você deseja que o namespace gerenciado permaneça usando o az fleet namespace create comando com o --member-cluster-names parâmetro. O namespace gerenciado é removido de todos os clusters excluídos da lista.

Neste exemplo, o namespace gerenciado é removido de contoso-prd-02-fm.

az fleet namespace create \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace \
    --member-cluster-names contoso-prd-01-fm

Exibir a configuração de um namespace de frota gerenciada

Exiba os detalhes de um Namespace de Frota Gerenciada específico usando o az fleet namespace show comando.

az fleet namespace show \ 
    --resource-group $GROUP \ 
    --fleet-name $FLEET \ 
    --name my-managed-namespace \ 
    -o table 

Sua saída deve ser parecida com o seguinte exemplo de saída:

AdoptionPolicy  DeletePolicy   ETag                                    Location   Name                  ProvisioningState   ResourceGroup
--------------  ------------   -------------------------------------   --------   --------------------  -----------------   -------------
Always          Delete         "aaaaaaaa-0b0b-1c1c-2d2d-333333333333   westus2    my-managed-namespace  Succeeded           test-rg

Excluir um Namespace de Frota Gerenciado

Exclua um Namespace da Frota Gerenciada usando o az fleet namespace delete comando.

az fleet namespace delete \
    --resource-group $GROUP \
    --fleet-name $FLEET \
    --name my-managed-namespace 

Aviso

A exclusão de um Namespace Gerenciado de Frota com uma DeletePolicy configurada para delete é uma ação permanente. Se não tiver certeza, você deve atualizar a política para keep para manter o namespace.

As atribuições de RBAC do Azure são sempre excluídas para evitar permissões pendentes.

Criar um novo namespace da frota gerenciada

Você pode criar um novo Namespace da Frota Gerenciada no Fleet Manager ou por meio do Centro do Kubernetes.

Começando no Fleet Manager:

  • No portal do Azure, navegue até o recurso do Gerenciador de Frota de Kubernetes do Azure.
  • No menu à esquerda, em Recursos da Frota, selecione Namespaces.
  • No menu, selecione + Criar e, em seguida, Namespace da Frota Gerenciada.

Captura de tela do menu do portal do Azure para criar um Namespace Gerenciado de Frota no Azure Kubernetes Fleet Manager.

Começando no Centro do Kubernetes:

Captura de tela do menu do Centro do Kubernetes no portal do Azure para criar um Namespace de Frota Gerenciada.

  • Selecione uma das seguintes opções para Escopo:
    • Novo – crie um novo namespace do Kubernetes que não existe no cluster do Hub do Fleet Manager. Insira um nome para o novo namespace.
    • Converter para Gerenciado – use um namespace existente do Kubernetes no cluster de hub do Fleet Manager. Selecione o Namespace na lista de namespaces no cluster do hub do Fleet Manager.

Captura de tela do portal do Azure mostrando a guia

Atribuir acesso de usuário ou grupo

Selecione os usuários e grupos do Microsoft Entra que acessam o Namespace da Frota Gerenciada em clusters aos quais ele é distribuído.

Captura de tela do portal do Azure mostrando detalhes completos de acesso para um novo Namespace da Frota Gerenciada.

Observação

Esta etapa é opcional. Você pode criar e distribuir um Namespace da Frota Gerenciada sem atribuir usuários ou grupos. Isso permite que você distribua o namespace sem conceder acesso imediatamente.

Adicionar políticas de rede e cota de computação

Controle o fluxo de tráfego de rede para dentro e fora do namespace em cada cluster para o qual ele é distribuído, juntamente com a definição das cotas de recursos de CPU e memória para o namespace.

Captura de tela do portal do Azure mostrando políticas de rede concluídas e cota de computação para um novo Namespace da Frota Gerenciada.

Observação

Essas configurações são opcionais. Você pode criar e distribuir um Namespace da Frota Gerenciada sem políticas de rede ou controles de cota aplicados.

Os usuários com uma ação Microsoft.ContainerService/managedClusters/networking.k8s.io/networkpolicies/write, como Azure Kubernetes Service RBAC Writer, na função do Microsoft Entra ID atribuída podem adicionar mais políticas de rede por meio da API do Kubernetes.

Por exemplo, se um administrador aplicar uma Deny All política para entrada/saída e um usuário aplicar uma Allow política para um namespace por meio da API do Kubernetes, a Allow política tem prioridade sobre a Deny All política, e o tráfego é permitido para o namespace. Esse comportamento aditivo é padrão para políticas de rede.

Selecionar clusters de membros

Defina a quais clusters de membros distribuir o namespace gerenciado adicionando-os da seguinte maneira.

  • No menu, selecione + Adicionar.
  • Na caixa de diálogo Selecionar clusters membro, pesquise os clusters membros e selecione-os marcando a caixa correspondente.
  • Por fim, escolha Selecionar para adicionar os clusters de membros.

Captura de tela do portal do Azure mostrando dois clusters membros selecionados para hospedar um novo Namespace da Frota Gerenciada.

Observação

Esta etapa é opcional. Se você não fornecer nenhum cluster membro, o Namespace de Frota Gerenciada será implantado somente no cluster central do Gerenciador de Frota. Você pode adicionar clusters de membros posteriormente.

Definir rótulos, anotações e marcas

Defina rótulos e anotações opcionais do Kubernetes, bem como tags do Azure Resource Manager (ARM), que fornecem metadados utilizáveis para automação e gerenciamento de recursos.

Captura de tela do portal do Azure mostrando as configurações de rótulos e anotações para um novo Namespace da Frota Gerenciada.

Observação

Esta etapa é opcional. Você pode gerenciar rótulos, anotações e marcas posteriormente.

Criar o namespace da frota gerenciada

Depois de configurar todas as propriedades para o novo Namespace da Frota Gerenciada, você poderá confirmar os detalhes antes de criar o namespace selecionando Criar.

Uma implantação do Azure Resource Manager é iniciada imediatamente, o que inicia um posicionamento de carga de trabalho do Fleet Manager para distribuir o namespace para os clusters selecionados.

Depois que a implantação for concluída, você poderá encontrar o Namespace da Frota Gerenciada na lista de namespaces do Fleet Manager.

Captura de tela do portal do Azure com o novo Namespace da Frota Gerenciada listado com outros namespaces no cluster do hub.

Para revisar a implementação do namespace do Kubernetes em todos os clusters, use Posicionamentos de recursos, procurando o posicionamento do recurso denominado o mesmo que o Namespace da Frota Gerenciada.

Captura de tela do portal do Azure mostrando o status de posicionamento do recurso do novo Namespace da Frota Gerenciada.

Configurar o namespace da frota gerenciada existente

Você pode localizar o Namespace da Frota Gerenciada no Gerenciador de Frotas ou por meio do centro do Kubernetes.

Começando no Fleet Manager:

  • No portal do Azure, navegue até o recurso do Gerenciador de Frota de Kubernetes do Azure.
  • No menu à esquerda, em Recursos da Frota, selecione Namespaces.

Começando no Centro do Kubernetes:

Modificar a configuração

Modifique políticas de rede, cotas de recursos, rótulos, anotações e marcas selecionando editar ao lado do item apropriado na tela de visão geral do Namespace da Frota Gerenciada.

Selecionar editar ao lado de rótulos, anotações ou marcas abre uma caixa de diálogo em que você pode modificar qualquer um desses três itens.

Selecionar a edição ao lado de qualquer uma das opções de cota de recurso ou política de rede abre uma caixa de diálogo na qual você pode modificar qualquer um desses itens.

Captura de tela do portal do Azure mostrando a tela de visão geral de um Namespace da Frota Gerenciada com opções de edição realçadas em caixas vermelhas.

Modificar o acesso de usuário ou grupo

Um Namespace Gerenciado da Frota é um recurso do ARM (Gerenciador de Recursos do Azure); portanto, o gerenciamento do acesso de usuários e grupos pode ser feito ao selecionar controle de acesso (IAM) na tela de visão geral, na navegação à esquerda do Namespace Gerenciado da Frota.

Modificar clusters de membros

Na visão geral do Namespace da Frota Gerenciada, selecione Clusters membro na navegação à esquerda.

Para remover clusters de membros:

  • Selecione os clusters a serem removidos marcando a caixa de seleção à esquerda da linha.
  • Na navegação superior, selecione Remover.
  • Confirme a ação e selecione Remover.

Para adicionar clusters de membros:

  • No menu, selecione + Adicionar.
  • Na caixa de diálogo Adicionar clusters membro, pesquise os clusters membros e selecione-os marcando a caixa correspondente.
  • Por fim, escolha Adicionar para adicionar os clusters de membro.

Captura de tela do portal do Azure mostrando um único cluster de membros selecionado pronto para ser removido do Namespace da Frota Gerenciada.

Depois que os clusters que hospedam o Namespace da Frota Gerenciada são modificados, a visão geral é atualizada para exibir os clusters que hospedam ativamente o namespace.

Excluir um Namespace de Frota Gerenciado

Na visão geral do Namespace da Frota Gerenciada, selecione Excluir na navegação superior.

Na confirmação de Excluir Namespace da Frota Gerenciada, selecione a opção desejada:

  • Mantenha o namespace, remova os recursos de gerenciamento: o Namespace da Frota Gerenciada é convertido em um namespace do Kubernetes padrão, permanecendo no cluster do hub do Fleet Manager e nos clusters de membros, mas não é mais gerenciado pelo ARM (Azure Resource Manager).
  • Exclua o namespace e todos os recursos associados: o recurso ARM do Namespace da Frota Gerenciada é excluído, juntamente com o namespace do Kubernetes no cluster do Hub do Fleet Manager e nos clusters membros.

Aviso

Excluir o namespace e todos os recursos associados é uma ação permanente. Se você não tiver certeza, deverá optar por manter o namespace.

Em ambos os casos, as atribuições de RBAC do Azure são excluídas para evitar permissões pendentes.

Próximas etapas