Todos os produtos
Search
Central de documentação

Elastic Container Instance:Usar repositórios de imagens autogerenciados

Última atualização: Sep 29, 2026

Por padrão, o Elastic Container Instance (ECI) baixa imagens via https. Se o seu repositório de imagens autogerenciado usar HTTP ou um certificado autoassinado, o download das imagens falhará com um evento ErrImagePull. Adicione a anotação apropriada ao seu pod ou ImageCache para corrigir esse problema.

Pré-requisitos

Antes de começar, certifique-se de que:

  • O ECI consiga acessar o seu repositório de imagens autogerenciado pela rede

Cenários de falha

A tabela a seguir descreve a causa e a solução para cada cenário de falha.

Cenário

Causa

Solução

O repositório autogerenciado usa HTTP

O ECI usa HTTPS por padrão. A incompatibilidade de protocolos causa falha no download.

Adicione a anotação k8s.aliyun.com/plain-http-registry e configure o ECI para usar HTTP nesse repositório.

O repositório autogerenciado usa HTTPS com um certificado autoassinado

O certificado autoassinado causa falha na autenticação.

Adicione a anotação k8s.aliyun.com/insecure-registry para ignorar a verificação do certificado.

Anotações

Configure o comportamento de download de imagens do ECI com as anotações a seguir. Adicione-as à seção metadata da especificação do seu pod ou do manifesto do ImageCache.

Importante

As anotações entram em vigor apenas quando um pod é criado. Adicionar ou atualizar anotações em um pod existente não surte efeito.

Anotação

Formato do valor

Descrição

k8s.aliyun.com/plain-http-registry

Um ou mais endereços de repositórios, separados por vírgulas. Inclua a porta se o endereço tiver uma. Exemplo: "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

Instrui o ECI a baixar do repositório especificado via HTTP em vez de HTTPS.

k8s.aliyun.com/insecure-registry

Um ou mais endereços de repositórios, separados por vírgulas. Inclua a porta se o endereço tiver uma. Exemplo: "harbor***.pre.com,192.168.XX.XX:5000,reg***.test.com:80"

Instrui o ECI a ignorar a verificação de certificado ao baixar do repositório especificado.

Exemplos

Crie um pod

Para um Deployment, adicione as anotações em spec.template.metadata, e não na seção metadata de nível superior.

Repositório HTTP

O ECI usa a anotação k8s.aliyun.com/plain-http-registry para baixar via HTTP a partir do endereço especificado.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      annotations:
        k8s.aliyun.com/plain-http-registry: "192.168.XX.XX:5000"
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
    spec:
      containers:
      - name: nginx
        image: 192.168.XX.XX:5000/test/nginx:latest

Repositório com certificado autoassinado

O ECI usa a anotação k8s.aliyun.com/insecure-registry para ignorar a verificação de certificado ao baixar a partir do endereço especificado.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  replicas: 4
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      annotations:
        k8s.aliyun.com/insecure-registry: "harbor***.pre.com"
      labels:
        app: nginx
        alibabacloud.com/eci: "true"
    spec:
      containers:
      - name: nginx
        image: harbor***.pre.com/test/nginx:latest

Crie um ImageCache

Adicione as anotações diretamente na seção metadata de nível superior do manifesto do ImageCache.

Repositório HTTP

apiVersion: eci.alibabacloud.com/v1
kind: ImageCache
metadata:
  name: imagecache-sample
  annotations:
    k8s.aliyun.com/plain-http-registry: "192.168.XX.XX:5000"
spec:
  images:
  - 192.168.XX.XX:5000/test/nginx:latest
  imagePullSecrets:
  - default:secret1
  - default:secret2
  - kube-system:secret3
  imageCacheSize:
   25
  retentionDays:
   7

Repositório com certificado autoassinado

apiVersion: eci.alibabacloud.com/v1
kind: ImageCache
metadata:
  name: imagecache-sample
  annotations:
    k8s.aliyun.com/insecure-registry: "harbor***.pre.com"
spec:
  images:
  - harbor***.pre.com/test/nginx:latest
  imagePullSecrets:
  - default:secret1
  - default:secret2
  - kube-system:secret3
  imageCacheSize:
   25
  retentionDays:
   7