$30 off During Our Annual Pro Sale. View Details »

Comment optimiser ma CI/CD avec Drone.io sur k3s ?

Comment optimiser ma CI/CD avec Drone.io sur k3s ?

Présentation de Drone.io sur k3s par Jérôme Devoucoux et Romain Boulanger au WeSpeakCloud de novembre 2019

https://www.youtube.com/watch?v=krdINeToV9I

Jérôme Devoucoux

November 27, 2019
Tweet

More Decks by Jérôme Devoucoux

Other Decks in Technology

Transcript

  1. Comment optimiser ma CI/CD avec Drone.io sur k3s ? WeSpeakCloud

    26 novembre 2019 Romain Boulanger Jérôme Devoucoux
  2. Plan drone.io, c’est quoi ? 02 Démonstration 03 Conclusion 04

    k3s, qu’est-ce que c’est ? 01
  3. 1. k3s Qu’est-ce que c’est ?

  4. Comment optimiser ma CI/CD avec Drone.io sur k3s ? k3s

    Présentation • Par Rancher • Kubernetes allégé • Simple binaire (50 mb) • Recommandé pour l’IoT, la CI ou les architectures ARM
  5. Comment optimiser ma CI/CD avec Drone.io sur k3s ? •

    Suppression des fonctionnalités taggées “legacy”, “alpha”, “non-default” • Suppression des addons • Utilisation de sqlite3 comme stockage par défaut (etcd3 est toujours disponible) • Gestion automatique du TLS • Très peu de dépendances avec le système d’exploitation (kernel et cgroups) Le jeu des 5 différences k3s
  6. Comment optimiser ma CI/CD avec Drone.io sur k3s ? Docker

    est optionnel ! Et surtout... k3s
  7. Comment optimiser ma CI/CD avec Drone.io sur k3s ? Comment

    ça marche là dedans ? k3s k3s agent --server https://monserveur:6443 --token ${NODE_TOKEN} k3s master k3s node NODE_TOKEN
  8. Comment optimiser ma CI/CD avec Drone.io sur k3s ? Comment

    ça marche là dedans ? k3s k3s.io
  9. 2. drone.io C’est quoi ?

  10. Comment optimiser ma CI/CD avec Drone.io sur k3s ? drone.io

    Présentation • “Container-native” • Configuration as code • Compatible avec tous les git providers • Installable on-premise directement (et aussi une offre SAAS si besoin) • Fonctionne partout, très léger et customisable • Deux méthodes d’installation : Docker et Kubernetes/Helm
  11. Comment optimiser ma CI/CD avec Drone.io sur k3s ? drone.io

    Pourquoi l’utiliser ? • Utilisé par Ebay, CISCO, VMWare, etc. • Référencé par la CNCF (en alternative) • Plus de 18 000 “stars” sur Github, stabilisé en V1 (mais un seul contributeur principal : Brad Rydzewski) • Assez souvent cité en conférences
  12. Comment optimiser ma CI/CD avec Drone.io sur k3s ? drone.io

    Comment ça fonctionne ? (Cas GitHub) Créer une “App” et récupérer le Client ID et Client Secret Activer le dépôt via drone Drone va créer un webhook au niveau du dépôt github Lors d’un push, un nouveau “commit” va déclencher un build Synchronisation des dépôts avec Github
  13. Comment optimiser ma CI/CD avec Drone.io sur k3s ? drone.io

    Un point sur la licence/facturation • Accès à toutes les fonctionnalités gratuitement • Licence OpenSource (Apache2 modifiée) • Mais si on dépasse les 5000 builds / an, il faut une licence “Enterprise” qui est payante • Des gestes sont faits pour les entreprises de petites tailles, startups, etc. https://discourse.drone.io/t/licensing-and-subscription-faq/3839 https://drone.io/enterprise/features/
  14. 3. drone / k3s Démonstration

  15. Le cheminement d’installation drone / k3s Comment optimiser ma CI/CD

    avec Drone.io sur k3s ? Terraform Ansible Base Génération de l’inventaire Réseau Instances et DNS k3s helm cert-manager drone Ansible Monitoring prometheus-operator
  16. L’infra drone / k3s Comment optimiser ma CI/CD avec Drone.io

    sur k3s ?
  17. La démo drone / k3s Comment optimiser ma CI/CD avec

    Drone.io sur k3s ?
  18. 4.drone / k3s Conclusion

  19. • Simple à mettre en oeuvre • Création de cluster

    très rapide • Permet d’acquérir facilement le langage Kubernetes • Très léger, par contre attention à ce qu’on fait tourner dessus, en comptant les outils système • Produit stable • Pas de multi-masters pour l’instant Feedback sur le projet k3s Comment optimiser ma CI/CD avec Drone.io sur k3s ?
  20. Conclusion k3s Comment optimiser ma CI/CD avec Drone.io sur k3s

    ? • Un pied dans le monde Kubernetes sans la complexité d’installation et maîtrise de l’écosystème interne • Des conteneurs qui tournent par défaut sans Docker • Adapté dans le cas d’une CI (dans notre cas, Drone.io), ou d’appliances IOT en ARM • Tourne parfaitement sur du t2.nano au a1.4xlarge sur AWS k3s est une distribution Kubernetes certifiée conçue pour les charges de travail de production dans des emplacements distants sans surveillance, à ressources limitées, ou dans des appliances IoT. “ “
  21. • Très rapide à mettre en oeuvre • S’interface parfaitement

    avec Github • Peu de documentations et de retours utilisateurs • Quid du projet si le mainteneur principal déserte ? Feedback sur le projet drone.io Comment optimiser ma CI/CD avec Drone.io sur k3s ?
  22. Conclusion drone.io Comment optimiser ma CI/CD avec Drone.io sur k3s

    ? • Simple, prise en main rapide • Minimaliste, épuré, rafraîchissant • Fonctionne vite et bien, efficace • Compatible avec Gitlab, Github et Bitbucket • Un ensemble de plugins à disposition, dont AWS & GCP
  23. Titre de la présentation 23 rue Taitbout 75009 Paris www.wescale.fr

    | blog.wescale.fr Romain Boulanger Cloud Builder romain.boulanger@wescale.fr Jérôme Devoucoux Cloud Builder jerome.devoucoux@wescale.fr @jdxlabs