Programa Intensivo em Containers e Kubernetes
  • Ínicio
  • Projeto final do Programa Intensivo de Formação em Containers e Kubernetes
  • Criando um container com o Docker
  • Orquestrando containers com Kubernetes
  • Política como código com Kyverno
  • Gerenciando o ciclo de vida de aplicações com Helm
  • Cosign: Garantindo a confiabilidade das nossas imagens
  • Monitorando nosso gerador de senhas com Prometheus e Grafana
  • Construindo uma imagem com uma única camada
Powered by GitBook
On this page
  • Instalação
  • Criando um chart

Gerenciando o ciclo de vida de aplicações com Helm

O Helm é uma ferramenta open-source que permite gerenciar aplicações Kubernetes de forma simples e eficiente. Com o Helm, você pode instalar, atualizar e desinstalar aplicações em um cluster Kubernetes com facilidade.

As aplicações Helm são definidas em arquivos chamados charts. Um chart é um pacote que contém todos os recursos necessários para executar uma aplicação no Kubernetes, como deployments, services, configmaps, secrets, entre outros.

Instalação

Para instalar o Helm, execute o seguinte comando:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3
chmod 700 get_helm.sh
./get_helm.sh

Criando um chart

Para criar um chart, execute o seguinte comando:

helm create mychart

A partir disso você terá uma estrutura de diretórios e arquivos para gerenciar a aplicação. A estrutura de diretórios e arquivos de um chart é a seguinte:

mychart/
├── charts/
├── Chart.yaml
├── templates/
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── hpa.yaml
│   ├── ingress.yaml
│   ├── NOTES.txt
│   ├── serviceaccount.yaml
│   ├── service.yaml
│   └── tests/
│       └── test-connection.yaml
└── values.yaml

O arquivo Chart.yaml contém as informações sobre o chart, como nome, versão, descrição, entre outros. O arquivo values.yaml contém os valores padrão que serão utilizados para configurar a aplicação.

A pipeline contempla os seguintes passos:

  1. Checkout do código fonte

  2. Clone do repositório de Helm Charts

  3. Instalação do Kubectl

  4. Conexão com o cluster e validação

  5. Instalação do Helm

  6. Criação de namespaces

  7. Deploy do pacote Helm para cada ambiente

Com o helm você pode utilizar mais de um arquivo values.yaml para cada ambiente, como por exemplo values-dev.yaml, values-prod.yaml, values-stage.yaml e assim por diante. Assim, você pode configurar a aplicação de acordo com as necessidades de cada ambiente.

No meu caso, eu utilizo o arquivo values.yaml para configurar a aplicação e o arquivo values-dev.yaml para configurar o ambiente de desenvolvimento. Separando os ambientes por namespaces, normalmente em ambientes produtivos, você pode ter um cluster para cada ambiente, como dev, prod, stage, qa, entre outros.

PreviousPolítica como código com KyvernoNextCosign: Garantindo a confiabilidade das nossas imagens

Last updated 8 months ago

O Helm Charts do meu giropops-senhas está disponível em um repositório privado no GitHub no endereço: . Esse pacote é utilizado na pipeline de CI/CD disponível em .github/workflows/deploy-helm-chart.yml.

https://github.com/nataliagranato/senhas