A Booking.com publicou no dia 9/Dezembro/2018 o código fonte do Shipper. Shipper é um projeto de open source que oferece rollouts avançados e personalizados para um ou vários Clusters Kubernetes. Shipper usa gráficos Helm e conceitos nativos do Kubernetes para facilitar a configuração de blue/green ou canary deployments em seus aplicativos.
A versão atual usa a versão padrão do Kubernetes com seu traffic shifting, dessa forma você não precisa de um service mesh para começar. O suporte à Istio está no roadmap e segundo eles ficará pronto nos próximos meses.
Por que o Shipper existe?
O Kubernetes é uma plataforma maravilhosa, mas a implementação de estratégias de implantação maduras sob K8S requer uma orquestração de várias etapas: os objetos de implantação são building blocks, não uma solução.
Quando implementadas como um conjunto de scripts em ferramentas de CI / CD, como Jenkins, GitLab ou Brigade, essas estratégias podem se tornar difíceis de depurar ou deixar de fora propriedades importantes como reversões seguras.
Esses problemas se tornam mais graves quando o rollout tem como alvo vários clusters do Kubernetes, em várias regiões: a complexidade dessa orquestração, de várias etapas tem muitas oportunidades de falhar e deixar clusters em estados inconsistentes.
O Shipper ajuda fornecendo uma API de nível mais alto para estratégias de distribuição complexas para um ou vários clusters. Ele simplifica os scripts do pipeline de CI / CD, permitindo que eles se concentrem nas partes que são importantes para esse aplicativo em particular.
Refarências
Parte do texto foi traduzido e adaptado de https://medium.com/booking-com-infrastructure/introducing-shipper-daf9244e3882 e do repositório do projeto no github é: https://github.com/bookingcom/shipper
0 comentários