Armazenar gráficos do Helm no Artifact Registry
O Helm é o gerenciador de pacotes do Kubernetes. Ele usa gráficos que definem um conjunto de recursos do Kubernetes para implantação.
Neste guia de início rápido, você aprende a:
- Crie um repositório particular no Artifact Registry
- Criar um gráfico de amostra
- Autenticar com o repositório
- Enviar o gráfico para o repositório
- Implantar o gráfico
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Artifact Registry, Google Kubernetes Engine.
-
No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative as APIs Artifact Registry, Google Kubernetes Engine.
Escolha um shell
Para concluir este guia de início rápido, use o Cloud Shell ou o shell local.
- Cloud Shell
- O Cloud Shell é um ambiente de shell para gerenciar recursos hospedados no Google Cloud. Ele vem pré-instalado com o Docker, o Helm e a Google Cloud CLI, a principal interface de linha de comando do Google Cloud.
- Shell local
- Se preferir usar o shell local, instale o Docker e a CLI gcloud no ambiente.
Como iniciar o Cloud Shell
Para iniciar o Cloud Shell, execute os seguintes passos:
Acesse o Console do Google Cloud.
Clique no botão Ativar o Cloud Shell: .
Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use esse shell para executar comandos
gcloud
.Instale o Helm 3.8.0 ou mais recente. Nas versões anteriores do Helm, o suporte a gráficos no formato OCI é um recurso experimental.
Execute
helm version
para verificar sua versão.
Como configurar um shell local
Para instalar a CLI gcloud e o Helm, execute as seguintes etapas:
Instale a CLI da gcloud. Para atualizar uma instalação atual, execute o comando
gcloud components update
.Instale o Helm 3.8.0 ou mais recente. Nas versões anteriores do Helm, o suporte a gráficos no formato OCI é um recurso experimental.
Execute
helm version
para verificar sua versão.
Criar um repositório
Crie um repositório do Docker para armazenar o gráfico de amostra para este guia de início rápido.
Console
Abra a página Repositórios no console do Google Cloud.
Clique em Criar repositório.
Especifique
quickstart-helm-repo
como o nome do repositório.Escolha Docker como o formato.
Em Tipo de local, selecione Região e escolha o local
us-central1
.Clique em Criar.
O repositório é adicionado à lista de repositórios.
gcloud
Execute o seguinte comando para criar um novo repositório do Docker chamado
quickstart-helm-repo
no localus-central1
com a descrição "repositório do docker".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=us-central1 --description="Helm repository"
Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list
Para saber mais sobre os comandos do Artifact Registry, execute o
comando gcloud artifacts
.
Criar um gráfico
Neste guia de início rápido, você criará um gráfico de amostra chamado hello-chart
.
- Mude para o diretório em que você quer criar o gráfico.
Execute este comando para criar o gráfico:
helm create hello-chart
O Helm cria um diretório chamado
hello-chart
com um conjunto padrão de arquivos de gráfico. Um dos arquivos é o Chart.yaml, que inclui informações sobre o gráfico.Empacotar o gráfico em um arquivo.
helm package hello-chart/
O Helm cria um arquivo chamado
hello-chart-0.1.0.tgz
usando o nome do gráfico e o número da versão emChart.yaml
.
Autenticar com o repositório
Antes de enviar ou instalar imagens, o Helm precisa se autenticar no Artifact Registry.
O Helm pode usar as configurações de registro atuais de um arquivo de configuração do Docker. Se você ainda não configurou o Docker para usar com o Artifact Registry, faça a autenticação com um token de acesso para este guia de início rápido.
Consulte Como configurar a autenticação para o Helm para mais informações sobre a autenticação.
Autenticar com a configuração do Docker
Por padrão, o Helm é compatível com as configurações de registro no arquivo de configuração do Docker config.json. O Helm encontra as configurações de registro no local padrão ou no local especificado pela variável de ambiente DOCKER_CONFIG.
Se você configurou o Docker com um auxiliar de credencial para se autenticar no Artifact Registry, o Helm usará sua configuração atual para repositórios Docker do Artifact Registry.
Fazer a autenticação com um token de acesso
Para autenticar com um token de acesso:
Consiga um token de acesso como credenciais ao se autenticar no Artifact Registry com o Helm.
Linux / macOS
Execute este comando:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://us-central1-docker.pkg.dev
Windows
Execute este comando:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://us-central1-docker.pkg.dev/PROJECT-ID/REPOSITORY
Onde
oauth2accesstoken
é o nome de usuário a ser usado na autenticação com um token de acesso.gcloud auth print-access-token
é o comando da gcloud para receber o token de acesso. Seu token de acesso é a senha para autenticação.
O Helm agora está autenticado com o Artifact Registry. Você já pode push o gráfico para o repositório.
Envie o gráfico para o Artifact Registry
Depois de criar o arquivo de gráficos e autenticar no repositório do Artifact Registry, você pode enviar o gráfico para o repositório.
Para enviar o gráfico, execute o seguinte comando:
helm push hello-chart-0.1.0.tgz oci://us-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Substitua PROJECT pelo ID do projeto do Google Cloud.
O Helm usa valores de Chart.yaml
para a imagem:
- O nome do gráfico é o nome da imagem:
hello-chart
- A versão do gráfico é a tag de imagem:
0.1.0
O Helm retorna uma saída semelhante ao seguinte exemplo:
Login Succeeded
Pushed: us-central1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Execute o seguinte comando para verificar se o gráfico está armazenado no repositório:
gcloud artifacts docker images list us-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo
A resposta ao comando é semelhante ao exemplo a seguir:
Listing items under project my-project, location us-central1, repository quickstart-helm-repo.
IMAGE: us-central1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart
DIGEST: sha256:67a72...
CREATE_TIME: 2021-11-08T22:59:57
UPDATE_TIME: 2021-11-08T22:59:57
Agora é possível implantar uma versão usando o gráfico armazenado no Artifact Registry.
Implantar o gráfico
No Helm, uma instância implantada do aplicativo é chamada de versão. Depois de adicionar o repositório à configuração do Helm, implante uma versão do gráfico.
Crie um cluster chamado
chart-cluster
para sua implantação com o comando:gcloud container clusters create --zone us-central1-a chart-cluster
Quando o cluster é criado, o comando retorna um resumo semelhante ao exemplo a seguir:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: us-central1-a MASTER_VERSION: 1.20.10-gke.1600 MASTER_IP: 34.66.36.211 MACHINE_TYPE: e2-medium NODE_VERSION: 1.20.10-gke.1600 NUM_NODES: 3 STATUS: RUNNING
Consiga as credenciais do cluster para que
kubectl
possa acessá-lo:gcloud container clusters get-credentials --zone us-central1-a chart-cluster
Execute o comando a seguir para implantar uma versão do
hello-chart
usando os arquivos de gráficos extraídos localmente:helm install hello-chart oci://us-central1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
O comando retorna um resumo da implantação:
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1
Você implantou uma versão usando o gráfico criado e enviado ao Artifact Registry.
Limpar
Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga estas etapas.
Exclua o repositório criado com o seguinte comando:
gcloud artifacts repositories delete quickstart-helm-repo --location=us-central1
Exclua o cluster criado:
gcloud container clusters delete --zone=us-central1-a chart-cluster
A seguir
- Saiba mais sobre como trabalhar com gráficos.
- Saiba mais sobre o Helm.
- Leia nossos recursos sobre DevOps e conheça nosso programa de pesquisa.