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:
- Criar 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
-
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 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.Abra a página Repositórios no console do Trusted 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
u-france-east1
.Clique em Criar.
Execute o seguinte comando para criar um novo repositório do Docker chamado
quickstart-helm-repo
no localu-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
- Mude para um diretório onde você quer criar o gráfico.
Execute o comando a seguir 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 é Chart.yaml, que inclui informações sobre o gráfico.Empacote 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
.Receber um token de acesso como credenciais ao 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://u-france-east1-docker.s3nsregistry.fr
Windows
Execute este 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 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 nome do gráfico é o nome da imagem:
hello-chart
- A versão do gráfico é a tag da imagem:
0.1.0
Crie um cluster chamado
chart-cluster
para sua implantação com o comando:gcloud container clusters create --zone u-france-east1-a chart-cluster
Quando o cluster for criado, o comando vai retornar um resumo semelhante ao exemplo a seguir:
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
Receba as credenciais para que
kubectl
possa acessar o cluster:gcloud container clusters get-credentials --zone u-france-east1-a chart-cluster
Execute o comando a seguir para implantar uma versão do
hello-chart
usando os arquivos de gráfico 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 retorna um resumo da implantação:
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1
Exclua o repositório criado com o seguinte comando:
gcloud artifacts repositories delete quickstart-helm-repo --location=u-france-east1
Exclua o cluster que você 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 nossos recursos sobre DevOps e conheça nosso programa de pesquisa.
Como configurar um shell local
Para instalar a CLI gcloud e o Helm, siga estas etapas:
Criar um repositório
Crie um repositório do Docker para armazenar o gráfico de amostra deste guia de início rápido.
Console
O repositório é adicionado à lista de repositórios.
gcloud
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ê vai criar um gráfico de exemplo chamado
hello-chart
.
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 em 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 informações.
Autenticar com sua 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 do 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 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 fazer a autenticação com um token de acesso:
O Helm agora está autenticado com o Artifact Registry. Agora você pode enviar o gráfico ao repositório.
Envie o gráfico para o Artifact Registry
Depois de criar o arquivo do gráfico e se autenticar no repositório do Artifact Registry, é possível 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 Trusted Cloud by S3NS ID do projeto.
O Helm usa valores de Chart.yaml
para a imagem:
O Helm retorna uma saída semelhante ao exemplo a seguir:
Login Succeeded
Pushed: u-france-east1-docker.s3nsregistry.fr/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 u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
A resposta ao comando é semelhante ao exemplo a seguir:
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
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 lançamento. Depois de adicionar o repositório à configuração do Helm, você poderá implantar uma versão do gráfico.
Você implantou uma versão usando o gráfico que criou e enviou para o Artifact Registry.
Limpar
Para evitar cobranças na sua conta do Trusted Cloud pelos recursos usados nesta página, siga estas etapas.