Condividi tramite


Pool di standby per Istanze di Azure Container (anteprima)

Importante

I pool di standby per Istanze di Azure Container sono attualmente in anteprima. Le anteprime vengono rese disponibili a condizione che l'utente accetti le condizioni supplementari per l'utilizzo. Alcuni aspetti di questa funzionalità potrebbero subire modifiche prima della disponibilità a livello generale.

I pool di standby per Istanze di Azure Container consentono di creare un pool di gruppi di contenitori con provisioning preliminare che possono essere usati in risposta al traffico in ingresso. I gruppi di contenitori nel pool vengono sottoposti a provisioning completo, inizializzati e pronti per ricevere il lavoro.

Diagramma del flusso di lavoro di creazione di un contenitore usando il percorso tradizionale e il percorso del pool di standby.

Limiti

I pool di standby per Istanze di Azure Container non sono disponibili nella portale di Azure.

Prerequisiti

Registrazione delle funzionalità

Registrare il provider di risorse del pool di standby e la funzionalità di anteprima del pool di standby nella sottoscrizione usando Azure Cloud Shell. La visualizzazione del completamento corretto della registrazione può richiedere fino a 30 minuti. È possibile rieseguire i comandi seguenti per determinare quando la funzionalità è stata registrata correttamente.

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

Autorizzazioni del Controllo degli accessi in base al ruolo

Per consentire ai pool di standby di creare gruppi di contenitori nella sottoscrizione, assegnare le autorizzazioni appropriate al provider di risorse del pool di standby.

  1. Nel portale di Azure passare alle sottoscrizioni.
  2. Selezionare la sottoscrizione che si vuole modificare le autorizzazioni.
  3. Seleziona Controllo di accesso (IAM).
  4. Selezionare Aggiungi e Aggiungi assegnazione di ruolo.
  5. Nella scheda Ruolo cercare Collaboratore pool di gruppi di contenitori standby e selezionarlo.
  6. Passare alla scheda Membri .
  7. Seleziona + Seleziona membri.
  8. Cercare Provider di risorse pool di standby e selezionarlo.
  9. Passare alla scheda Rivedi e assegna .
  10. Applicare le modifiche.
  11. Ripetere i passaggi precedenti anche per il ruolo collaboratore Istanze di Azure Container e il collaboratore di rete al provider di risorse del pool di standby.

Per altre informazioni sull'assegnazione dei ruoli, vedere Assegnare ruoli di Azure usando il portale di Azure.

Uso di un contenitore dal pool di standby

Quando è necessario un nuovo gruppo di contenitori, è possibile eseguire immediatamente il pull di un gruppo dal pool di standby di cui è stato effettuato il provisioning e l'esecuzione.

I pool di standby forniscono solo gruppi di contenitori dal pool con provisioning completo e pronti per ricevere il lavoro. Ad esempio, quando le istanze nel pool sono ancora inizializzate, non sono nello stato in esecuzione e non vengono fornite quando viene richiesto un contenitore. Se non sono disponibili istanze nel pool, per impostazione predefinita Istanze di Azure Container verrà nuovamente creata una nuova istanza del gruppo di contenitori.

Dimensioni del pool di standby

Il numero di gruppi di contenitori in un pool di standby è determinato impostando il maxReadyCapacity parametro . Quando un gruppo di contenitori viene utilizzato dal pool, il pool di standby inizia automaticamente a ricaricarsi assicurando che il pool di standby mantenga la capacità massima pronta impostata.

L'unico criterio di riempimento disponibile per i pool di standby nelle istanze di Azure Container è Always.

Impostazione Descrizione
maxReadyCapacity Numero massimo di gruppi di contenitori da distribuire nel pool.
refillPolicy Indica al pool di standby di rifornire immediatamente i gruppi di contenitori per mantenere maxReadyCapacity.

Profilo del gruppo di contenitori

Un profilo del gruppo di contenitori indica al pool di standby come configurare i contenitori nel pool. Se si apportano modifiche al profilo del gruppo di contenitori, è anche necessario aggiornare il pool di standby per assicurarsi che gli aggiornamenti vengano applicati alle istanze del pool.

{
    "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"
            }
        }


Mappe di configurazione

Una mappa di configurazione è una proprietà che può essere associata a un profilo di gruppo di contenitori e che può essere usata per applicare configurazioni del contenitore simili alle variabili di ambiente e ai volumi segreti. Tuttavia, quando si usano variabili di ambiente o volumi segreti, per rendere effettive le modifiche è necessario riavviare il pod. Usando le mappe di configurazione, le configurazioni possono essere applicate senza riavviare il contenitore. Ciò consente aggiornamenti fuori banda in modo che i contenitori possano leggere i nuovi valori senza riavviare.

Istanze di Azure Container può essere creato con o senza mappe di configurazione e può essere aggiornato in qualsiasi momento dopo la creazione usando le mappe di configurazione. L'aggiornamento delle mappe di configurazione in un gruppo di contenitori in esecuzione esistente può essere eseguito rapidamente e senza causare il riavvio del contenitore.

Per altre informazioni, vedere Usare le mappe di configurazione.

{
    "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}"
}

Contenitori riservati

I pool di standby per le istanze di Azure Container supportano contenitori riservati. Per usare i contenitori riservati, aggiornare il sku tipo a Confidential nel profilo del gruppo di contenitori.

Importante

I valori passati tramite mappe di configurazione non sono inclusi nei criteri di sicurezza o convalidati dal runtime prima che il montaggio del file venga reso disponibile per il contenitore. I valori che potrebbero avere un impatto sui dati o sulla sicurezza dell'applicazione non possono essere considerati attendibili dall'applicazione durante l'esecuzione e devono invece essere resi disponibili al contenitore usando variabili di ambiente.

{
    "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"
            }
        }


Identità gestita

I pool di standby per Istanze di Azure Container supportano l'integrazione con Identità gestita. L'applicazione di un'identità gestita viene eseguita quando si richiede un contenitore dal pool di standby e vengono inclusi i identity parametri e le impostazioni. L'identità gestita non è una proprietà supportata direttamente nel profilo del gruppo di contenitori.

{
   "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}"
                           }
                       }
                   }
               }
           ]
   }
}

Zone di disponibilità

I pool di standby per Istanze di Azure Container supportano la creazione e la richiesta di contenitori tra zone di disponibilità. La creazione di un pool di standby di zona è attualmente disponibile solo usando le API REST del pool di standby usando la versione 2024-08-01-preview e disponibile solo nell'area India centrale.

Creare un pool di standby di zona

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"
}

Passaggi successivi

Creare un pool di standby per Istanze di Azure Container.