Partilhar via


Guia de início rápido: pré-requisitos para operador e função de rede conteinerizada (CNF)

Este guia de início rápido contém as tarefas de pré-requisito para Operador e Função de Rede Conteinerizada (CNF). Embora seja possível automatizar essas tarefas dentro do seu NSD (Network Service Definition), neste início rápido, as ações são executadas manualmente.

Nota

As tarefas apresentadas neste artigo podem exigir algum tempo para serem concluídas.

Permissões

Você precisa de uma assinatura do Azure com um Grupo de Recursos existente sobre o qual você tem a função de Colaborador e a função de Administrador de Acesso de Usuário .

Como alternativa, a extensão da CLI do AOSM pode criar o Grupo de Recursos para você, caso em que você precisará da função de Colaborador nesta assinatura. Se você usar esse recurso, precisará adicionar ao usuário a função de Administrador de Acesso de Usuário com o escopo desse Grupo de Recursos recém-criado.

Você também precisa da função de Administrador de Acesso de Usuário no Grupo de Recursos do Editor de Definição de Função de Rede. O Network Function Definition Publisher Resource Group foi usado em Guia de início rápido: publicar contêiner Nginx como função de rede conteinerizada (CNF). Verifique o arquivo input-cnf-nfd.jsonc para o nome do Grupo de Recursos.

Definir variáveis de ambiente

Adapte as configurações e referências de variáveis de ambiente conforme necessário para o seu ambiente específico. Por exemplo, no Windows PowerShell, você definiria as variáveis de ambiente da seguinte maneira:

$env:ARC_RG="<my rg>"

Para usar uma variável de ambiente, você deve fazer referência a ela como $env:ARC_RG.

export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension

Criar Grupo de Recursos

Crie um Grupo de Recursos para hospedar seu cluster do Serviço Kubernetes do Azure (AKS). Será também aqui que os recursos do seu Operador serão criados em guias posteriores.

az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}

Provisionar cluster do Serviço Kubernetes do Azure (AKS)

az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys

Habilitar o Azure Arc

Habilite o Azure Arc para o cluster do Serviço Kubernetes do Azure (AKS). Executar os comandos abaixo deve ser suficiente. Se quiser saber mais, consulte Criar e gerenciar locais personalizados no Kubernetes habilitado para Azure Arc.

Recuperar o arquivo de configuração para o cluster AKS

az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}

Criar um cluster conectado

Crie o cluster:

az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}

Registe a sua subscrição

Registe a sua subscrição no fornecedor de recursos Microsoft.ExtendedLocation:

az provider register --namespace Microsoft.ExtendedLocation

Habilitar locais personalizados

Habilite locais personalizados no cluster:

az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations

Ligar cluster

Conecte o cluster:

az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location

Criar extensão

Crie uma extensão:

az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster

Criar local personalizado

Crie um local personalizado:

export ConnectedClusterResourceId=$(az connectedk8s show --resource-group ${resourceGroup} --name ${clusterName} --query id -o tsv)
export ClusterExtensionResourceId=$(az k8s-extension show -c $clusterName -n $extensionId -t connectedClusters -g ${resourceGroup} --query id -o tsv)
az customlocation create -g ${resourceGroup} -n ${customlocationId} --namespace "azurehybridnetwork" --host-resource-id $ConnectedClusterResourceId --cluster-extension-ids $ClusterExtensionResourceId

Recuperar valor de local personalizado

Recupere o valor Local personalizado. Você precisa dessas informações para preencher os valores do Grupo de Configuração para o Serviço de Rede de Site (SNS).

Procure o nome da localização personalizada (customLocationId) no portal do Azure e, em seguida, selecione Propriedades. Localize o ID de recurso completo na área de informações do Essentials e procure o ID do nome do campo. A imagem a seguir fornece um exemplo de onde as informações de ID de recurso estão localizadas.

Captura de ecrã a mostrar o campo de pesquisa e as informações de Propriedades.

Gorjeta

A ID de recurso completa tem um formato de: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}

Criar identidade gerenciada atribuída pelo usuário para o serviço de rede do site

  1. Salve o seguinte script Bicep localmente como prerequisites.bicep.

    param location string = resourceGroup().location
    param identityName string = 'identity-for-nginx-sns'
    
    
    resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
      name: identityName
      location: location
    }
    output managedIdentityId string = managedIdentity.id
    
  2. Inicie a implantação da Identidade Gerenciada Atribuída pelo Usuário emitindo o seguinte comando.

    az deployment group create --name prerequisites --resource-group ${resourceGroup}  --template-file prerequisites.bicep
    
  3. O script cria uma identidade gerenciada.

