Como automatizo implantações com o Kubernetes?

12

Supondo que o Kubernetes implantado via Rancher e Jenkins esteja criando novas imagens e enviando-as para o DockerHub após o check-in de um novo código no GitHub, como automatizo a implantação de novas imagens?

Outra maneira de fazer a pergunta pode ser: “Eu costumava usar o Octopus para gerenciar minhas implantações. Existe algo parecido com Kubernetes ou Rancher? Em última análise, é com essa última lacuna que estou lutando.

Greg
fonte

Respostas:

4

Quando você estiver usando o Rancher, a maneira mais fácil seria registrar o Catálogo Rancher personalizado e criar um item para cada pilha / serviço que você deseja implantar.

Adicionar catálogo personalizado

Rancher Catalog é um repositório Git com a seguinte estrutura

Estrutura do repositório Git

Em Jenkins, você pode criar um trabalho que chamaria a API REST do Rancher para implantar / atualizar a pilha / serviço.

insira a descrição da imagem aqui

Por sua vez, o Rancher obteria a versão mais recente da imagem do Docker para este serviço e a implantaria correspondente ao arquivo Docker Compose do catálogo.

insira a descrição da imagem aqui

Prós:

  • abordagem genérica que pode ser usada para quase todos os aplicativos
  • O próprio Jenkins pode ser implantado no ambiente Rancher, os agentes podem ser criados no cluster Kubernetes

Contras:

  • A equipe de desenvolvimento deve seguir uma sólida estratégia de lançamento para poder usar builds genéricos
  • drivers de armazenamento ainda estão sob a questão na versão alfa do Rancher 2.0
Maksim
fonte
-2

Terraform com o provedor Kubernetes.

Yuriy Medvedev
fonte
1
Oi. É possível expandir um pouco a resposta com detalhes de como fazer o mesmo ou com links úteis?
Dawny33