Spinnaker - AWS Orientação prescritiva

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á.

Spinnaker

Embora o Spinnaker não tenha sido projetado exclusivamente como uma GitOps ferramenta, você pode configurá-lo para implementar GitOps princípios, especialmente quando você o usa para implantações nativas da nuvem e do Kubernetes.

GitOps apoio

Área Capacidades da ferramenta

Configuração declarativa

O Spinnaker usa definições declarativas de pipeline, que normalmente são armazenadas como arquivos JSON ou YAML. Essas definições de pipeline podem ser controladas por versão nos repositórios Git, de acordo com as práticas. GitOps

IaC

O Spinnaker suporta a definição de configurações de infraestrutura e implantação como código. Essas definições podem ser armazenadas nos repositórios Git e podem servir como a única fonte confiável.

Implantações em várias nuvens

O Spinnaker foi projetado para funcionar em vários provedores de nuvem e clusters Kubernetes. Ele permite GitOps práticas consistentes em diversos ambientes.

Pipeline como código

Os pipelines do Spinnaker podem ser definidos como código e armazenados em repositórios Git. Isso permite o controle de versão e a revisão dos processos de implantação.

Implantações automatizadas

Você pode configurar o Spinnaker para iniciar automaticamente as implantações com base nas alterações nos repositórios Git. A ferramenta oferece suporte a práticas de implantação contínua que são fundamentais para GitOps o.

Infraestrutura imutável

A Spinnaker promove o uso de infraestrutura imutável, que é um conceito-chave em. GitOps Ela incentiva a implantação de novas instâncias em vez de modificar as existentes.

Reversões e controle de versão

O Spinnaker fornece recursos robustos de reversão e rápida reversão aos bons estados anteriores conhecidos. Ele suporta o controle de versões de implantações, em alinhamento com GitOps os princípios de rastreabilidade.

Fluxos de trabalho de aprovação

O Spinnaker inclui estágios de julgamento manual em pipelines para apoiar promoções controladas entre ambientes. Isso suporta GitOps práticas de separação entre implantações e versões.

Canary e implantações blue/green

O Spinnaker oferece suporte a estratégias avançadas de implantação que se alinham GitOps às práticas de lançamentos seguros e controlados.

Integração com sistemas de controle de versão

O Spinnaker pode se integrar a vários provedores de Git para iniciar pipelines com base nos eventos do repositório.

Integração com o Kubernetes

O Spinnaker fornece suporte nativo para o Kubernetes e oferece suporte ao gerenciamento em estilo dos recursos do Kubernetes. GitOps

Gerenciamento de Artefatos

O Spinnaker oferece suporte ao gerenciamento de artefatos e ao controle de versões, que são cruciais para manter um fluxo de trabalho. GitOps

Observabilidade e monitoramento

O Spinnaker oferece integração com ferramentas de monitoramento para apoiar o aspecto de observabilidade do. GitOps

Trilha de auditoria

O Spinnaker fornece registros e histórico detalhados de implantação, que apoiam o princípio de auditabilidade do. GitOps

Regras de controle de acesso com base em função (RBAC)

Essa ferramenta implementa o RBAC para um controle refinado sobre quem pode realizar quais ações, de acordo com as práticas de segurança. GitOps

Modelagem e parametrização

O Spinnaker oferece suporte à modelagem em definições de pipeline para permitir implantações reutilizáveis e parametrizadas.

Promoção do meio ambiente

O Spinnaker facilita a promoção de aplicações entre ambientes (por exemplo, da preparação à produção) de forma controlada.

Integração com ferramentas de CI

O Spinnaker pode se integrar a várias ferramentas de integração contínua (CI) para fornecer um CI/CD pipeline completo que segue os princípios. GitOps

Estágios e extensões personalizados

Essa ferramenta oferece suporte a estágios e extensões personalizados, para que as equipes possam implementar GitOps fluxos de trabalho adaptados às suas necessidades.

Gerenciamento centralizado

O Spinnaker fornece uma plataforma centralizada para gerenciar implantações em vários ambientes e provedores de nuvem.

Embora o Spinnaker não seja comercializado principalmente como uma GitOps ferramenta, sua flexibilidade e seu conjunto robusto de recursos o tornam capaz de implementar GitOps fluxos de trabalho, especialmente em ambientes complexos com várias nuvens. A principal diferença entre o Spinnaker e GitOps ferramentas dedicadas, como o Argo CD ou o Flux, é que o Spinnaker oferece uma plataforma de entrega contínua mais abrangente com estratégias avançadas de implantação e suporte a várias nuvens.

A força da Spinnaker está em sua capacidade de lidar com cenários complexos de implantação em vários provedores de nuvem e em seu suporte a estratégias avançadas de implantação. Quando o Spinnaker está configurado corretamente, ele pode implementar GitOps princípios de forma eficaz. Isso o torna uma ferramenta poderosa para organizações que desejam adotar GitOps práticas em ambientes diversos e complexos.

Para obter mais informações, consulte a documentação do Spinnaker.

Arquitetura

O diagrama a seguir ilustra um fluxo GitOps de trabalho baseado em CD que usa o Spinnaker e o Jenkins X. Para obter informações detalhadas, consulte a documentação do Spinnaker.

Arquitetura e fluxo de trabalho do Spinnaker ativados. AWS

em que:

  • Etapa 1: confirmação do código. Os desenvolvedores confirmam as alterações no código do aplicativo em um repositório Git. Essas mudanças podem incluir atualizações no próprio aplicativo, nos Dockerfiles ou nos manifestos do Kubernetes.

  • Etapa 2: construção do Jenkins e criação da imagem. O Jenkins é acionado automaticamente pelo repositório Git por meio de um webhook ou enquete. O Jenkins cria o aplicativo, cria uma imagem do Docker e envia a imagem criada para um registro do Docker configurado (como Amazon ECR ou Docker Hub).

  • Etapa 3: monitoramento de imagem do Spinnaker e acionamento do pipeline. O Spinnaker monitora continuamente o registro do Docker em busca de novas imagens. Quando uma nova versão da imagem é detectada, o Spinnaker aciona automaticamente um pipeline para iniciar o processo de implantação.

  • Etapa 4: Implantação nos namespaces de destino. A Spinnaker implanta a nova imagem do Docker no Amazon EKS. Com base nas configurações do pipeline, a imagem é implantada nos namespaces de destino no cluster. O Spinnaker garante que a versão mais recente do aplicativo seja implantada enquanto segue estratégias de implantação definidas, como blue/green implantações canárias.