Header Ads

Como usar o novo repositório de gráficos Helm do GitLab

O GitLab 14.1 adicionou gráficos do Helm à lista crescente do software de formatos de repositório de pacotes suportados. Agora você pode armazenar e compartilhar seus gráficos usando seus projetos GitLab, sem um registro do Helm separado.

Os gráficos do Helm são uma coleção de manifestos YAML do Kubernetes distribuídos como um único pacote. Eles tornam mais rápido e fácil implantar aplicativos complexos em seu cluster. Usar o GitLab como um registro permite que sua equipe armazene gráficos junto com seu código em um repositório gerenciado pela organização.

Usando o repositório GitLab Helm

Certifique-se de que sua instância GitLab foi atualizada para a versão 14.1. Se estiver usando a implantação hospedada do GitLab. com, você já terá tudo de que precisa.

Prepare um gráfico simples do Helm para enviar ao seu repositório. Executar o exemplo de criação do helm produzirá um novo gráfico padrão chamado exemplo se você não tiver um disponível. O gráfico gerado estará pronto para ser enviado diretamente para o GitLab, sem nenhuma modificação.

Mude para a sua instância GitLab. Crie um novo projeto ou encontre um existente. Usando a barra lateral esquerda, navegue até Packages & Registros > Registro de pacotes dentro do seu projeto. Se você não vir esses menus, vá para Configurações > Geral, expanda a seção “ Visibilidade, recursos do projeto, permissões ” e habilite o título “ Pacotes ” alternar.

Adicionando o repositório ao Helm

Agora você está pronto para começar a usar o seu repositório de pacotes. Você precisa registrá-lo com seu cliente Helm para começar.

 helm repo add \ --username < username > \ --password < token > \ example-repo \ https://gitlab. example. com/api/v4/projects//packages/helm/stable

Publicidade

O repositório local será denominado example-repo. Substitua < nome de usuário > com seu nome de usuário GitLab. O valor de < token > deve ser um token de acesso pessoal com permissão para enviar pacotes.

Você pode gerar um novo token clicando no ícone do seu perfil no canto superior direito da interface do GitLab ’. Selecione “ Preferências ” no menu, em seguida, “ Tokens de acesso ” na barra lateral esquerda. Adicione um novo token de acesso com o escopo da API. O escopo write_repository pode parecer correto, mas realmente não funciona; ele apenas facilita o acesso usando Git sobre HTTP, enquanto o Helm requer integração de API.

Substitua a tag < project > na URL do seu repositório com o ID do projeto GitLab para o qual você deseja enviar. Você pode encontrar isso na página inicial, abaixo do nome.

Enviando para o repositório

Depois que o repositório for adicionado, você pode enviar qualquer diretório com um gráfico Helm válido para a sua instância do GitLab. Geralmente é mais fácil instalar o plug-in helm-push, que adiciona um comando nativo do helm push.

Empacote seu gráfico, se ainda não o fez:

 gráfico de exemplo do pacote do helm 

Isso criará um arquivo tar compactado com gzip, example-chart. tgz, contendo seu gráfico.

Adicione o plug-in helm-push:

 instalação do plugin helm https://github. com/chartmuseum/helm-push. git

Publicidade

Finalmente, use o plug-in para enviar seu gráfico ao repositório GitLab:

 helm push example-chart. tgz example-repo 

De volta à interface da web do GitLab, navegue até os Pacotes & do seu projeto Registros > Tela de registro do pacote. Você deve ver seu gráfico aparecer.

Clique no nome do gráfico para visualizar seus detalhes. Esta tela permite que você acompanhe o histórico do gráfico, baixe arquivos de pacote e visualize versões mais antigas. Você pode excluir o gráfico com o botão “ Excluir ” botão situado no canto superior direito.

Usando gráficos no repositório

Com o gráfico em seu repositório, você pode implantá-lo em seu cluster Kubernetes. Os comandos de instalação do helm devem funcionar imediatamente:

 # carregue o conteúdo dos repositórios helm repo update # instale o gráfico helm install example-repo / example-chart 

Isso iniciará uma nova implantação de gráfico em seu cluster ativo. Use as sinalizações --kubeconfig e --namespace Helm, se necessário, para selecionar um arquivo de configuração Kubernetes apropriado e especificar o namespace no qual implantar.

Acessando o repositório do GitLab em um pipeline de CI

Assim como seus outros formatos de pacote, o repositório Helm do GitLab se beneficia da integração embutida com o sistema de CI / CD do software. Seus pipelines receberão variáveis ​​de ambiente predefinidas que simplificam o processo de publicação do gráfico. Você não precisa definir nenhuma variável CI personalizada para configurar a autenticação.

Publicidade

Este é um exemplo de pipeline que cria um gráfico e o publica em seu repositório:

estágios: - helm-publish helm-publish: estágio: helm-publique imagem: nome: alpine / helm: último ponto de entrada: & # 91; " " & # 93 ; script: - helm repo add --username $ CI_REGISTRY_USER --password $ CI_REGISTRY_PASSWORD my-repo $ CI_REGISTRY - pacote helm my-chart - helm push my-chart. tgz my-repo

As variáveis ​​$ CI_REGISTRY são configuradas para permitir que você coloque novos pacotes no registro. Você pode reutilizá-los ao autenticar em outros repositórios do GitLab, como npm, Composer, NuGet e Maven.

Resumo

O GitLab agora tem um repositório de gráficos Helm integrado que permite armazenar seus manifestos Kubernetes junto com seu código. Qualquer pessoa com acesso de leitura ao repositório do projeto poderá adicioná-lo ao cliente Helm e implantar gráficos em clusters Kubernetes.

Quando uma nova versão do gráfico for publicada, execute o helm repo update e, em seguida, use o helm upgrade para mover as instalações implantadas para a nova versão. Você pode gerenciar versões de gráficos de dentro do GitLab e excluir versões antigas que estão desperdiçando espaço em disco.

Nenhum comentário