Jump to section

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. 

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.

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.

Leitura recomendada

ARTIGO

O que é DevSecOps?

Se você quiser aproveitar ao máximo a agilidade e a capacidade de resposta do DevOps, a equipe de segurança da TI precisará participar de todo o ciclo de vida das suas aplicações.

ARTIGO

O que é CI/CD?

A prática de CI/CD aplica monitoramento e automação contínuos a todo o ciclo de vida das aplicações, desde as etapas de teste e integração até a entrega e a implantação.

ARTIGO

O que faz o engenheiro de DevOps?

O engenheiro de DevOps é um profissional que reúne uma combinação única de habilidades e tem o conhecimento especializado para promover mudanças em termos de colaboração, inovação e cultura dentro da empresa.  

Leia mais sobre DevOps

Soluções Red Hat

Um programa de residência imersiva com especialistas da Red Hat, no qual você aprende a usar uma metodologia ágil e ferramentas open source para solucionar problemas empresariais.

Os consultores estratégicos da Red Hat fornecem uma visão geral da sua organização, analisam os desafios e ajudam a superá-los com soluções abrangentes e econômicas.

Conteúdo adicional

Checklist

Automação empresarial com uma metodologia DevOps

Whitepaper

Otimize pipelines de CI/CD com o Red Hat Ansible Automation Platform