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
Para completar estos requisitos previos para Operador y Función de Red Contenerizada (CNF), necesita una suscripción de Azure en la que tenga el rol Colaborador (para crear un grupo de recursos) y debe poder obtener el rol de Propietario o Administrador de acceso de usuario en este grupo de recursos. Puede necesitar un grupo de recursos existente en el que tenga el ‘rol Propietario’ o ‘Administrador de acceso de usuario’.
También necesita el rol Propietario o Administrador de acceso de usuario en el grupo de recursos del publicador de definiciones de función de red. 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.
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)
Nota:
Asegúrese de que agentCount
está establecido en 1. Solo se requiere un nodo en este momento.
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 1 --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.