Início Rápido: Pré-requisitos para operador e CNF (função virtualizada de rede)
Este início rápido contém as tarefas de pré-requisito para OPERADOR e CNF (função de rede em contêineres). Embora seja possível automatizar essas tarefas em sua NSD (Definição de Serviço de Rede), neste início rápido, as ações são executadas manualmente.
Observação
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ê tenha a função Colaborador e a função Administrador de acesso do usuário.
Como alternativa, a extensão da CLI do AOSM pode criar o Grupo de Recursos para você – nesse caso, você precisa da função Colaborador nesta assinatura. Se você usar este recurso, precisará adicionar ao usuário a função Administrador de acesso do usuário com o escopo deste Grupo de Recursos recém-criado.
Você também precisa da função Administrador de acesso do usuário no Grupo de recursos do editor de definição de função de rede. O Grupo de recursos do editor de definição de função de rede foi usado no Início rápido: publicar contêiner Nginx como Função de rede em contêineres (CNF). Verifique o arquivo input-cnf-nfd.jsonc para obter o nome do Grupo de Recursos.
Definir variáveis de ambiente
Adapte as configurações e as referências da variável de ambiente conforme necessário para 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ê a referenciaria 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 AKS (Serviço de Kubernetes do Azure). Esse também será o local em que os recursos do operador serão criados em guias posteriores.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Provisionar cluster do AKS (Serviço de Kubernetes do Azure)
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 AKS (Serviço de Kubernetes do Azure). A execução dos comandos abaixo deve ser suficiente. Se você quiser saber mais, confira Criar e gerenciar locais personalizados no Kubernetes habilitado para Azure Arc.
Recuperar o arquivo de configuração para o cluster do 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}
Registrar sua assinatura
Registre sua assinatura no provedor de recursos Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Habilitar locais personalizados
Habilitar locais personalizados no cluster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Conectar cluster
Conecte o cluster:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Criar extensão
Criar 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
Crie um local personalizado
Criar uma localização personalizada:
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 do local personalizado. Você precisa dessas informações para preencher os valores do Grupo de Configuração para o SNS (Serviço de Rede do Site).
Pesquise o nome do local personalizado (customLocationId) no portal do Azure e selecione Propriedades. Localize a ID de Recurso completa na área de informações do Essentials e procure a ID do nome do campo. A imagem a seguir fornece um exemplo de onde as informações da ID do recurso estão localizadas.
Dica
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
Salve o script Bicep a seguir 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
Inicie a implantação da Identidade Gerenciada Atribuída pelo Usuário emitindo o comando a seguir.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
O script cria uma identidade gerenciada.
Recuperar a ID do recurso para a identidade gerenciada
Execute o comando a seguir 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'
Copie e salve a saída, que é a identidade do recurso. Você precisa dessa saída ao criar o Serviço de Rede do Site.
Atualizar permissões do SNS (Serviço de Rede do Site)
Para executar essas tarefas, você precisa da função 'Proprietário' ou 'Administrador de Acesso do 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 Publicador de Definição de Função de Rede foi criado no Início Rápido: Publicar contêiner Nginx como CNF (Função de Rede Em Contêineres) e nomeado nginx-publisher-rg no arquivo input.json.
Em etapas anteriores, você criou uma identidade rotulada de Identidade Gerenciada para nginx-sns dentro do grupo de recursos de referência. Essa identidade desempenha um papel crucial na implantação do SNS (Serviço de Rede do Site). Siga as etapas nas próximas seções para conceder à identidade a função 'Colaborador' sobre o Grupo de Recursos do Publicador e a função Operador de Identidade Gerenciada por conta própria. Por meio dessa identidade, o SNS (Serviço de Rede do Site) obtém as permissões necessárias.
Conceder a função de Colaborador pelo Grupo de Recursos do publicador à Identidade Gerenciada
Acesse o portal do Azure e abra o Grupo de Recursos do Publicador criado ao publicar a Definição de Função de Rede.
No menu lateral do Grupo de Recursos, selecione Controle de acesso (IAM).
Escolha Adicionar Atribuição de função.
Nas Funções de administrador com privilégios, escolha a categoria Colaborador e, em seguida, prossiga com Avançar.
Selecione Identidade gerenciada.
Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário identity-for-nginx-sns.
Conceder a função de colaborador pelo local personalizado à identidade gerenciada
Acesse o portal do Azure e abra o grupo de recursos do operador, operador-rg.
No menu lateral do Grupo de Recursos, selecione Controle de acesso (IAM).
Escolha Adicionar Atribuição de função.
Nas Funções de administrador com privilégios, escolha a categoria Colaborador e, em seguida, prossiga com Avançar.
Selecione Identidade gerenciada.
Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário identity-for-nginx-sns.
Conceder a função de operador de identidade gerenciada a si mesmo
Acesse o portal do Azure e pesquise Identidades Gerenciadas.
Selecione identity-for-nginx-sns na lista de Identidades Gerenciadas.
No menu do lado esquerdo, selecione Controle de acesso (IAM).
Escolha Adicionar atribuição de função.
Selecione a função de Operador de Identidade Gerenciada e, em seguida, prossiga com Próximo.
Selecione Identidade gerenciada.
Selecione + Selecione membros e navegue até a identidade gerenciada atribuída pelo usuário chamada identity-for-nginx-sns e prossiga com a atribuição.
Selecione Examinar e atribuir.
A conclusão de todas as tarefas descritas nestes artigos garante que o SNS (Serviço de Rede de Site) tenha as permissões necessárias para funcionar efetivamente no ambiente do Azure especificado.