Compartir vía


Grupos en espera para Azure Container Instances (versión preliminar)

Importante

Los grupos en espera de Azure Container Instances se encuentran actualmente en versión preliminar. Las versiones preliminares están a su disposición con la condición de que acepte los términos de uso adicionales. Es posible que algunos de los aspectos de esta característica cambien antes de ofrecer disponibilidad general.

Los grupos en espera de Azure Container Instances permiten crear un grupo de grupos de contenedores aprovisionados previamente que se pueden usar en respuesta al tráfico entrante. Los grupos de contenedores del grupo están completamente aprovisionados, inicializados y listos para recibir trabajo.

Diagrama del flujo de trabajo de creación de un contenedor mediante la ruta de acceso tradicional frente a la ruta de acceso del grupo en espera.

Limitaciones

Los grupos en espera de Azure Container Instances no están disponibles en Azure Portal.

Requisitos previos

Registro de características

Registre el proveedor de recursos del grupo en espera y la característica en vista previa del grupo en espera con su suscripción mediante Azure Cloud Shell. El registro puede tardar hasta 30 minutos en mostrarse correctamente como registrado. Puede volver a ejecutar los siguientes comandos para determinar cuándo se ha registrado correctamente la característica.

Register-AzResourceProvider -ProviderNameSpace Microsoft.ContainerInstance
Register-AzResourceProvider -ProviderNamespace Microsoft.StandbyPool
Register-AzProviderFeature -FeatureName StandbyContainerGroupPoolPreview -ProviderNamespace Microsoft.StandbyPool

Permisos de control de acceso basado en rol

Para permitir que los grupos en espera creen grupos de contenedores en la suscripción, asigne los permisos adecuados al proveedor de recursos del grupo en espera.

  1. En Azure Portal, vaya a las suscripciones.
  2. Seleccione la suscripción que desea ajustar los permisos.
  3. Seleccione Access Control (IAM) .
  4. Seleccione Agregar y Agregar asignación de roles.
  5. En la pestaña Rol, busque Colaborador del grupo de contenedores en espera y selecciónelo.
  6. Vaya a la pestaña Miembros.
  7. Seleccione + Seleccionar integrantes.
  8. Busque Proveedor de recursos de grupo En espera y selecciónelo.
  9. Vaya a la pestaña Revisar + asignar.
  10. Aplique los cambios.
  11. Repita los pasos anteriores y, además, asigne el rol de colaborador de Azure Container Instances y el colaborador de red al proveedor de recursos del grupo en espera.

Para más información sobre la asignación de roles, consulte Asignaciones de roles de Azure mediante Azure Portal.

Uso de un contenedor del grupo en espera

Cuando necesite un nuevo grupo de contenedores, puede extraer inmediatamente uno del grupo en espera que se aprovisione y ejecute.

Los grupos en espera solo proporcionan grupos de contenedores del grupo que están completamente aprovisionados y listos para recibir trabajo. Por ejemplo, cuando todavía se inicializan las instancias del grupo, no están en estado de ejecución y no se proporcionan cuando se solicita un contenedor. Si no hay ninguna instancia disponible en el grupo, Azure Container Instances volverá de forma predeterminada a la creación de un nuevo grupo de contenedores.

Tamaño del grupo en espera

El número de grupos de contenedores de un grupo en espera se determina estableciendo el parámetro maxReadyCapacity. Cuando se consume un grupo de contenedores del grupo, el grupo en espera comienza automáticamente a rellenarse asegurándose de que el grupo de espera mantiene la capacidad máxima establecida lista.

La única directiva de recarga disponible para los grupos en espera en Azure Container Instances es Always.

Configuración Descripción
maxReadyCapacity Número máximo de grupos de contenedores que desea implementar en el grupo.
refillPolicy Indica al grupo en espera que reponga inmediatamente los grupos de contenedores para mantener maxReadyCapacity.

Perfil de grupo de contenedores

Un perfil de grupo de contenedores indica al grupo en espera cómo configurar los contenedores del grupo. Si realiza algún cambio en el perfil de grupo de contenedores, también debe actualizar el grupo de espera para asegurarse de que las actualizaciones se aplican a las instancias del grupo.

{
    "location":"{location}",
    "properties":{
        "containers": [
        {
            "name":"[mycontainergroupprofile]",
            "properties": {
                "command":[],
                "environmentVariables":[],
                "image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
                "ports":[
                    {
                        "port":8000
                    }
                ],
                "resources": {
                    "requests": {
                        "cpu":1,
                        "memoryInGB":1.5
                                }
                            }
                        }
                    }
                ],
                "imageRegistryCredentials":[],
                "ipAddress":{
                "ports":[
                    {
                        "protocol":"TCP",
                        "port":8000
                    }
            ],
            "type":"Public"
            },
            "osType":"Linux",
            "sku":"Standard"
            }
        }


Asignaciones de configuración

