Come automatizzare le distribuzioni con Kubernetes?


12

Supponendo che Kubernetes sia distribuito tramite Rancher e Jenkins stia creando nuove immagini e le stia spingendo su DockerHub al momento del check-in del nuovo codice su GitHub, come automatizzare la distribuzione di nuove immagini?

Un altro modo di porre la domanda potrebbe essere: “Prima utilizzavo Octopus per gestire le mie implementazioni. C'è qualcosa di simile incorporato in Kubernetes o Rancher? ” Alla fine, è questo ultimo divario con cui sto lottando.

Risposte:


4

Mentre usi Rancher, il modo più semplice sarebbe quello di registrare il Catalogo Rancher personalizzato e creare un articolo per ogni stack / servizio che desideri distribuire.

Aggiungi catalogo personalizzato

Il Catalogo Rancher è un repository Git con la seguente struttura

Struttura del repository Git

Quindi in Jenkins è possibile creare un lavoro che chiamerebbe l'API REST Rancher per distribuire / aggiornare stack / servizio.

inserisci qui la descrizione dell'immagine

A sua volta, Rancher estrae l'ultima versione dell'immagine Docker per questo servizio e lo distribuisce dal file Docker Compose dal catalogo.

inserisci qui la descrizione dell'immagine

Professionisti:

  • approccio generico che potrebbe essere utilizzato per quasi tutte le app
  • Jenkins stesso potrebbe essere distribuito nell'ambiente Rancher, gli agenti potrebbero essere creati nel cluster Kubernetes

Contro:

  • il team di sviluppo dovrebbe seguire una solida strategia di rilascio per poter usare build generiche
  • i driver di archiviazione sono ancora sotto la domanda nella versione alpha di Rancher 2.0

-2

Terraform con il fornitore Kubernetes.


1
Ciao. È possibile espandere un po 'la risposta con dettagli su come fare lo stesso o con collegamenti utili?
Dawny33
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.