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.
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
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
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
O script cria uma identidade gerenciada.
Recuperar ID de recurso para identidade gerenciada
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'
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
Acesse o portal do Azure e abra o Grupo de Recursos do Editor 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.
Em Funções de administrador privilegiado, selecione Colaborador e prossiga com Avançar.
Selecione Identidade gerida.
Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário para nginx-sns.
Conceder a função de Colaborador sobre Local Personalizado à Identidade Gerenciada
Acesse o portal do Azure e abra o Grupo de Recursos do Operador, operator-rg.
No menu lateral do Grupo de Recursos, selecione Controle de Acesso (IAM).
Escolha Adicionar atribuição de função.
Em Funções de administrador privilegiado, selecione Colaborador e prossiga com Avançar.
Selecione Identidade gerida.
Escolha + Selecionar membros e, em seguida, localize e escolha a identidade gerenciada atribuída pelo usuário para nginx-sns.
Conceder a si mesmo a função de Operador de Identidade Gerenciada
Vá para o portal do Azure e procure Identidades Gerenciadas.
Selecione identity-for-nginx-sns na lista de Identidades Gerenciadas.
No menu lateral, selecione Controle de acesso (IAM).
Escolha Adicionar atribuição de função.
Selecione a função Operador de Identidade Gerenciada e prossiga com Avançar.
Selecione Identidade gerida.
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.
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.