Escolhendo uma política de tração de imagem em Kubernetes

Escolhendo uma política de tração de imagem em Kubernetes

Este artigo aponta os inúmeros benefícios que você pode alcançar usando uma política de tração de imagem em Kubernetes e como escolher adequadamente uma política de tração de imagem e os fatores dos quais devemos ter cuidado ao escolher uma política de tração de imagem. Você encontrará todos os detalhes aqui com explicação adequada. Você também encontrará as informações sobre os benefícios de usar uma política de tração de imagem e quais fatores você deve considerar ao escolher. Vamos começar com a definição de política de puxão de imagem de Kubernetes.

O que é a política de puxão de imagem Kubernetes Kubernetes?

A política de imagem de Kubernetes é um mecanismo em Kubernetes que permite restringir as imagens que podem ser puxadas de um repositório. As imagens podem ser puxadas usando o comando Kubeadm Image Pull ou como parte de um manifesto de implantação. A política de tração de imagem pode ser configurada para um espaço de nome específico, um pod ou um conjunto de pods usando solicitações e limites de recursos.

Tipo de modos

Tem três modos:

  • Permita que qualquer imagem seja puxada para o espaço para nome.
  • Permita apenas as imagens que correspondem a um critério específico (e.g., tag) a ser puxado para o espaço para nome.
  • Restringir todas as imagens de serem puxadas para o espaço para nome.

O objeto de política de imagem define a lista de tags de imagem permitidas e a lista de tags proibidas. O objeto de política de imagem é aplicado a um espaço para nome. Então, ele se aplica a todos os pods que são criados nele.

Uma política de tração de imagem se parece mais disso:

especificação:
containers:
- Nome: NginxDeployment
Imagem: Nginx: Último
ImagePullPolicy: ifnotpresent
Portas:
- Containerport: 80

O termo "imgepullpolicy: ifnotpresent" é exibido aqui. Atualmente tem o valor Ifnotpresent. Isso indica que, se a imagem do contêiner ainda não estiver presente no host ou trabalhador que implanta o aplicativo Kubernetes, esta opção o puxará. No caso do Nginx: mais recente imagem de contêiner, por exemplo, o Kubernetes não vai puxar (baixar) se a imagem já existir.

Quais são os benefícios de usar uma política de tração de imagem?

Usando uma política de imagem em suas implantações Kubernetes tem inúmeras vantagens. A vantagem mais óbvia é que ajuda a garantir que suas imagens sejam consistentes e atualizadas.

No entanto, existem muitos outros benefícios além disso se você implementar uma política de imagem. Aqui estão algumas das vantagens de empregar uma política de imagem em suas implantações de Kubernetes:

As imagens são atuais e consistentes

Isso permite que você atualize seu aplicativo de forma consistente sempre que novos recursos forem adicionados ou quando novas vulnerabilidades são descobertas. Essa consistência permite que você simplifique seu processo de implantação e reduza o tempo de inatividade para seus usuários, garantindo que todos os seus aplicativos sempre tenham os mesmos recursos e a mesma imagem base.

Ajuda você a simplificar seu processo de implantação

Uma política de tração de imagem é um conjunto de melhores práticas que ajudam a simplificar seu processo de implantação, automatizando a maioria das tarefas que você geralmente executa manualmente. Por exemplo, você pode criar uma política de tração de imagem que instale automaticamente todas as dependências necessárias para o seu aplicativo em recipiente novo sem exigir que você digite qualquer um dos comandos.

Aumento da precisão

Como o Image Pull é uma política que especifica como as imagens são extraídas do armazenamento remoto por padrão, o Kubernetes usa a imagem mais recente do repositório especificado. No entanto, o uso de uma política de tração de imagem garante que a imagem usada seja sempre a mesma que a que é especificada na política. Isso é especialmente importante se você usar um registro externo para armazenar suas fotos, pois as imagens armazenadas nesse registro podem diferir daquelas que são armazenadas no cluster de Kubernetes.

Quais fatores a serem considerados ao escolher uma política de tração de imagem

Os muitos benefícios de usar as políticas de puxão de imagem fazem valer a pena sair do nosso caminho para implementá -las. Mas há muitas coisas a levar em consideração ao selecionar uma política de tração de imagem para uma implantação de Kubernetes.

Aqui estão alguns dos fatores críticos que você deve considerar:

A frequência das atualizações de imagem

Com que frequência você precisa atualizar as imagens que você usa em seus aplicativos contêinerizados?

Sua decisão sobre como gerenciar seu repositório de imagem deve se basear na resposta a esta pergunta. Se o aplicativo tiver vida longa, pode ser necessário escolher o Git-LFS para manter um histórico das tags e conteúdo da imagem ao longo do tempo. Para aplicações de curto prazo, o uso do Git pode ser um desperdício de recursos, pois exige que você mantenha um histórico dos bolhas em seu repositório, aumentando o tamanho do armazenamento. Se o seu aplicativo não exigir um registro, pode ser mais econômico usar algo como um webhook para atualizar a tag de uma imagem de um contêiner toda vez que uma nova imagem é empurrada para o repositório. Usando o registro do Docker Hub, você pode usar a política de tração de imagem do repositório para gerenciar como suas fotos são atualizadas com base nos requisitos de seu aplicativo.

Suporte de formato de imagem

Que formatos de imagens seu aplicativo usa? Aplicações diferentes podem usar outros formatos de imagem, dependendo do tipo de recipiente que eles estão usando. Por exemplo, você pode executar um contêiner alpino Linux que usa por padrão, enquanto um aplicativo PHP usa uma imagem baseada no CentOS.

As políticas não devem ser muito restritivas

Um dos fatores mais críticos que você deve considerar ao escolher uma imagem para puxar a política é garantir que as políticas não sejam muito restritivas e permitir uma inovação contínua.

As políticas não devem ser muito confusas

As políticas devem ser escritas de uma maneira que possa ser entendida pelos desenvolvedores, mas também pelos auditores e profissionais de segurança.

Tendo equilíbrio nas políticas

É vital ter um equilíbrio entre essas políticas, pois elas afetam o quão fácil é para os desenvolvedores escreverem o código e implantá -lo.

Conclusão

Este artigo aponta qual é a política de tração de imagem de Kubernetes. E devido aos muitos benefícios do uso das políticas de puxar da imagem, também discutimos por que devemos nos esforçar para usar as políticas de puxar a imagem. Este artigo discute mais os fatores que você deve considerar antes de escolher uma política de tração de imagem para garantir que as políticas de tração da imagem sejam mais adequadas às suas necessidades.