O que é o Helm?

Copiar URL

O desenvolvimento de aplicações no Kubernetes é complexo. Uma única aplicação pode exigir a instalação, o gerenciamento e a atualização de centenas de configurações. 

O Helm simplifica esse processo automatizando a distribuição de suas aplicações usando um formato de pacote chamado gráfico Helm. Assim como o Yum gerencia pacotes RPM para o Red Hat® Enterprise Linux®, o Helm gerencia gráficos Helm para o Kubernetes. Gráficos mantêm a consistência nos containers e, ao mesmo tempo, determina como atender aos requisitos específicos de uma aplicação.

Como gerenciador de pacotes para Kubernetes, o Helm permite que você aplique o mesmo framework de configuração a várias instâncias usando substituições de variável, com base no que é mais importante para sua configuração. 

Helm logo

Curiosidade: o Helmé um projeto de código aberto que se originou da Cloud Native Computing Foundation (CNCF). Ele foi apresentado pela primeira vez em 2015, na estreia da KubeCon, e migrou para a CNCF com o Kubernetes.

O Helm opera descrevendo a aplicação desde a definição até o upgrade em algo conhecido como um gráfico Helm. Ele utiliza gráficos (semelhantes a um template) para transferir recursos para seu cluster Kubernetes usando a API Kubernetes. 

Além disso, o Helm utiliza uma única ferramenta de interface de linha de comando (CLI) chamada helm para gerenciar o gráfico Helm, junto com alguns comandos simples que permitem criar, gerenciar e configurar sua aplicação. 

Saiba mais sobre o Helm e o Red Hat OpenShift

Recursos da Red Hat

Os gráficos Helm são um conjunto de arquivos que descrevem os recursos do cluster Kubernetes e os empacotam como uma aplicação. Eles compreendem três componentes básicos: 

  • Gráfico: o arquivo chart.yaml define os metadados da aplicação, como nome, versão, dependências etc. 
  • Valores: o arquivo values.yamlestabelece as variáveis que permitirão personalizar e reutilizar seu gráfico através de substituições de valores.
    • Você também pode ter um esquema JSON de valores que descreve uma estrutura para o arquivo de valores, o que pode ajudar na criação de formulários dinâmicos e na validação de seus parâmetros de valores.
  • Diretório de templates: o diretório templates/ armazena seus modelos e os combina com as variáveis estabelecidas no arquivo values.yaml para gerar manifestos.
  • Diretório de gráficos: o diretório charts/ armazena qualquer dependência de gráfico que você define em Chart.yaml e é reconstruído com construção de dependência do Helm ou atualização de dependência do Helm.

Sempre que você instala um gráfico Helm, também cria para ele uma instância chamada "release". Os gráficos Helm são atualizados a cada novo "release", e você pode facilmente usar versões anteriores do gráfico para reverter para a configuração desejada.

Para ver gráficos Helm em ação, confira este episódio do Ask a Product Manager Office Hours que discute o uso do Helm com o Red Hat OpenShift®.

Após instalar a interface de linha de comando (CLI) do Helm, você tem duas opções: usar um gráfico existente com recursos e valores predefinidos ou criar um gráfico personalizado para empacotar seus próprios recursos de aplicação.

Como usar um gráfico preexistente

Usar um gráfico já existente envolve primeiro adicionar o repositório Helm ao seu cliente Helm e, em seguida, definir parâmetros de configuração específicos em seus arquivos de valores no momento da instalação.

Seus arquivos de valores são a chave para reutilizar gráficos Helm com configurações individuais. Você pode substituir qualquer variável declarada em values.yaml e o Helm criará a estrutura.values para manter essas variáveis no template. Com isso, elas ficam disponíveis para substituição em configurações posteriores. Transfira quantos arquivos de valores quiser para um gráfico. O Helm vai combiná-los e renderizá-los juntos para que seja possível reutilizar arquivos variáveis.

Uma vez que você tenha confirmado ou enviado suas configurações de valores, poderá atualizar, realizar upgrade e gerenciar o ciclo de vida da sua aplicação por meio de comandos Helm comuns.

Como criar um gráfico personalizado

Você pode precisar criar um gráfico personalizado para empacotar aplicações que deseja reutilizar em toda a sua organização ou em suas cargas de trabalho específicas. Isso envolve definir os recursos da sua aplicação no diretório templates/ do gráfico, definir parâmetros de configuração por meio de arquivos de valores, e adicionar quaisquer metadados e documentação ao arquivo Chart.yaml.

Em seguida, você pode empacotar o gráfico usando o pacote Helm e carregá-lo para um repositório Helm público ou privado, ou distribuí-lo diretamente.

Os padrões validados da Red Hat são exemplos úteis de gráficos Helm existentes que você também pode personalizar. Padrões validados são gráficos Helm que descrevem uma carga de trabalho completa que foi implantada no site de um cliente e atendeu a um conjunto de requisitos para teste e manutenção. Eles podem ser usados diretamente ou modificados para atender às necessidades da sua própria configuração.

Conheça os padrões validados

Como parte da sua estratégia geral de GitOps, o Helm é uma ferramenta poderosa que oferece agilidade, segurança e consistência em vários ambientes. Quando combinado com uma ferramenta de comunicação multicloud como o Red Hat Service Interconnect, o Helm é especialmente útil para implementações complexas que utilizam vários microsserviços em diversos provedores de nuvem.

Para desenvolvedores de Kubernetes, os gráficos Helm são uma maneira simples, rápida e fácil de criar aplicações que poderão ser reutilizadas ou compartilhadas com outras pessoas.  

Para administradores de sistemas e outros profissionais de operações de TI, o Helm oferece uma ferramenta consistente para implementar e simplificar a integração e o desenvolvimento contínuos (CI/CD) nos pipelines de aplicações. Esta é uma ferramenta que traz agilidade e consistência.

Para experimentar todo o processo, da criação de um gráfico à configuração de valores e a implantação, confira os seguintes tutoriais do Red Hat® Developer.

Experimente o Helm no Red Hat Developer

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

O que é o Podman Desktop?

O Podman Desktop é uma ferramenta open source gratuita que simplifica o trabalho com containers em ambientes de desenvolvedor locais.

O que é o InstructLab?

O InstructLab é um projeto open source para aprimorar os modelos de linguagem de larga escala ou Large Language Models (LLMs).

O que é open source?

Open source é um termo em inglês e significa código aberto. O software open source pode ser visualizado, modificado e distribuído abertamente por qualquer pessoa.

Open source: leitura recomendada