Comment automatiser les déploiements avec Kubernetes?

12

En supposant que Kubernetes soit déployé via Rancher et Jenkins crée de nouvelles images et les envoie à DockerHub lors de l'enregistrement du nouveau code dans GitHub, comment automatiser le déploiement de nouvelles images?

Une autre façon de poser la question pourrait être: «J'utilisais Octopus pour gérer mes déploiements. Y a-t-il quelque chose de similaire intégré à Kubernetes ou Rancher? » En fin de compte, c'est ce dernier écart avec lequel je me bats.

Greg
la source

Réponses:

4

Lorsque vous utilisez Rancher, la manière la plus simple consiste à enregistrer un catalogue Rancher personnalisé et à créer un élément pour chaque pile / service que vous souhaitez déployer.

Ajouter un catalogue personnalisé

Rancher Catalog est un référentiel Git avec la structure suivante

Structure du référentiel Git

Ensuite, dans Jenkins, vous pouvez créer un travail qui appellerait l'API Rancher REST pour déployer / mettre à jour la pile / le service.

entrez la description de l'image ici

À son tour, Rancher tirait la dernière version de l'image Docker pour ce service et la déployait correspondant au fichier Docker Compose du catalogue.

entrez la description de l'image ici

Avantages:

  • approche générique qui pourrait être utilisée pour presque toutes les applications
  • Jenkins lui-même pourrait être déployé dans l'environnement Rancher, des agents pourraient être créés dans le cluster Kubernetes

Les inconvénients:

  • l'équipe de développement doit suivre une stratégie de publication solide pour pouvoir utiliser des versions génériques
  • les pilotes de stockage sont toujours sous la question dans la version alpha de Rancher 2.0
Maksim
la source
-2

Terraform avec le fournisseur Kubernetes.

Yuriy Medvedev
la source
1
Salut. Possible d'élargir un peu la réponse avec des détails sur la façon de faire la même chose, ou avec des liens utiles?
Dawny33