Un mapa de configuración es una propiedad que se puede asociar a un perfil de grupo de contenedores y usarse para aplicar configuraciones de contenedor similares a las variables de entorno y los volúmenes secretos. Sin embargo, al usar variables de entorno o volúmenes secretos, es necesario reiniciar el pod para que los cambios surtan efecto. Mediante asignaciones de configuración, las configuraciones se pueden aplicar sin reiniciar el contenedor. Esto habilita las actualizaciones fuera de banda para que los contenedores puedan leer los nuevos valores sin reiniciarse.

Azure Container Instances se puede crear con o sin asignaciones de configuración y se puede actualizar en cualquier momento posterior a la creación mediante mapas de configuración. La actualización de asignaciones de configuración en un grupo de contenedores en ejecución existente se puede realizar rápidamente y sin hacer que el contenedor se reinicie.

Para obtener más información, consulte usar mapas de configuración.

{
    "properties": {
        "containers": [
            {
                "name": "{mycontainergroupprofile}",
                "properties": {
                    "image": "mcr.microsoft.com/azuredocs/aci-helloworld",
                    "ports": [
                        {
                            "port": 80,
                            "protocol": "TCP"
                        }
                    ],
                    "resources": {
                        "requests": {
                            "memoryInGB": 0.5,
                            "cpu": 0.5
                        }
                    },
                    "configMap": {
                        "keyValuePairs": {
                            "key1": "value1",
                            "key2": "value2"
                        }
                    }
                }
            }
        ],
        "osType": "Linux",
        "ipAddress": {
            "type": "Public",
            "ports": [
                {
                    "protocol": "tcp",
                    "port": 80
                }
            ]
        }
    },
    "location": "{location}"
}

Contenedores confidenciales

Los grupos en espera para las instancias de contenedor de Azure admiten contenedores confidenciales. Para usar contenedores confidenciales actualizar el tipo de sku a Confidential en el perfil del grupo de contenedores.

Importante

Los valores pasados mediante asignaciones de configuración no se incluyen en la directiva de seguridad ni se validan mediante el tiempo de ejecución antes de que el montaje del archivo esté disponible para el contenedor. Los valores que podrían afectar a los datos o a la seguridad de las aplicaciones no pueden ser de confianza para la aplicación durante la ejecución y, en su lugar, deben estar disponibles para el contenedor mediante variables de entorno.

{
    "location":"{location}",
    "properties":{
        "containers": [
        {
            "name":"{mycontainergroupprofile}",
            "properties": {
                "command":[],
                "environmentVariables":[],
                "image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
                "ports":[
                    {
                        "port":8000
                    }
                ],
                "resources": {
                    "requests": {
                        "cpu":1,
                        "memoryInGB":1.5
                                }
                            }
                        }
                    }
                ],
                "imageRegistryCredentials":[],
                "ipAddress":{
                "ports":[
                    {
                        "protocol":"TCP",
                        "port":8000
                    }
            ],
            "type":"Public"
            },
            "osType":"Linux",
            "sku":"Confidential"
            }
        }


Identidad administrada

Los grupos en espera para Azure Container Instances admiten la integración con identidad administrada. La aplicación de una identidad administrada se realiza al solicitar un contenedor desde el grupo de espera e incluir los parámetros y la configuración de identity. La identidad administrada no es una propiedad admitida directamente en el perfil del grupo de contenedores.

{
   "location": "{location}",
   "properties": {
       "standByPoolProfile":{
               "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.StandbyPool/standbyContainerGroupPools/{standbyPoolName}"
           },
           "containerGroupProfile": {
               "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ContainerInstance/containerGroupProfiles/{mycontainergroupprofile}",
               "revision": {revisionNumber}
           },
          },
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity}": {}
            },
           "containers": [
               {
                   "name": "{mycontainergroupprofile}",
                   "properties": {
                       "configMap": {
                           "keyValuePairs": {
                               "{newKey}": "{newValue}"
                           }
                       }
                   }
               }
           ]
   }
}

Zonas de disponibilidad

Los grupos en espera de Azure Container Instances admiten la creación y solicitud de contenedores entre zonas de disponibilidad. La creación de un grupo de espera zonal solo está disponible actualmente mediante el grupo en espera API de REST con la versión 2024-08-01-preview y solo está disponible en la región Centro de la India.

Creación de un grupo de espera zonal

PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.StandbyPool/standbyContainerGroupPools/myStandbyPool?api-version=2024-08-01-preview
 
Request Body
{
    "properties": {
        "elasticityProfile": {
            "maxReadyCapacity": 20,
            "refillPolicy": "always"
        },
        "containerGroupProperties": {
            "containerGroupProfile": {
                "id": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile",
                "revision": 1
          },
          "subnetIds": [
            {
              "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNET/subnets/mySubnet"
            }
          ]
        },
        "zones": [
          "1",
          "2",
          "3"
        ]
      },

    "location": "West Central US"
}

Pasos siguientes

Creación de un grupo en espera para Azure Container Instances.