Pools em espera para instâncias de contêiner do Azure (visualização)
Importante
Os pools em espera para Instâncias de Contêiner do Azure estão atualmente em visualização. As pré-visualizações são disponibilizadas a si na condição de concordar com os termos suplementares de utilização. Alguns aspetos desta funcionalidade podem alterar-se após a disponibilidade geral (GA).
Os pools em espera para Instâncias de Contêiner do Azure permitem que você crie um pool de grupos de contêineres pré-provisionados que podem ser usados em resposta ao tráfego de entrada. Os grupos de contêineres no pool são totalmente provisionados, inicializados e prontos para receber trabalho.
Limitações
Os pools em espera para Instâncias de Contêiner do Azure não estão disponíveis no portal do Azure.
Pré-requisitos
Registo de Funcionalidades
Registre o provedor de recursos do pool em espera e o recurso de visualização do pool em espera com sua assinatura usando o Azure Cloud Shell. O registro pode levar até 30 minutos para ser exibido com sucesso como registrado. Você pode executar novamente os comandos abaixo para determinar quando o recurso é registrado com êxito.
Register-AzResourceProvider -ProviderNameSpace Microsoft.ContainerInstance
Register-AzResourceProvider -ProviderNamespace Microsoft.StandbyPool
Register-AzProviderFeature -FeatureName StandbyContainerGroupPoolPreview -ProviderNamespace Microsoft.StandbyPool
Permissões de controle de acesso baseadas em função
Para permitir que pools em espera criem grupos de contêineres em sua assinatura, atribua as permissões apropriadas ao provedor de recursos do pool em espera.
- No portal do Azure, navegue para as subscrições.
- Selecione a subscrição que pretende ajustar as permissões.
- Selecione Controlo de Acesso (IAM).
- Selecione Adicionar e Adicionar atribuição de função.
- Na guia Função, procure por Colaborador do Pool de Contêineres em Espera e selecione-o.
- Vá para a guia Membros .
- Selecione + Selecionar membros.
- Procure por Provedor de Recursos do Pool em Espera e selecione-o.
- Vá para a guia Revisar + atribuir .
- Aplique as alterações.
- Repita as etapas acima também atribuindo a Função de Colaborador de Instâncias de Contêiner do Azure e o Colaborador de Rede ao Provedor de Recursos do Pool em Espera.
Para obter mais informações sobre como atribuir funções, consulte Atribuir funções do Azure usando o portal do Azure.
Usando um contêiner do pool de espera
Quando você precisar de um novo grupo de contêineres, poderá extrair imediatamente um do pool em espera que está provisionado e em execução.
Os pools em espera só distribuem grupos de contêineres do pool que estão totalmente provisionados e prontos para receber trabalho. Por exemplo, quando as instâncias em seu pool ainda estão sendo inicializadas, elas não estão no estado de execução e não são distribuídas quando um contêiner é solicitado. Se nenhuma instância no pool estiver disponível, as Instâncias de Contêiner do Azure voltarão por padrão para a criação de novo grupo de contêineres líquidos.
Tamanho da piscina em standby
O número de grupos de contêineres em um pool de espera é determinado pela definição do maxReadyCapacity
parâmetro. Quando um grupo de contêineres é consumido do pool, o pool em espera começa automaticamente a ser reabastecido, garantindo que o pool em espera mantenha a capacidade máxima pronta definida.
A única política de recarga disponível para pools em espera em instâncias de Contêiner do Azure é Always
.
Definição | Descrição |
---|---|
maxReadyCapacidade | O número máximo de grupos de contêineres que você deseja implantar no pool. |
refilPolítica | Diz ao pool de espera para reabastecer imediatamente os grupos de contêineres para manter o maxReadyCapacity. |
Perfil do grupo de contêineres
Um perfil de grupo de contêineres informa ao pool em espera como configurar os contêineres no pool. Se você fizer alterações no perfil do grupo de contêineres, também precisará atualizar seu pool em espera para garantir que as atualizações sejam aplicadas às instâncias no 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"
}
}
Mapas de configuração
Um mapa de configuração é uma propriedade que pode ser associada a um perfil de grupo de contêineres e ser usada para aplicar configurações de contêiner semelhantes a variáveis de ambiente e volumes secretos. No entanto, ao usar variáveis de ambiente ou volumes secretos, é necessário reiniciar o pod para que as alterações entrem em vigor. Usando mapas de configuração, as configurações podem ser aplicadas sem reiniciar o contêiner. Isso permite atualizações fora de banda para que os contêineres possam ler os novos valores sem reiniciar.
As Instâncias de Contêiner do Azure podem ser criadas com ou sem mapas de configuração e podem ser atualizadas a qualquer momento após a criação usando mapas de configuração. A atualização de mapas de configuração em um grupo de contêineres em execução existente pode ser realizada rapidamente e sem causar a reinicialização do contêiner.
Para obter mais informações, consulte Usar mapas de configuração.
{
"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}"
}
Contentores confidenciais
Os pools de espera para instâncias de contêiner do Azure dão suporte a contêineres confidenciais. Para utilizar contêineres confidenciais, atualize o sku
tipo para Confidential
no perfil do grupo de contêineres.
Importante
Os valores passados usando mapas de configuração não são incluídos na política de segurança ou validados pelo tempo de execução antes que a montagem do arquivo seja disponibilizada para o contêiner. Quaisquer valores que possam ter um impacto na segurança dos dados ou do aplicativo não podem ser confiáveis pelo aplicativo durante a execução e, em vez disso, devem ser disponibilizados para o contêiner usando variáveis de 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"
}
}
Identidade Gerida
Os pools de espera para Instâncias de Contêiner do Azure oferecem suporte à integração com a Identidade Gerenciada. A aplicação de uma identidade gerenciada é executada ao solicitar um contêiner do pool em espera e inclui os identity
parâmetros e as configurações. A Identidade Gerenciada não é uma propriedade suportada diretamente no perfil do grupo de contêineres.
{
"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 disponibilidade
Os pools em espera para Instâncias de Contêiner do Azure dão suporte à criação e solicitação de contêineres em zonas de disponibilidade. A criação de um pool zonal em espera está atualmente disponível apenas usando as APIs REST do pool de espera usando a versão 2024-08-01-preview e disponível apenas na região Índia Central.
Criar um pool zonal standby
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"
}
Próximos passos
Crie um pool em espera para Instâncias de Contêiner do Azure.