Gestor de Cluster: Como gerir o Gestor de Cluster no Operator Nexus
O Gerenciador de Cluster é implantado na assinatura do Azure do operador para gerenciar o ciclo de vida dos Clusters de Infraestrutura do Operator Nexus.
Antes de começar
Certifique-se de ter as seguintes informações:
- ID de Assinatura do Azure - A ID de assinatura do Azure onde o Gerenciador de Cluster precisa ser criado (deve ser a mesma ID de assinatura do Controlador de Malha de Rede).
- ID do controlador de malha de rede - O controlador de malha de rede e o Gerenciador de cluster têm uma associação 1:1. Você precisa que a ID do recurso do Controlador de Malha de Rede seja associada ao Gerenciador de Cluster.
- ID do Espaço de Trabalho do Log Analytics - O ID do recurso do Espaço de Trabalho do Log Analytics usado para a coleta de logs.
- Região do Azure - O Gerenciador de Cluster deve ser criado na mesma região do Azure que o Controlador de Malha de Rede.
Essa região do
Location
Azure deve ser usada no campo do Gerenciador de Cluster e em todas as instâncias do Nexus do Operador associadas.
Limitações
- Nomenclatura - As regras de nomenclatura podem ser encontradas aqui.
Argumentos globais
Alguns argumentos que estão disponíveis para cada comando da CLI do Azure
- --debug - imprime ainda mais informações sobre as operações da CLI, usadas para fins de depuração. Se detetar um erro, forneça o resultado gerado com o sinalizador
--debug
ativado quando enviar um relatório de erros. - --help -h - imprime informações de referência da CLI sobre comandos e seus argumentos e lista subgrupos e comandos disponíveis.
- --only-show-errors - Mostrar apenas erros, suprimindo avisos.
- --output -o - especifica o formato de saída. Os formatos de saída disponíveis são Json, Jsonc (JSON colorido), tsv (Tab-Separated Values), table (tabelas ASCII legíveis por humanos) e yaml. Por padrão, a CLI gera saídas Json.
- --query - usa a linguagem de consulta JMESPath para filtrar a saída retornada dos serviços do Azure.
- --verbose - imprime informações sobre recursos criados no Azure durante uma operação e outras informações úteis
Propriedades do Gerenciador de Cluster
Nome de Propriedade | Description |
---|---|
Nome, ID, localização, tags, tipo | Nome: Nome amigável ID: < ID do recurso > Local: região do Azure onde o Gerenciador de Cluster é criado. Valores de: az account list -locations .Tags: Tags de recursos Tipo: Microsoft.NetworkCloud/clusterManagers |
managerExtendedLocation | O ExtendedLocation associado ao Gerenciador de Cluster |
managedResourceGroupConfiguration | Informações sobre o Grupo de Recursos Gerenciados |
fabricControllerId | A referência ao controlador de malha de rede que é 1:1 com este Gerenciador de Cluster |
analyticsWorkspaceId | O espaço de trabalho do Log Analytics onde os logs relevantes para o cliente serão retransmitidos. |
clusterVersões[] | A lista de versões de Cluster suportadas pelo Gestor de Clusters. Ele é usado como uma entrada na propriedade clusterVersion do cluster. |
provisionamentoEstado | O status de provisionamento da operação mais recente no Gerenciador de Cluster. Um dos: Aprovado, Falhado, Cancelado, Provisionamento, Aceito, Atualização |
detailedStatus | Os status detalhados que fornecem informações adicionais sobre o status do Gerenciador de Cluster. |
detailedStatusMessage | A mensagem descritiva sobre o status detalhado atual. |
Identidade do Gerenciador de Cluster
A partir da versão 2024-06-01-preview da API, um cliente pode atribuir identidade gerenciada a um Gerenciador de Cluster. Há suporte para identidades gerenciadas atribuídas pelo sistema e atribuídas pelo usuário.
Se um Gerenciador de Cluster for criado com a identidade gerenciada atribuída pelo usuário, um cliente deverá provisionar o acesso a essa identidade para a plataforma Nexus.
Especificamente, Microsoft.ManagedIdentity/userAssignedIdentities/assign/action
a permissão precisa ser adicionada à identidade atribuída pelo usuário para AFOI-NC-MGMT-PME-PROD
o Microsoft Entra ID. É uma limitação conhecida da plataforma que será abordada no futuro.
A atribuição de função pode ser feita por meio do portal do Azure:
- Abra o portal do Azure e localize a identidade atribuída pelo usuário em questão.
- Se você espera que várias identidades gerenciadas sejam provisionadas, a função pode ser adicionada no nível do grupo de recursos ou da assinatura.
- Em
Access control (IAM)
, clique em Adicionar nova atribuição de função - Selecione a função:
Managed Identity Operator
. Veja as permissões que a função fornece. - Atribuir acesso a: utilizador, grupo ou principal de serviço
- Selecionar Membro:
AFOI-NC-MGMT-PME-PROD
candidatura - Rever e atribuir
Criar um Gestor de Cluster
Crie o Gerenciador de Cluster usando a CLI do Azure:
Use o az networkcloud clustermanager create
comando para criar um Gerenciador de Cluster. Este comando cria um novo Gestor de Cluster ou atualiza as propriedades do Gestor de Cluster, se existir. Se você tiver várias assinaturas do Azure, selecione a ID de assinatura apropriada usando o comando az account set .
az networkcloud clustermanager create \
--name "$CLUSTER_MANAGER_NAME" \
--location "$LOCATION" \
--analytics-workspace-id "$LAW_NAME" \
--fabric-controller-id "$NFC_ID" \
--managed-resource-group-configuration name="$MRG_NAME" location="$MRG_LOCATION" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2"
--resource-group "$CLUSTER_MANAGER_RG"
--subscription "$SUB_ID"
- Argumentos
- --name -n [Required] - O nome do Gerenciador de Cluster.
- --fabric-controller-id [Required] - A ID do recurso do Controlador de Malha de Rede associado ao Gerenciador de Cluster.
- --resource-group -g [Obrigatório] - Nome do grupo de recursos. Você pode configurar o grupo de recursos padrão usando
az configure --defaults group=<name>
o . - --analytics-workspace-id - O ID do recurso do espaço de trabalho do Log Analytics usado para a coleção de logs
- --localização -l - Localização. Região do Azure onde o Gerenciador de Cluster é criado. Valores de:
az account list -locations
. Você pode configurar o local padrão usandoaz configure --defaults location="$LOCATION"
. - --managed-resource-group-configuration - A configuração do grupo de recursos gerenciados associado ao recurso.
- Uso: --managed-resource-group-configuration location=XX name=XX
- location: A região do grupo de recursos gerenciados. Se não for especificado, a região do recurso pai será escolhida.
- name: O nome do grupo de recursos gerenciados. Se não for especificado, um nome exclusivo será gerado automaticamente.
- wait/--no-wait - Aguarde a conclusão do comando ou não espere a conclusão da operação de longa duração.
- --tags - Tags separadas por espaço: key[=value] [key[=value]...]. Use '' para limpar tags existentes
- --subscription - Nome ou ID da subscrição. Você pode configurar a assinatura padrão usando
az account set -s NAME_OR_ID
o . - --mi-system-assigned - Habilite a identidade gerenciada atribuída ao sistema. Uma vez adicionada, a identidade só pode ser removida por meio da chamada de API no momento.
- --mi-user-assigned - IDs de recursos separados por espaço das identidades gerenciadas atribuídas pelo usuário a serem adicionadas. Uma vez adicionada, a identidade só pode ser removida por meio da chamada de API no momento.
Crie o Gerenciador de Cluster usando o editor de modelos do Azure Resource Manager:
Uma maneira alternativa de criar um Gerenciador de Cluster é com o editor de modelos ARM.
Para criar o cluster dessa maneira, você precisa fornecer um arquivo de modelo (clusterManager.jsonc) e um arquivo de parâmetro (clusterManager.parameters.jsonc).
Pode encontrar exemplos destes dois ficheiros aqui:
clusterManager.jsonc , clusterManager.parameters.jsonc
Nota
Para obter a formatação correta, copie o arquivo de código bruto. Os valores dentro do arquivo clusterManager.parameters.jsonc são específicos do cliente e podem não ser uma lista completa. Atualize os campos de valor para o seu ambiente específico.
- Em um navegador da Web, vá para o portal do Azure e entre.
- Na barra de pesquisa do portal do Azure, procure por "Implantar um modelo personalizado" e selecione-o nos serviços disponíveis.
- Clique em Criar seu próprio modelo no editor.
- Clique em Carregar arquivo. Localize o arquivo de modelo clusterManager.jsonc e carregue-o.
- Clique em Guardar.
- Clique em Editar parâmetros.
- Clique em Carregar arquivo. Localize o arquivo de parâmetros clusterManager.parameters.jsonc e carregue-o.
- Clique em Guardar.
- Selecione a Subscrição correta.
- Procure o grupo de Recursos se ele já existir ou crie um novo.
- Verifique se todos os detalhes da instância estão corretos.
- Clique em Rever + criar.
Listar/mostrar Gestor(es) de Cluster
Os comandos list e show são usados para obter uma lista de Gerentes de Cluster existentes ou as propriedades de um Gerenciador de Cluster específico.
Listar Gerentes de Cluster no grupo de recursos
Este comando lista os Gestores de Cluster no grupo de Recursos especificado.
az networkcloud clustermanager list --resource-group "$CLUSTER_MANAGER_RG"
Listar Gerentes de Cluster na assinatura
Este comando lista os Gestores de Cluster na subscrição especificada.
az networkcloud clustermanager list --subscription "$SUB_ID"
Mostrar propriedades do Cluster Manager
Este comando lista as propriedades do Gerenciador de Cluster especificado.
az networkcloud clustermanager show \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
Argumentos do comando List/show
- --name -n - O nome do Gerenciador de Cluster.
- --IDs - Um ou mais IDs de recurso (delimitados por espaço). Deve ser um ID de recurso completo contendo todas as informações dos argumentos 'ID do recurso'.
- --resource-group -g - Nome do grupo de recursos. Você pode configurar o grupo padrão usando
az configure --defaults group=<name>
. - --subscription - Nome ou ID da subscrição. Você pode configurar a assinatura padrão usando
az account set -s NAME_OR_ID
o .
Atualizar o Gerenciador de Cluster
Este comando é usado para corrigir propriedades do Gerenciador de Cluster fornecido ou atualizar as tags atribuídas ao Gerenciador de Cluster. As atualizações de propriedades e tags podem ser feitas de forma independente.
az networkcloud clustermanager update \
--name "$CLUSTER_MANAGER_NAME" \
--tags $TAG_KEY1="$TAG_VALUE1" $TAG_KEY2="$TAG_VALUE2" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- Argumentos
- --tags - Tags separadas por TSpace: key[=value] [key[=value] ...]. Use '' para limpar tags existentes.
- --name -n - O nome do Gerenciador de Cluster.
- --IDs - Um ou mais IDs de recurso (delimitados por espaço). Deve ser um ID de recurso completo contendo todas as informações dos argumentos 'ID do recurso'.
- --resource-group -g - Nome do grupo de recursos. Você pode configurar o grupo padrão usando
az configure --defaults group=<name>
. - --subscription - Nome ou ID da subscrição. Você pode configurar a assinatura padrão usando
az account set -s NAME_OR_ID
o . - --mi-system-assigned - Habilite a identidade gerenciada atribuída ao sistema. Uma vez adicionada, a identidade só pode ser removida por meio da chamada de API no momento.
- --mi-user-assigned - IDs de recursos separados por espaço das identidades gerenciadas atribuídas pelo usuário a serem adicionadas. Uma vez adicionada, a identidade só pode ser removida por meio da chamada de API no momento.
Atualizar identidades do Gerenciador de Cluster por meio de APIs
As identidades gerenciadas do Gerenciador de Cluster podem ser atribuídas via CLI. A desatribuição das identidades pode ser feita por meio de chamadas de API.
Nota, <APIVersion>
é a versão da API 2024-06-01-preview ou mais recente.
Para remover todas as identidades gerenciadas, execute:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body "{\"identity\":{\"type\":\"None\"}}"
Se as identidades gerenciadas atribuídas pelo usuário e pelo sistema tiverem sido adicionadas, as identidades atribuídas pelo usuário poderão ser removidas atualizando o
type
paraSystemAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "SystemAssigned" } }
Se as identidades gerenciadas atribuídas pelo usuário e pelo sistema tiverem sido adicionadas, as identidades atribuídas pelo sistema poderão ser removidas atualizando o
type
paraUserAssigned
:az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": {} } } }
Se várias identidades gerenciadas atribuídas pelo usuário forem adicionadas, uma delas poderá ser removida executando:
az rest --method PATCH --url /subscriptions/$SUB_ID/resourceGroups/$CLUSTER_MANAGER_RG/providers/Microsoft.NetworkCloud/clusterManagers/$CLUSTER_MANAGER_NAME?api-version=<APIVersion> --body @~/uai-body.json
O corpo da solicitação (uai-body.json exemplo:
{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "/subscriptions/$SUB_ID/resourceGroups/$UAI_RESOURCE_GROUP/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$UAI_NAME": null } } }
Excluir o Gerenciador de Cluster
Este comando é usado para Excluir o Gerenciador de Cluster fornecido.
Aviso
Um Gerenciador de Cluster que tenha um Controlador de Malha de Rede associado existente ou quaisquer Clusters que façam referência a esse Gerenciador de Cluster não podem ser excluídos.
az networkcloud clustermanager delete \
--name "$CLUSTER_MANAGER_NAME" \
--resource-group "$CLUSTER_MANAGER_RG" \
--subscription "$SUB_ID"
- Argumentos
- --no-wait - Não espere que a operação de longa duração seja concluída.
- --yes -y - Não solicite confirmação.
- --name -n - O nome do Gerenciador de Cluster.
- --IDs - Um ou mais IDs de recurso (delimitados por espaço). Deve ser um ID de recurso completo contendo todas as informações dos argumentos 'ID do recurso'.
- --resource-group -g - Nome do grupo de recursos. Você pode configurar o grupo padrão usando
az configure --defaults group=<name>
. - --subscription - Nome ou ID da subscrição. Você pode configurar a assinatura padrão usando
az account set -s NAME_OR_ID
o .
Próximos passos
Depois de criar com êxito o Controlador de Malha de Rede e o Gerenciador de Cluster, a próxima etapa é criar uma Malha de Rede.