Aller au contenu principal

Conclusion


Conclusions sur l'écosystème Docker

Configurer de la CI/CD​

  • La nature facile à déployer des conteneurs et l'intégration du principe d'Infrastructure-as-Code les rend indispensable dans de la CI/CD (intégration continue et déploiement continu).
  • Les principaux outils de CI sont Gitlab, Jenkins, Github Actions, Travis CI…
    • Gitlab propose par défaut des runners préconfigurés qui utilisent des conteneurs Docker et tournent en général dans un cluster Kubernetes.
    • Gitlab propose aussi un registry d'images Docker, privé ou public, par projet.
  • Les tests à l'intérieur des conteneurs peuvent aussi être faits de façon plus poussée, avec par exemple Ansible comme source de healthcheck ou comme suite pour les tests.
  • Dans une autre catégorie, Gitpod base son workflow sur des images Docker permettant de configurer un environnement de développement

Gérer les logs et monitorer des conteneurs​

Logging​

Avec Elasticsearch, Filebeat et Kibana… grâce aux labels sur les conteneurs Docker

Ou en utilisant des drivers de logs adéquats : https://docs.docker.com/config/containers/logging/configure/#supported-logging-drivers

Monitoring​

Gérer le reverse proxy​

Avec Traefik, aussi grâce aux labels sur les conteneurs Docker

Ou avec Nginx, avec deux projets :


Limites de Docker​

Stateful​

Configurer le réseau de façon plus complexe avec des plugins réseau​

  • Réseaux "overlay": IP in IP, VXLAN…
  • …mais on a rapidement besoin de plugins exclusifs à Kubernetes : Calico, Flannel, Canal (Calico + Flannel), Cilium (qui utilise eBPF)

Volumes distribués​

  • problème des volumes partagés / répliqués
    • domaine à part entière
    • Solution 1 : solutions applicatives robustes
    • Solution 2 : volume drivers avec Docker
      • Flocker, Convoy, visent à intégrer une technologie de réplication
      • c'est un moyen, pas une solution : reste un outil pour configurer ce que l'on souhaite

DataOps​

Retours​

  • Comment ça s'est passé ?
    • Difficulté : trop facile ? trop dur ? quoi en particulier ?
    • Vitesse : trop rapide ? trop lent ? lors de quoi en particulier ?
    • Attentes sur le contenu ? Les manipulations ?
    • Questions restées ouvertes ? Nouvelles questions ?