As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar um repositório de chart do Helm v3 no Amazon S3
Criado por Abhishek Sharma () AWS
Ambiente: PoC ou piloto | Tecnologias: DevOps; Contêineres e microsserviços; Modernização | Workload: todas as outras workloads |
AWSserviços: Amazon S3 |
Resumo
Esse padrão ajuda você a gerenciar os gráficos do Helm v3 de forma eficiente, integrando o repositório Helm v3 ao Amazon Simple Storage Service (Amazon S3) na nuvem Amazon Web Services (). AWS Para usar esse padrão, você precisa estar familiarizado com o Kubernetes e com o Helm, que é um gerenciador de pacotes do Kubernetes. Usar repositórios Helm para armazenar gráficos e controlar versões de gráficos pode melhorar o tempo médio de restauração (MTTR) durante interrupções.
Esse padrão é usado AWS CodeCommit para a criação do repositório Helm e usa um bucket S3 como repositório de gráficos do Helm, para que os gráficos possam ser gerenciados e acessados centralmente pelos desenvolvedores em toda a organização.
Pré-requisitos e limitações
Pré-requisitos
Uma AWS conta ativa
Python, versão 2.7.12 ou superior.
pip
Uma nuvem privada virtual (VPC) com sub-redes e uma instância do Amazon Elastic Compute Cloud (Amazon) EC2
Git instalado na instância EC2
AWSAcesso ao Identity and Access Management (IAM) para criar o bucket S3
IAMacesso (programático ou de função) ao Amazon S3 a partir da máquina cliente
AWS CodeCommit repositório
AWSInterface de linha de comando (AWSCLI)
Versões do produto
Helm v3
Python, versão 2.7.12 ou superior.
Arquitetura
Pilha de tecnologias de destino
Amazon S3
AWS CodeCommit
Helm
Kubectl
Python e pip
Git
plugin helm-s3
Arquitetura de destino
Automação e escala
Você pode incorporar o Helm à sua ferramenta de automação de integração contínua/entrega contínua (CI/CD) existente para automatizar o empacotamento e o controle de versão dos charts do Helm (fora do escopo desse padrão).
GitVersion ou os números de compilação do Jenkins podem ser usados para automatizar o controle de versão dos gráficos.
Ferramentas
Helm
: o Helm é um gerenciador de pacotes Helm para o Kubernetes ajuda a instalar e gerenciar aplicações em seu cluster do Kubernetes. Amazon S3: o Amazon Simple Storage Service (Amazon S3) serve como armazenamento para a internet. Você pode utilizar o Amazon S3 para armazenar e recuperar qualquer volume de dados, a qualquer momento, de qualquer lugar na web.
plugin helm-s3 – O plug-in
helm-s3 suporta interação com o Amazon S3. Ele pode ser usado com o Helm v2 ou o Helm v3.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Instalar o cliente do Helm v3 | Para baixar e instalar o cliente do Helm no sistema local, execute o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Valide a instalação do Helm. | Para validar o cliente do Helm, execute o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie um bucket do S3 para charts do Helm. | Crie um bucket exclusivo do S3. No bucket, crie uma pasta denominada | Administrador de nuvem, DevOps engenheiro |
Instale o plug-in do Helm-s3 para o Amazon S3. | Para instalar o plug-in helm-s3 na máquina cliente, use o comando a seguir: | Administrador de nuvem, DevOps engenheiro |
Inicialize o repositório do Helm no Amazon S3. | Para inicializar a pasta de destino como um repositório do Helm, use o comando a seguir: O comando cria um arquivo | Administrador de nuvem, DevOps engenheiro |
Verifique o repositório Helm recém-criado. | Para verificar se o | Administrador de nuvem, DevOps engenheiro |
Adicione o repositório Amazon S3 ao Helm na máquina cliente. | Para adicionar o alias do repositório de destino à máquina cliente Helm, use o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Clone seus charts do Helm. | Se nenhum gráfico local do Helm estiver presente em seu CodeCommit repositório, clone-o do seu GitHub repositório executando o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Embalar o chart do Helm local. | Para embalar o gráfico que você criou ou clonou, use o seguinte comando: Como exemplo, esse padrão usa o | Administrador de nuvem, DevOps engenheiro |
Armazene o pacote local no repositório do Helm no Amazon S3. | Para fazer o upload do pacote local para o repositório do Helm no Amazon S3, execute o seguinte comando: No comando, | Administrador de nuvem, DevOps engenheiro |
Pesquise pelo chart do Helm. | Para confirmar se o gráfico aparece localmente e no repositório Amazon S3 Helm, execute o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Modificar e embalar o gráfico. | Em | Administrador de nuvem, DevOps engenheiro |
Envie a nova versão para o repositório do Helm no Amazon S3. | Para enviar o novo pacote, versão 0.1.1, para o repositório my-helm-chartsHelm no Amazon S3, execute o seguinte comando: | Administrador de nuvem, DevOps engenheiro |
Verifique o chart do Helm atualizado. | Para confirmar se o gráfico atualizado aparece localmente e no repositório Amazon S3 Helm, execute os seguintes comandos.
| Administrador de nuvem, DevOps engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Pesquise todas as versões do gráfico my-app. | Para ver todas as versões disponíveis de um gráfico, execute o seguinte comando com o Sem o sinalizador, o Helm, por padrão, exibe a versão mais recente carregada de um gráfico. | DevOps Engenheiro |
Instale um gráfico do repositório do Helm no Amazon S3. | A instalação automatizada está fora do escopo desse padrão, mas você pode instalar manualmente. Os resultados da pesquisa da tarefa anterior mostram as várias versões do gráfico | DevOps Engenheiro |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Revise os detalhes de uma revisão específica. | A reversão automatizada está fora do escopo desse padrão, mas você pode reverter para uma versão anterior manualmente. Antes de alternar ou reverter para uma versão funcional e para obter uma camada adicional de validação antes de instalar uma revisão, veja quais valores foram passados para cada uma das revisões usando o comando a seguir: | DevOps Engenheiro |
Reverter para uma versão anterior. | A reversão automatizada está fora do escopo desse padrão. Para reverter manualmente para uma revisão anterior, use o seguinte comando: Este exemplo está revertendo para a revisão número 1. | DevOps Engenheiro |