Armazenar gráficos do Helm no Artifact Registry
Helm é o gerenciador de pacotes do no Kubernetes. Ele usa gráficos. que definem um conjunto de recursos do Kubernetes a serem implantados.
Neste guia de início rápido, você aprende a:
- Crie um repositório particular no Artifact Registry
- Criar um gráfico de exemplo
- Autenticar com o repositório
- Envie o gráfico para o repositório
- Implantar o gráfico
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
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 CLI do Google Cloud, a interface de linha de comando principal do Google Cloud.
- Shell local
- Se preferir usar seu shell local, instale o Docker e CLI gcloud no seu 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, siga estas etapas:
Instale a CLI da gcloud. Para atualizar um 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.
Crie um repositório
Crie um repositório do Docker para armazenar o gráfico de amostra deste 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-west1
.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-west1
com a descrição "repositório do docker".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=us-west1 --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
.
Crie um gráfico
Neste guia de início rápido, você vai criar um gráfico de exemplo chamado
hello-chart
.
- Mude para um diretório em que você quer criar o gráfico.
Execute o seguinte 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 gráficos . Um dos arquivos é Chart.yaml, que inclui informações sobre o gráfico.Empacotar o gráfico e arquivar.
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 que você possa enviar ou instalar imagens, o Helm deve autenticar para o Artifact Registry.
O Helm pode usar as configurações de registro atuais com um arquivo de configuração do Docker. Se você ainda não configurou o Docker para uso com o Artifact Registry, é possível fazer 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 sobre autenticação.
Autenticar com a configuração do Docker
Por padrão, o Helm oferece suporte a configurações de registro no arquivo de configuração do Docker config.json. O Helm encontra as configurações de registro o local padrão ou o especificado pelo DOCKER_CONFIG.
Se você configurou o Docker com um auxiliar de credenciais para autenticar com o Artifact Registry, o Helm usa sua configuração atual para repositórios do Docker do Artifact Registry.
Fazer a autenticação com um token de acesso
Para autenticar com um token de acesso:
Obter um token de acesso como credenciais ao se autenticar no Artifact Registry com Helm.
Linux/macOS
Execute este comando:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://us-west1-docker.pkg.dev
Windows
Execute este comando:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://us-west1-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ê está pronto para Envie o gráfico para o repositório.
Enviar o gráfico para o Artifact Registry
Depois de criar o arquivo de gráfico e fazer a autenticação no repositório do Artifact Registry, é possível enviar o gráfico para o repositório.
Para enviar o gráfico por push, execute o seguinte comando:
helm push hello-chart-0.1.0.tgz oci://us-west1-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 da imagem:
0.1.0
O Helm retorna uma saída semelhante a este exemplo:
Login Succeeded
Pushed: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Execute o comando a seguir para verificar se o gráfico agora está armazenado no repositório:
gcloud artifacts docker images list us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
A resposta ao comando é semelhante ao exemplo a seguir:
Listing items under project my-project, location us-west1, repository quickstart-helm-repo.
IMAGE: us-west1-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 seu aplicativo é chamada de release. Depois você adicionou o repositório à configuração do Helm, pode implantar um o lançamento do gráfico.
Crie um cluster chamado
chart-cluster
para sua implantação com o comando:gcloud container clusters create --zone us-west1-a chart-cluster
Quando o cluster é criado, o comando retorna um resumo semelhante ao exemplo abaixo:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: us-west1-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-west1-a chart-cluster
Execute o seguinte comando para implantar uma versão de
hello-chart
usando Arquivos do gráfico extraídos localmente:helm install hello-chart oci://us-west1-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 enviados para o Artifact Registry.
Limpar
Para evitar cobranças na 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-west1
Exclua o cluster criado:
gcloud container clusters delete --zone=us-west1-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.