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;
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:
About author
Você pode gostar também
Como versionar sua infraestrutura com Terraform e GitLab
Deixando um pouco o assunto sobre Corona Vírus de lado, chegamos ao penúltimo post da nossa série de postagens sobre Terraform. Aqui iremos falar sobre como versionar sua infraestrutura utilizando
Criando um Container do Docker (Sem o Docker!)
Aprenda na prática como o Docker gerencia seus containers. O intuito deste post é mostrar, na prática como o Docker gerencia seus containers. E qual jeito seria melhor de demonstrar o
Maximize a eficiência da sua infraestrutura com o novo recurso de importação do Terraform
O Terraform pode importar recursos de infraestrutura existentes. Essa funcionalidade permite colocar recursos existentes sob o gerenciamento do Terraform. Isso é muito útil quando estamos iniciando no uso do terraform