Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official.

Importar imagens

As imagens de contêiner são armazenadas em cache localmente em cada nó pelo repositório de imagens containerd. As imagens podem ser puxadas do registro conforme necessário pelos pods, pré-carregadas via pull de imagem ou importadas de um tarball de imagem.

Puxada de imagem sob demanda

O Kubernetes, por padrão, puxa automaticamente as imagens quando um Pod as requer, se a imagem não estiver presente no nó. Esse comportamento pode ser alterado usando o campo política de pull de imagem do Pod. Ao usar a política padrão IfNotPresent, o containerd puxará a imagem de upstream (padrão) ou do seu registro privado e a armazenará em seu repositório de imagens containerd. Os usuários não precisam aplicar nenhuma configuração adicional para que a puxada de imagem sob demanda funcione.

Pré-importar imagens

Versão Gate

O recurso de pré-importação de imagens enquanto o K3s está em execução está disponível a partir das versões de janeiro de 2025: v1.32.0+k3s1, v1.31.5+k3s1, v1.30.9+k3s1, v1.29.13+k3s1. Antes disso, o K3s pré-importava as imagens apenas durante a inicialização.

Pré-importar imagens no nó é essencial se você configurar o imagePullPolicy do Kubernetes como Never. Você pode fazer isso por razões de segurança ou para reduzir o tempo que leva para seus nós K3s serem iniciados.

O K3s inclui dois mecanismos para pré-importar imagens no repositório de imagens containerd:

  • Importação de imagem online

  • Importação de imagens offline

Os usuários podem acionar um pull de imagens para o armazenamento de imagens do containerd colocando um arquivo de texto contendo os nomes das imagens, um por linha, no diretório /var/lib/rancher/k3s/agent/images. O arquivo de texto pode ser colocado antes do K3s ser iniciado, bem como criado ou modificado enquanto o K3s está em execução. O K3s puxa as imagens sequencialmente via a API CRI, utilizando opcionalmente a configuração registries.yaml.

Por exemplo:

mkdir /var/lib/rancher/k3s/agent/images
cp example.txt /var/lib/rancher/k3s/agent/images

Onde example.txt contém:

docker.io/library/redis:latest
docker.io/library/mysql:latest

Após alguns segundos, as imagens redis e mysql estão disponíveis no repositório de imagens containerd do nó.

Use sudo k3s ctr images list para consultar o repositório de imagens containerd.

Os usuários podem importar imagens diretamente para o repositório de imagens containerd colocando tarballs de imagem no diretório /var/lib/rancher/k3s/agent/images. O tarball pode ser colocado antes do K3s ser iniciado, bem como criado ou modificado enquanto o K3s está em execução. O K3s descomprime o tarball de imagem se necessário, extrai as imagens e as carrega no repositório de imagens containerd.

Por exemplo:

mkdir /var/lib/rancher/k3s/agent/images
curl  https://github.com/k3s-io/k3s/releases/download/v1.33.1%2Bk3s1/k3s-airgap-images-amd64.tar.zst -O  /var/lib/rancher/k3s/agent/images/k3s-airgap-images-amd64.tar.zst

Após alguns segundos, as imagens incluídas no tarball de imagem estão disponíveis no repositório de imagens containerd do nó.

Use sudo k3s ctr images list para consultar o repositório de imagens containerd.

Este é o método utilizado em ambientes air-gapped. Por favor, siga a documentação de instalação air-gap para informações detalhadas.

Configurar um registro de imagens

O K3s suporta duas alternativas para registros de imagens: