Você pode chamar a operação CreateImageCache para criar um cache de imagem. Isso acelera o pull de imagens e reduz o tempo de inicialização das instâncias do Elastic Container Instance (ECI).
Descrição da operação
Precauções
-
A criação de um cache de imagem incorre em taxas. Revise as informações de cobrança antes de continuar. Para mais informações, consulte Cobrança de cache de imagem.
-
Antes de criar um cache de imagem, avalie o tamanho total das imagens a serem armazenadas em cache. Se o tamanho total da imagem exceder o tamanho do cache, a criação falhará.
-
Ao criar um cache de imagem, o sistema cria automaticamente uma instância ECI e um disco Enhanced SSD (ESSD) PL1. Não exclua a instância ECI ou o disco durante o processo de criação. Caso contrário, o cache de imagem não poderá ser criado.
-
Ao criar um cache de imagem, um snapshot correspondente é gerado. Não exclua o snapshot. Caso contrário, o cache de imagem se tornará inválido.
-
Se você usar um kit de desenvolvimento de software (SDK), certifique-se de usar uma das seguintes versões ou uma versão posterior: Java 1.0.10 ou Python 1.0.7.
Sugestões de uso
-
Para ativar o acesso sem senha para imagens de uma instância ACR Enterprise que usa um nome de domínio personalizado, defina os parâmetros AcrRegistryInfo. Ao definir os parâmetros AcrRegistryInfo, você também deve definir o parâmetro AcrRegistryInfo.N.InstanceId.
-
Se o cache de imagem for usado para criar mais de 1.000 instâncias ECI em um lote, defina os parâmetros StandardCopyCount e FlashCopyCount para criar várias réplicas de snapshot. Várias réplicas de snapshot são cobradas com base no tamanho incremental dos dados. Como os dados nas réplicas de snapshot são os mesmos, nenhuma taxa adicional é incorrida.
Ao chamar a operação CreateImageCache, o sistema cria automaticamente a função vinculada ao serviço AliyunServiceRoleForECI. Essa função é usada para acessar outros serviços da Alibaba Cloud, como ECS e VPC. Para mais informações, consulte Função vinculada ao serviço para Elastic Container Instance.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
eci:CreateImageCache |
create |
*ImageCache
|
|
Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| RegionId |
string |
Sim |
O ID da região. |
cn-hangzhou |
| RegionId |
string |
Sim |
O ID da região. |
cn-hangzhou |
| ZoneId |
string |
Não |
A zona. |
cn-hangzhou-g |
| SecurityGroupId |
string |
Não |
O ID do grupo de segurança. |
sg-uf66jeqopgqa9hdn**** |
| VSwitchId |
string |
Não |
O ID do vSwitch. Você pode especificar até 10 IDs de vSwitch, separados por vírgulas (,). Por exemplo, |
vsw-uf6h3rbwbm90urjwa**** |
| ImageCacheName |
string |
Sim |
O nome do cache de imagem. |
testcache |
| EipInstanceId |
string |
Não |
O EIP. Para fazer o pull de imagens da Internet, certifique-se de que a instância ECI possa acessar a Internet. Para ativar o acesso à Internet, configure um EIP ou um NAT Gateway. |
eip-2zedsm5mfl3uhdj2d**** |
| ResourceGroupId |
string |
Não |
O ID do grupo de recursos. |
rg-aekzh43v***** |
| ClientToken |
string |
Não |
Um token de cliente para garantir a idempotência da solicitação. Gere um valor a partir do seu cliente para garantir que o valor seja exclusivo entre diferentes solicitações. O token pode conter apenas caracteres ASCII e não pode exceder 64 caracteres de comprimento. Para mais informações, consulte Como garantir a idempotência. |
123e4567-xxx-xxx-xxxx-42665544xxxx |
| ImageCacheSize |
integer |
Não |
O tamanho do cache de imagem. O valor padrão é 20 GiB. |
20 |
| RetentionDays |
integer |
Não |
O período de retenção do cache de imagem. O cache de imagem é limpo após o término do período de retenção. Por padrão, o cache de imagem nunca expira. Nota
Um cache de imagem cuja criação falha é retido por apenas um dia. |
7 |
| AutoMatchImageCache |
boolean |
Não |
Especifica se deve ativar a reutilização de cache de imagem. Se você ativar esse recurso, novos caches de imagem poderão reutilizar as camadas de imagem dos caches de imagem existentes. Isso acelera a criação de caches de imagem. Valores válidos:
Valor padrão: false. |
true |
| ImageRegistryCredential |
array<object> |
Não |
As credenciais do repositório de imagens. |
|
|
object |
Não |
As credenciais do repositório de imagens. |
||
| Password |
string |
Não |
A senha do repositório de imagens. |
password |
| Server |
string |
Não |
O endereço do repositório de imagens. Não inclua o prefixo |
registry-vpc.cn-hangzhou.aliyuncs.com |
| UserName |
string |
Não |
O nome de usuário do repositório de imagens. |
username |
| Image |
array |
Sim |
As imagens de contêiner usadas para criar o cache de imagem. |
registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl |
|
string |
Não |
As imagens de contêiner usadas para criar o cache de imagem. |
registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.15.10-perl |
|
| Tag |
array<object> |
Não |
As tags do cache de imagem. Você pode especificar até 20 tags. |
|
|
object |
Não |
As tags do cache de imagem. Você pode especificar até 20 tags. |
||
| Key |
string |
Não |
A chave da tag do cache de imagem. |
imc |
| Value |
string |
Não |
O valor da tag do cache de imagem. |
test |
| Flash |
boolean |
Não |
Especifica se deve ativar o recurso de cache de imagem instantâneo. Se você ativar esse recurso, a criação do cache de imagem é acelerada. Valores válidos:
Valor padrão: false. |
true |
| AcrRegistryInfo |
array<object> |
Não |
As informações sobre a instância ACR. Para mais informações, consulte Usar um método sem senha para fazer pull de imagens de um repositório ACR. |
|
|
object |
Não |
As informações sobre a instância ACR. |
||
| Domain |
array |
Não |
Os nomes de domínio da instância ACR Enterprise. Por padrão, todos os nomes de domínio da instância são especificados. Você pode especificar um ou mais nomes de domínio. Separe vários nomes de domínio com vírgulas (,). |
test****-registry.cn-beijing.cr.aliyuncs.com |
|
string |
Não |
Os nomes de domínio da instância ACR Enterprise. Por padrão, todos os nomes de domínio da instância são especificados. Você pode especificar um ou mais nomes de domínio. Separe vários nomes de domínio com vírgulas (,). |
test****-registry.cn-beijing.cr.aliyuncs.com |
|
| InstanceName |
string |
Não |
O nome da instância ACR Enterprise. |
test**** |
| InstanceId |
string |
Não |
O ID da instância ACR Enterprise. |
cri-nwj395hgf6f3**** |
| RegionId |
string |
Não |
A região onde a instância ACR Enterprise está localizada. |
cn-beijing |
| ArnService |
string |
Não |
O Alibaba Cloud Resource Name (ARN) da função RAM que pertence à conta do recurso, como uma instância ECI. |
acs:ram::1609982529******:role/role-assume |
| ArnUser |
string |
Não |
O ARN da função RAM que pertence à conta da instância ACR. |
acs:ram::1298452580******:role/role-acr |
| Annotations |
string |
Não |
As anotações. Este parâmetro não é para uso externo. |
hide |
| PlainHttpRegistry |
string |
Não |
O endereço de um repositório de imagens autogerenciado. Ao criar um cache de imagem usando uma imagem de um repositório de imagens autogerenciado que usa o protocolo HTTP, defina este parâmetro para permitir que o ECI faça o pull da imagem via HTTP. Isso evita falhas no pull de imagens causadas por incompatibilidade de protocolo. |
"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" |
| InsecureRegistry |
string |
Não |
O endereço de um repositório de imagens autogerenciado. Ao criar um cache de imagem usando uma imagem de um repositório de imagens autogerenciado que usa um certificado autoassinado, defina este parâmetro para ignorar a verificação de certificado. Isso evita falhas no pull de imagens causadas por falhas na verificação de certificado. |
"harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80" |
| StandardCopyCount |
integer |
Não |
O número de réplicas de snapshot padrão. Por padrão, um cache de imagem corresponde a um snapshot. Se o cache de imagem for usado para criar várias instâncias ECI em um lote, crie várias réplicas de snapshot. Adicione uma réplica de snapshot para cada 1.000 instâncias ECI. Nota
Se o recurso de cache de imagem instantâneo estiver desativado (Flash definido como false), apenas snapshots padrão serão criados durante o processo de criação do cache de imagem. |
7 |
| FlashCopyCount |
integer |
Não |
O número de réplicas de snapshot local. Por padrão, um cache de imagem corresponde a um snapshot. Se o cache de imagem for usado para criar várias instâncias ECI em um lote, crie várias réplicas de snapshot. Adicione uma réplica de snapshot para cada 1.000 instâncias ECI. Nota
Se o recurso de cache de imagem instantâneo estiver ativado (Flash definido como true), os snapshots locais são criados primeiro durante o processo de criação do cache de imagem. Após a criação dos snapshots locais, os snapshots padrão são criados. Após a criação dos snapshots padrão, os snapshots locais são excluídos automaticamente. |
7 |
| EliminationStrategy |
string |
Não |
A política de evicção do cache de imagem. O valor padrão é vazio, o que indica que o cache de imagem é sempre retido. Você pode definir este parâmetro como LRU, o que indica que o cache de imagem pode ser excluído automaticamente. Quando o número de caches de imagem atinge o limite de cota, o sistema exclui automaticamente os caches de imagem que foram usados menos recentemente e têm EliminationStrategy definido como LRU. |
LRU |
| OsType |
string |
Não |
O sistema operacional da imagem de contêiner. Valores válidos:
Nota
O Windows está em pré-visualização por convite. Para usar este recurso, envie um ticket. |
Linux |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| RequestId |
string |
O ID da solicitação. |
0E234675-3465-4CC3-9D0F-9A864BC391DD |
| ImageCacheId |
string |
O ID do cache de imagem. |
imc-2zebxkiifuyzzlhl**** |
| ContainerGroupId |
string |
O ID da instância ECI que é usada para criar o cache de imagem. |
eci-2zebxkiifuyzzlhl**** |
Exemplos
Resposta de sucesso
JSON formato
{
"RequestId": "0E234675-3465-4CC3-9D0F-9A864BC391DD",
"ImageCacheId": "imc-2zebxkiifuyzzlhl****",
"ContainerGroupId": "eci-2zebxkiifuyzzlhl****"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | Account.Arrearage | Your account has an outstanding payment. | Your account has an outstanding payment. |
| 400 | DryRunOperation | Request validation has been passed with DryRun flag set. | Request validation has been passed with DryRun flag set. |
| 400 | InvalidParameter.CPU.Memory | The specified cpu and memory are not allowed | |
| 400 | IncorrectStatus | %s | |
| 400 | ServiceNotEnabled | %s | The service on which this request depends has not been activated. Please activate and try again. |
| 400 | DiskVolume.NotSupport | The disk volume is not supported. | Disk volume does not support your structure. If you want to enable this function, contact us. |
| 400 | RamRole.NotSupport | The RAM role is not supported. | The RAM role is not supported. |
| 400 | ImageCache.IncorrectStatus | %s | |
| 400 | ImageCacheNotSupport | Image cache is not available for all users. If you want to enable this function, contact us. | Container image cache is currently not available to all users. Submit a ticket if you need to use the feature. |
| 400 | EipAddressPoolIpNotEnough | The ip address of specified PublicIpAddressPool is not enough. | |
| 400 | OperationConflict | The request was denied. It conflicts with a previous request. | |
| 403 | OperationDenied.VswZoneMisMatch | The specified VSwitchId is not in the specified Zone. | |
| 403 | QuotaExceeded | %s quota exceeded. | |
| 403 | Zone.NotOnSale | The specified zone is not available for purchase. | |
| 403 | Forbidden.RiskControl | This operation has been identified as an abnormal operation and cannot be processed. | |
| 403 | Forbidden.SubUser | The specified action is not available for you. | |
| 403 | Forbidden.OnlyForInvitedTest | Eci create action is only open to invited users during public beta. | |
| 403 | OperationDenied.SecurityGroupMisMatch | The specified VSwitchId and SecurityGroupId are not in the same VPC. | |
| 403 | InvalidVSwitchId.IpNotEnough | The specified VSwitch does not have enough IP addresses. | |
| 403 | Forbidden.UserBussinessStatus | This operation is not allowed, because you have overdue bills. Pay the overdue bill and try again. | |
| 403 | Forbidden.UserNotRealNameAuthentication | This operation is not allowed, because you have not passed the real-name verification. | |
| 403 | InvalidUser.PassRoleForbidden | The RAM user is not authorized to assume a RAM role. | The RAM user is not authorized to assume a RAM role. |
| 403 | OperationDenied.NoStock | Sales of this resource are temporarily suspended in the specified zone. We recommend that you use the multi-zone creation function to avoid the risk of insufficient resource. For more information, see https://www.alibabacloud.com/help/document_detail/157290.html | |
| 403 | NoPermission | The RAM role AliyunECIContainerGroupRole does not belong to eci.aliyuncs.com. Please check and try again. | |
| 403 | SecurityRisk.3DVerification | We have detected a security risk with your default credit or debit card. Please proceed with verification via the link in your email. | |
| 403 | CreateServiceLinkedRole.Denied | Please make sure the account has ram:CreateServiceLinkedRole permission. | Please make sure the account has ram:CreateServiceLinkedRole permission. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.