Inicio rápido: Requisitos previos para Operador y Función de Red Contenerizada (CNF)
Este inicio rápido contiene las tareas que son requisitos previos para Operador y Función de Red Contenerizada (CNF) Aunque es posible automatizar estas tareas en la NSD (definición de servicio de red), en este inicio rápido, las acciones se realizan manualmente.
Nota:
Las tareas presentadas en este artículo pueden requerir un tiempo para completarse.
Permisos
Necesita una suscripción de Azure con un grupo de recursos existente sobre el que tenga el rol Colaborador y el rol Administrador de acceso de usuarios.
Alternativamente, la extensión de la CLI de AOSM puede crear el Grupo de recursos por usted, en cuyo caso necesitará el rol Colaborador sobre esta suscripción. Si usa esta característica, tendrá que añadir a su usuario el rol Administrador de acceso a usuarios con ámbito de este Grupo de recursos recién creado.
También necesita el rol Administrador de acceso de usuarios sobre el Grupo de recursos del editor de definición de funciones de red. El uso del Grupo de recursos del editor de definición de función de red se utilizó en Inicio rápido: Publicar contenedor Nginx como Función de red en contenedor (CNF). Compruebe en el archivo input-cnf-nfd.jsonc el nombre del Grupo de recursos.
Establecimiento de variables de entorno
Adapte la configuración y las referencias de las variables de entorno según sea necesario para su entorno determinado. Por ejemplo, en Windows PowerShell, establecería las variables de entorno de la siguiente manera:
$env:ARC_RG="<my rg>"
Para usar una variable de entorno, debería referirse a ella 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
Crear grupo de recursos
Cree un grupo de recursos para hospedar el clúster de Azure Kubernetes Service (AKS). Aquí también se crearán los recursos del operador en guías posteriores.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Clúster de provisión de Azure Kubernetes Service (AKS)
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Habilitación de Azure Arc
Habilite Azure Arc para el clúster de Azure Kubernetes Service (AKS). La ejecución de los comandos siguientes debe ser suficiente. Si desea obtener más información, consulte Creación y administración de ubicaciones personalizadas en Kubernetes habilitado para Azure Arc.
Recuperación del archivo de configuración para el clúster de AKS
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Creación de un clúster conectado
Cree el clúster:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Registrar la suscripción
Registre la suscripción en el proveedor de recursos Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Habilitación de ubicaciones personalizadas
Habilitación de ubicaciones personalizadas en el clúster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Conexión de un clúster
Conexión al clúster:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Crear extensión
Crear una extensión:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Creación de una ubicación personalizada
Crear una ubicación 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
Recuperación del valor de ubicación personalizada
Recupere el valor ubicación personalizada. Necesita esta información para rellenar los valores del grupo de configuración del servicio de red de sitio (SNS).
Busque el nombre de la ubicación personalizada (customLocationId) en Azure Portal y, a continuación, seleccione Propiedades. Busque el identificador de recurso completo en el área de información de Essentials y busque el identificador de nombre de campo. En la imagen siguiente se proporciona un ejemplo de dónde se encuentra la información del identificador de recurso.
Sugerencia
El identificador de recurso completo tiene este formato: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Creación de una identidad administrada asignada por el usuario para el servicio de red de sitio
Guarde el siguiente script de 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 la implementación de la identidad administrada asignada por el usuario mediante la emisión del comando siguiente.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
El script crea una identidad administrada.
Recuperación del identificador de recurso para la identidad administrada
Ejecute el siguiente comando para buscar el identificador de recurso de la identidad administrada creada.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Copie y guarde la salida, que es la identidad del recurso. Necesita esta salida al crear el servicio de red de sitio.
Actualizar permisos de servicio de red de sitio (SNS)
Para realizar estas tareas, necesita el rol "Propietario" o "Administrador de acceso de usuario" en el operador y en los grupos de recursos del publicador de definiciones de funciones de red. Ha creado el grupo de recursos del operador en tareas anteriores. El grupo de recursos del publicador de definiciones de función de red se creó en Inicio rápido: Publicación del contenedor Nginx como Función de Red Contenerizada (CNF) y el nombre nginx-publisher-rg en el archivo input.json.
En los pasos anteriores, creó una identidad administrada etiquetada como identity-for-nginx-sns dentro del grupo de recursos de referencia. Esta identidad desempeña un papel fundamental en la implementación del servicio de red de sitio (SNS). Siga los pasos descritos en las secciones siguientes para conceder a la identidad el rol "Colaborador" sobre el grupo de recursos del publicador y el rol Operador de identidad administrada sobre sí misma. Con esta identidad, el servicio de red de sitio (SNS) obtiene los permisos necesarios.
Concesión de un rol de colaborador a través del grupo de recursos del publicador a la identidad administrada
Acceda a Azure Portal y abra el grupo de recursos del publicador creado al publicar la definición de función de red.
En el menú lateral del grupo de recursos, seleccione Control de acceso (IAM).
Elija Agregar asignación de roles.
En los roles de administrador con privilegios, seleccione Colaborador, a continuación, vaya a Siguiente.
Seleccione Identidad administrada.
Elija + Seleccionar miembros busque y elija la identidad administrada asignada por el usuario identity-for-nginx-sns.
Concesión de un rol de colaborador a través de la ubicación personalizada a la identidad administrada
Acceda a Azure Portal y abra el grupo de recursos del operador, operator-rg.
En el menú lateral del grupo de recursos, seleccione Control de acceso (IAM).
Elija Agregar asignación de roles.
En los roles de administrador con privilegios, seleccione Colaborador, a continuación, vaya a Siguiente.
Seleccione Identidad administrada.
Elija + Seleccionar miembros busque y elija la identidad administrada asignada por el usuario identity-for-nginx-sns.
Concesión del rol Operador de identidad administrada a la propia identidad
Vaya a Azure Portal y busque identidades administradas.
Seleccione identity-for-nginx-sns en la lista de identidades administradas.
En el menú lateral, seleccione Control de acceso (IAM).
Elija Agregar asignación de roles.
Seleccione el rol Operador de identidad administrada y vaya a Siguiente.
Seleccione Identidad administrada.
Seleccione + Seleccionar miembros y vaya a la identidad administrada asignada por el usuario denominada identity-for-nginx-sns. Luego, continúe con la asignación.
Seleccione Revisar y asignar.
Finalizar todas las tareas descritas en estos artículos garantiza que el servicio de red de sitio (SNS) tenga los permisos necesarios para funcionar eficazmente en el entorno de Azure especificado.