Ao extrair uma imagem de um repositório de imagens autogerenciado, podem ocorrer falhas. As causas mais comuns incluem incompatibilidade de protocolo, erros de autenticação de certificado ou o uso de um servidor DNS personalizado. Este tópico descreve como extrair imagens de um repositório de imagens autogerenciado para criar uma carga de trabalho do ACS quando o repositório usa o protocolo HTTP, um certificado autoassinado ou um servidor DNS personalizado.
Contexto
Ao extrair uma imagem de um repositório de imagens autogerenciado, pode ocorrer o evento ErrImagePull, o que indica falha na extração da imagem. Se o seu cluster do ACS conseguir se conectar ao repositório de imagens pela rede, a tabela a seguir lista as causas e soluções mais comuns.
|
Cenário |
Causa |
Solução |
|
O repositório de imagens autogerenciado usa o protocolo HTTP. |
Por padrão, o ACS extrai imagens via HTTPS. A incompatibilidade de protocolos resulta em falha na extração da imagem. |
Configure o ACS para usar o protocolo HTTP na comunicação com o repositório de imagens. |
|
O repositório de imagens autogerenciado usa o protocolo HTTPS, mas com um certificado autoassinado. |
A extração da imagem falha porque o ACS não consegue autenticar o certificado autoassinado. |
Configure o ACS para ignorar a autenticação de certificado. |
|
O domínio do repositório de imagens autogerenciado usa um servidor DNS personalizado. |
Por padrão, o ACS usa o Alibaba Cloud DNS (100.100.2.136 e 100.100.2.138) para resolver o domínio do repositório de imagens. Se o registro de domínio do repositório existir apenas no seu servidor DNS personalizado, a extração da imagem falha. |
Configuração
Se você precisar extrair uma imagem de um repositório de imagens autogerenciado que use o protocolo HTTP ou um certificado autoassinado, configure as seguintes anotações no Pod para evitar falhas na extração de imagens.
|
Parâmetro |
Tipo |
Valor |
Descrição |
|
|
String |
|
Permite que o ACS extraia imagens via HTTP a partir de repositórios especificados. Isso evita falhas causadas por incompatibilidade de protocolo. |
|
|
String |
|
Permite que o ACS ignore a autenticação de certificado para repositórios que usam um certificado autoassinado. Isso evita falhas na extração causadas por erros de autenticação. |
Caso precise extrair imagens para vários contêineres a partir de repositórios diferentes, especifique vários endereços de repositório. Separe os endereços com uma vírgula (,), por exemplo, harbor***.pre.com,192.168.XX.XX.
O procedimento a seguir mostra um exemplo para uma aplicação stateless:
Faça login no console do ACS. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster de destino. No painel de navegação à esquerda, escolha Workloads > Deployments.
Na página Deployments, clique em Create from Image.
Na página Basic Information, insira as informações necessárias e clique em Next.
Na página Container, configure o contêiner e clique em Next.
Na página Advanced, na seção Pod Annotations, adicione as anotações necessárias. Por exemplo, adicione
registry.alibabacloud.com/plain-http-registryeregistry.alibabacloud.com/insecure-registrye, em seguida, clique em Create.