Recuperar ID de recurso para identidade gerenciada

  1. Execute o seguinte comando para localizar a ID do recurso da identidade gerenciada criada.

    az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
    
  2. Copie e salve a saída, que é a identidade do recurso. Você precisa dessa saída ao criar o Serviço de Rede de Site.

Atualizar permissões do Serviço de Rede do Site (SNS)

Para executar essas tarefas, você precisa da função 'Proprietário' ou 'Administrador de Acesso de Usuário' no operador e nos Grupos de Recursos do Editor de Definição de Função de Rede. Você criou o Grupo de Recursos do operador em tarefas anteriores. O Grupo de Recursos do Editor de Definição de Função de Rede foi criado em Guia de início rápido: Publicar contêiner Nginx como Função de Rede Conteinerizada (CNF) e nomeado nginx-publisher-rg no arquivo input.json.

Nas etapas anteriores, você criou uma Identidade Gerenciada rotulada como identidade para nginx-sns dentro do seu grupo de recursos de referência. Essa identidade desempenha um papel crucial na implantação do Serviço de Rede de Site (SNS). Siga as etapas nas próximas seções para conceder à identidade a função 'Colaborador' sobre o Grupo de Recursos do Editor e a função de Operador de Identidade Gerenciada sobre si mesmo. Através desta identidade, o Serviço de Rede de Sites (SNS) obtém as permissões necessárias.

Conceder a função de Colaborador sobre o Grupo de Recursos do editor à Identidade Gerenciada

  1. Acesse o portal do Azure e abra o Grupo de Recursos do Editor criado ao publicar a Definição de Função de Rede.

  2. No menu lateral do Grupo de Recursos, selecione Controle de Acesso (IAM).

  3. Escolha Adicionar atribuição de função.

    Captura de ecrã a mostrar o grupo de recursos do editor adicionar atribuição de função.

  4. Em Funções de administrador privilegiado, selecione Colaborador e prossiga com Avançar.

    Captura de tela mostrando a função de administrador privilegiado com o colaborador selecionado.

  5. Selecione Identidade gerida.

  6. Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário para nginx-sns.

    Captura de tela mostrando as identidades gerenciadas selecionadas com a identidade gerenciada atribuída ao usuário.

Conceder a função de Colaborador sobre Local Personalizado à Identidade Gerenciada

  1. Acesse o portal do Azure e abra o Grupo de Recursos do Operador, operator-rg.

  2. No menu lateral do Grupo de Recursos, selecione Controle de Acesso (IAM).

  3. Escolha Adicionar atribuição de função.

    Captura de ecrã a mostrar o grupo de recursos do editor adicionar atribuição de função à localização personalizada.

  4. Em Funções de administrador privilegiado, selecione Colaborador e prossiga com Avançar.

    Captura de tela mostrando a função de administrador privilegiado com o colaborador selecionado.

  5. Selecione Identidade gerida.

  6. Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário para nginx-sns.

    Captura de tela mostrando as identidades gerenciadas selecionadas com a identidade gerenciada atribuída ao usuário.

Conceder a si mesmo a função de Operador de Identidade Gerenciada

  1. Vá para o portal do Azure e procure Identidades Gerenciadas.

  2. Selecione identity-for-nginx-sns na lista de Identidades Gerenciadas.

  3. No menu lateral, selecione Controle de acesso (IAM).

  4. Escolha Adicionar atribuição de função.

    Captura de tela mostrando a identidade para nginx SNS adicionar atribuição de função.

  5. Selecione a função Operador de Identidade Gerenciada e prossiga com Avançar.

    Captura de tela mostrando adicionar atribuição de função com operador de identidade gerenciado selecionado.

  6. Selecione Identidade gerida.

  7. Selecione + Selecionar membros e navegue até a identidade gerenciada atribuída pelo usuário chamada identity-for-nginx-sns e prossiga com a atribuição.

    Captura de tela mostrando as identidades gerenciadas selecionadas com a identidade gerenciada atribuída ao usuário.

  8. Selecione Rever e atribuir.

A conclusão de todas as tarefas descritas nestes artigos garante que o Serviço de Rede de Site (SNS) tenha as permissões necessárias para funcionar efetivamente no ambiente do Azure especificado.

Próximos passos