Descubra como o Helm facilita a instalação de aplicações no Kubernetes

Descubra como o Helm facilita a instalação de aplicações no Kubernetes

O que é?

O Helm é um gerenciador de pacotes para o Kubernetes que permite que os desenvolvedores e operadores configurem e implantem mais facilmente aplicativos nos clusters do Kubernetes. Ele descreve a estrutura de uma aplicação através dos Helm Charts, facilitando a instalação e o gerenciamento de pacotes e suas dependências. O Helm é semelhante aos gerenciadores de pacotes de sistemas operacionais yum, apt, snap, etc. A ideia do Helm é basicamente a mesma, facilitar a instalação de aplicações para Kubernetes.

Quais as vantagens?

Os Charts são fáceis de criar, versionar, compartilhar e publicar. Os Charts do Helm descrevem até mesmo a mais complexa aplicação, estabelecem repetibilidade na instalação de apps, e servem como um único ponto de autoridade.

Por exemplo, suponhamos que você precise instalar o Prometheus em seu cluster k8s. Você precisa que ele seja persistente, que seja configurado exclusivamente por uma configmap e ser exposto para a sua equipe através de uma URL.

Para esses requisitos expostos, já concluímos que precisaremos desses objetos do Kubernetes:

  • um deployment para publicar o server;

  • um service para fazer o acesso aos pods da aplicação;

  • uma configmap para manter e gerenciar as configurações;

  • um pvc ( PersistentVolumeClaim) para permitir que os dados sejam persistidos;

  • um ingress para expor o server por uma URL;

Se fossemos realizar uma instalação simples do prometheus, teríamos que criar ao menos esses 5 objetos do Kubernetes. Com o helm conseguímos configurar tudo isso com a execução de um comando. O helm possui um repositório que conta com inúmeros charts¹ disponibilizados pela comunidade. Eles podem ser utilizados para instalar diversas aplicações no Kubernetes. Por sorte o Prometheus conta com um chart que permitirá que façamos essa instalação com apenas um comando.

Mas para isso, temos que ter o helm instalado em nosso server, então vamos lá fazer isso.

Através do gerenciador de pacotes Apt (Debian/Ubuntu)

curl https://baltocdn.com/helm/signing.asc | sudo apt-key add - sudo apt-get install apt-transport-https --yes echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list sudo apt-get update sudo apt-get install helm

Agora com o helm já instalado, podemos prosseguir com a instalação do prometheus;

Adicione o repositório

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

Instale o chart

helm install my-prometheus prometheus-community/prometheus –version 15.8.5

instalamos o Prometheus, porém ainda não atendemos todos os requisitos que definimos anteriormente, pois a instalação padrão não expõe o server por uma URL. Para tal precisamos configurar o chart. Faremos isso através do arquivo prometheus-config.yaml

server:
ingress:
enabled: true
hosts:
prometheus.examplo.com

Atualizaremos nosso pacote passando o arquivo de configuração que acabamos de criar:

helm upgrade my-prometheus -f prometheus-config.yaml prometheus-community/prometheus

Agora podemos acessar o nosso prometheus através da URL prometheus.exemplo.com

Em resumo, o Helm se tornou o gerenciador de pacotes do Kubernetes e experimentou um crescimento constante ao resolver os principais problemas de desenvolvimento de aplicações na plataforma de infraestrutura.

Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:

CURSOSCONSULTORIA

Anterior Descubra como o Rundeck pode otimizar suas tarefas de sysadmin
Próxima Crie sua primeira aplicação em Python: Guia passo a passo

About author

João Pedro Santos
João Pedro Santos 3 posts

Linux Sysadmin que ama desafios, com experiência em troubleshooting em ambiente opensource e aplicações web. Focado em administração de infraestrutura em Nuvem, Software de código aberto, Monitoramento e Devops. Entusiasta da tecnologia e consultor de T.I. Linkedin: https://www.linkedin.com/in/joaopmdds/

View all posts by this author →

Você pode gostar também

DevOps

Guia Completo: Como Utilizar o Ansible Galaxy para Otimizar seu Trabalho

Durante minhas aventuras como SysAdmin, eu me deparei com a fantástica ferramenta chamada Ansible. Eu me empolguei tanto com a ferramenta que acabei criando um projeto chamado warudo, agora já não

Desenvolvimento

Entenda o ciclo de vida dos arquivos no Git e facilite seu trabalho

Git é um versionador de código fonte fácil de usar, isso quase todos sabem, entretanto sua experiência de uso pode ser bem confusa em alguns casos. Convido-os a uma breve

Infraestrutura TI

Introdução a Distribuições Linux

Introdução Esse post tem a missão de introduzir o contexto de distribuições do Linux, suas diferenças e trazer uma ótica analítica para distros (distribuições) fora da curva. Para começar, temos