Armazene gráficos Helm no Artifact Registry
O Helm é o gestor de pacotes para o Kubernetes. Usa gráficos que definem um conjunto de recursos do Kubernetes a implementar.
Este início rápido mostra como:
- Crie um repositório privado no Artifact Registry
- Crie um gráfico de amostra
- Autentique-se com o repositório
- Envie o gráfico para o repositório
- Implemente o gráfico
Antes de começar
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Instale a CLI gcloud. Para atualizar uma instalação existente, execute o comando
gcloud components update
.Instale o Helm 3.8.0 ou posterior. Nas versões anteriores do Helm, o suporte para gráficos no formato OCI é uma funcionalidade experimental.
Execute
helm version
para verificar a sua versão.Abra a página Repositórios na Trusted Cloud consola.
Clique em Criar repositório.
Especifique
quickstart-helm-repo
como o nome do repositório.Escolha o Docker como formato.
Em Tipo de localização, selecione Região e, de seguida, escolha a localização
u-france-east1
.Clique em Criar.
Execute o seguinte comando para criar um novo repositório do Docker denominado
quickstart-helm-repo
na localizaçãou-france-east1
com a descrição "repositório do Docker".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=u-france-east1 --description="Helm repository"
Execute o seguinte comando para verificar se o repositório foi criado.
gcloud artifacts repositories list
- Altere para um diretório onde quer criar o gráfico.
Execute o seguinte comando para criar o gráfico:
helm create hello-chart
O Helm cria um diretório denominado
hello-chart
com um conjunto predefinido de ficheiros de gráficos. Um dos ficheiros é o Chart.yaml, que inclui informações sobre o gráfico.Empacote o gráfico num arquivo.
helm package hello-chart/
O Helm cria um arquivo com o nome
hello-chart-0.1.0.tgz
usando o nome do gráfico e o número da versão emChart.yaml
.Obtenha um token de acesso como credenciais quando se autenticar no Artifact Registry com o Helm.
Linux / macOS
Execute o seguinte comando:
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://u-france-east1-docker.s3nsregistry.fr
Windows
Execute o seguinte comando:
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://u-france-east1-docker.s3nsregistry.fr/PROJECT-ID/REPOSITORY
Onde
oauth2accesstoken
é o nome de utilizador a usar quando se autentica com um token de acesso.gcloud auth print-access-token
é o comando gcloud para obter o token de acesso. A chave de acesso é a palavra-passe para a autenticação.
- O nome do gráfico é o nome da imagem:
hello-chart
- A versão do gráfico é a etiqueta de imagem:
0.1.0
Crie um cluster com o nome
chart-cluster
para a implementação com o comando:gcloud container clusters create --zone u-france-east1-a chart-cluster
Quando o cluster é criado, o comando devolve um resumo semelhante ao do exemplo seguinte:
kubeconfig entry generated for chart-cluster. NAME: chart-cluster LOCATION: u-france-east1-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
Obtenha as credenciais do cluster para que
kubectl
possa aceder ao cluster:gcloud container clusters get-credentials --zone u-france-east1-a chart-cluster
Execute o seguinte comando para implementar uma versão do
hello-chart
usando os ficheiros de gráficos extraídos localmente:helm install hello-chart oci://u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
O comando devolve um resumo da implementação:
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1
Elimine o repositório que criou com o seguinte comando:
gcloud artifacts repositories delete quickstart-helm-repo --location=u-france-east1
Elimine o cluster que criou:
gcloud container clusters delete --zone=u-france-east1-a chart-cluster
- Saiba mais sobre como trabalhar com gráficos.
- Saiba mais sobre o Helm.
- Leia os nossos recursos sobre DevOps e explore o nosso programa de investigação.
Configurar uma shell local
Para instalar a CLI gcloud e o Helm, siga estes passos:
Crie um repositório
Crie um repositório Docker para armazenar o gráfico de exemplo para este início rápido.
Consola
O repositório é adicionado à lista de repositórios.
gcloud
Para mais informações sobre os comandos do Artifact Registry, execute o comando gcloud artifacts
.
Crie um gráfico
Para este início rápido, vai criar um gráfico de amostra denominado
hello-chart
.
Autentique-se com o repositório
Antes de poder enviar ou instalar imagens, o Helm tem de se autenticar no Artifact Registry.
O Helm pode usar as definições de registo existentes num ficheiro de configuração do Docker. Se ainda não configurou o Docker para utilização com o Artifact Registry, pode autenticar-se com um token de acesso para este início rápido.
Consulte o artigo Configurar a autenticação para o Helm para mais informações sobre a autenticação.
Efetue a autenticação com a sua configuração do Docker
Por predefinição, o Helm suporta definições de registo no ficheiro de configuração do Docker config.json. O Helm encontra as definições do registo na localização predefinida ou na localização especificada pela variável de ambiente DOCKER_CONFIG.
Se configurou o Docker com um auxiliar de credenciais para autenticar com o Artifact Registry, o Helm usa a sua configuração existente para os repositórios Docker do Artifact Registry.
Efetue a autenticação com um token de acesso
Para autenticar com um token de acesso:
O Helm está agora autenticado com o Artifact Registry. Tem tudo pronto para enviar 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, 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://u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
Substitua PROJECT pelo seu Trusted Cloud by S3NS ID do projeto.
O Helm usa valores de Chart.yaml
para a imagem:
O Helm devolve um resultado semelhante ao seguinte exemplo:
Login Succeeded
Pushed: u-france-east1-docker.s3nsregistry.fr/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Execute o seguinte comando para verificar se o gráfico está agora armazenado no repositório:
gcloud artifacts docker images list u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
O resultado do comando tem um aspeto semelhante ao seguinte exemplo:
Listing items under project my-project, location u-france-east1, repository quickstart-helm-repo.
IMAGE: u-france-east1-docker.s3nsregistry.fr/my-project/quickstart-helm-repo/hello-chart
DIGEST: sha256:67a72...
CREATE_TIME: 2021-11-08T22:59:57
UPDATE_TIME: 2021-11-08T22:59:57
Já pode implementar um lançamento através do gráfico armazenado no Artifact Registry.
Implemente o gráfico
No Helm, uma instância implementada da sua aplicação é denominada lançamento. Depois de adicionar o repositório à configuração do Helm, pode implementar uma versão do seu gráfico.
Implementou com êxito um lançamento através do gráfico que criou e enviou para o Artifact Registry.
Limpar
Para evitar incorrer em cobranças na sua Trusted Cloud conta pelos recursos usados nesta página, siga estes passos.