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
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
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
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
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/
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
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 ?
? • 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. “ “
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 ?
? • 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