Noções básicas do leme
Ao implantar, controlar o controle de versão e atualizar aplicativos, você precisa garantir que tenha as versões corretas das bibliotecas e configurações de software para que o aplicativo funcione conforme o esperado.
Digamos que sua equipe de desenvolvimento decida implantar o site da empresa de pet shop no Kubernetes. Como parte do processo, a equipa cria ficheiros de implementação, serviço e entrada baseados no YAML. Você codifica e mantém manualmente as informações em cada arquivo para cada ambiente de destino. No entanto, manter três arquivos para cada ambiente é complicado e aumenta em complexidade à medida que o aplicativo cresce.
Pode utilizar o Helm para simplificar o processo de implementação da aplicação e evitar variáveis e definições de implementação codificadas.
O que é o Helm?
O Helm é um gestor de pacotes do Kubernetes que combina todos os recursos de aplicações e informações de implementação num único pacote de implementação.
Você pode pensar no Helm de forma semelhante ao Gerenciador de Pacotes do Windows no Windows, à Advanced Package Tool (apt) no Linux ou ao Homebrew no macOS. O utilizador especifica o nome da aplicação que pretende instalar, atualizar ou remover e o Helm efetua o processo.
Com o Helm, você não está limitado a instalar um único aplicativo de cada vez. O Helm permite-lhe criar ficheiros de script YAML de modelo e legíveis por humanos para gerir a implementação da aplicação. Estes ficheiros de modelo permitem-lhe especificar todas as dependências, mapeamentos de configuração e segredos utilizados para gerir a implementação de uma aplicação.
O Helm usa quatro componentes para gerenciar implantações de aplicativos em um cluster Kubernetes:
- O cliente Helm
- Gráficos Helm
- Versões do Helm
- Repositórios do Helm
O que é o cliente do Helm?
O cliente Helm é um cliente binário instalado responsável por criar e enviar os arquivos de manifesto necessários para implantar um aplicativo Kubernetes. O cliente é responsável pela interação entre o utilizador e o cluster do Kubernetes.
O cliente do Helm está disponível para todos principais sistemas operativos e é instalado no PC cliente. No Azure, o cliente Helm é pré-instalado no Cloud Shell e dá suporte a todos os recursos de segurança, identidade e autorização do Kubernetes.
Nota
Este módulo assume o uso do Helm v3. Pode executar o comando helm version
para verificar a versão do Helm no dispositivo cliente. Se tiver o Helm v2, tenha em atenção que alguns parâmetros de comandos neste módulo serão diferentes.
O que é um gráfico Helm?
Um gráfico Helm é um pacote de implantação de modelo que descreve um conjunto relacionado de recursos do Kubernetes. Contém todas as informações necessárias para criar e implementar os ficheiros de manifesto para executar uma aplicação num cluster do Kubernetes.
Um gráfico Helm consiste em vários ficheiros e pastas que descrevem o gráfico. Alguns dos componentes são necessários e outros são opcionais. Os componentes são escolhidos com base nos requisitos de configuração de aplicações.
A lista a seguir descreve os componentes de arquivo e pasta de um gráfico Helm com os itens necessários em negrito:
Ficheiro/Pasta | Description |
---|---|
Chart.yaml |
Um ficheiro YAML que contém informações sobre o gráfico. |
values.yaml |
Os valores de configuração predefinidos do gráfico. |
templates/ |
Uma pasta que contém os modelos de implementação do gráfico. |
LICENSE |
Um ficheiro de texto simples que contém a licença do gráfico. |
README.md |
Um ficheiro de markdown que contém instruções sobre como utilizar o gráfico. |
values.schema.json ** |
Um ficheiro de esquema para aplicar a estrutura no ficheiro values.yaml. |
charts/ |
Uma pasta que contém todos os subgráficos do gráfico principal. |
crds/ |
Definições de Recursos Personalizados. |
templates/Notes.txt |
Um arquivo de texto que contém notas de uso do modelo. |
O que é uma versão do Helm?
Uma versão Helm é o aplicativo ou grupo de aplicativos implantados usando um gráfico. Sempre que instala um gráfico, é criada uma nova instância de uma aplicação no cluster. Todas as instâncias têm um nome de versão que lhe permite interagir com instâncias de aplicações específicas.
Por exemplo, digamos que você instalou duas instâncias Nginx em seu cluster Kubernetes usando um gráfico. Mais tarde, decide atualizar a primeira instância do Nginx, mas não a segunda. Uma vez que as duas versões são diferentes, pode atualizar a primeira versão sem afetar a segunda.
O que é um repositório Helm?
Um repositório Helm é um servidor HTTP dedicado que armazena informações em gráficos Helm. O servidor hospeda um arquivo que descreve gráficos e onde baixar cada gráfico.
O projeto Helm aloja vários gráficos públicos e existem vários repositórios a partir dos quais pode reutilizar gráficos. Os repositórios Helm facilitam a descoberta e reutilização de pacotes Helm.
Benefícios de usar o Helm
O Helm apresenta várias vantagens que facilitam a implementação de aplicações e melhoram a produtividade no ciclo de vida de implementação e desenvolvimento de aplicações nativas de cloud. Com o Helm, tem versões de aplicações que são:
- Repetível,
- Fiável,
- Gerenciável em ambientes múltiplos e complexos, e
- Reutilizáveis em diferentes equipas de desenvolvimento.
Um gráfico Helm padroniza a implantação de um aplicativo usando a lógica de modelo empacotada que é parametrizada por valores de entrada definidos. Esse design de pacote orientado por modelo fornece uma abordagem independente do ambiente para implantar e compartilhar aplicativos nativos da nuvem.