Auteur : Hervé Leclerc

PARIS CONTAINER DAY - Deuxième Édition

PARIS CONTAINER DAY

Après le succès de l’édition 2016, le Paris Container Day s’est tenu le mardi 13 juin 2017 au New Cap Event - 3 Quai de Grenelle, 75015 Paris. La première édition avait pour but de partager une vision de l’écosystème des conteneurs d’aujourd’hui et de demain. Cette année, le thème de la conférence était « Les Conteneurs en Production ».

Voici un résumé des conférences auxquelles j’ai assisté

Le lieu

Le New Cap Event, à Grenelle. Taille parfaite pour l’événement qui à rassemblé 420 participants. Les exposants étaient répartis sur 2 plateaux adjacents. Les salles de conférences au sous-sol.

8h30 : Déjà la foule pour assister à la première démo de Rancher Labs 400 personnes au PCD

Les conférences

Le lancement de l’évènement a été fait conjointement avec Xebia et WeScale.

Xebia+Wescale

Security in a containerized world – par JESSIE FRAZELLE (Google)

Un rappel sur les techniques mises en œuvre pour limiter les surfaces d’attaques des conteneurs. AppArmor, Seccomp, SELinux, cgroups tout y est passé.

Docker entre 2 conférences : Quoi de neuf ? par JEAN-LAURENT DE MORLHON (Docker)

Aucune nouveauté depuis la DockerCon d’Austin… incroyable ;). Jean-Laurent nous a présenté le projet Moby (Le projet open source de Docker a été renommé comme cela) et les nouvelles fonctionnalités phares de la 17.06 sont :

  • Le multistage build (Dockerfile)
  • Les rollback en cas de déploiement en échec
  • Le projet Moby en lui même.
Multi Stage Build

J’ai présenté cette fonctionnalité à la dernière pizza party d’alter way. Avec le multistage build la taille et la qualité des images est amélioré de manière très significative.

Voici un exemple:

FROM herveleclerc/docker-alpine-java8-jdk as builder

LABEL maintainer "herve.leclerc@alterway.fr"

ENV ANT_FILENAME=apache-ant-1.10.1 \
    ANT_HOME=/opt/ant \
    PATH=${PATH}:/opt/ant/bin \
    TOMCAT_VERSION=8.5.14

ADD https://www.apache.org/dist/ant/binaries/${ANT_FILENAME}-bin.tar.bz2 /tmp/ant.tar.bz2
ADD http://apache.mirrors.ovh.net/ftp.apache.org/dist/tomcat/tomcat-8/v${TOMCAT_VERSION}/src/apache-tomcat-${TOMCAT_VERSION}-src.tar.gz /tmp/tomcat.tar.gz


RUN tar -C /opt -xjf /tmp/ant.tar.bz2 && \
    tar -C /opt -xzf /tmp/tomcat.tar.gz && \
    ln -s /opt/${ANT_FILENAME} /opt/ant && \
    mv /opt/apache-tomcat-${TOMCAT_VERSION}-src /opt/tomcat && \
    cd /opt/tomcat && \
    ant && \
    rm -rf /tmp/* /var/cache/apk/* /opt/ant/manual/*

FROM herveleclerc/docker-alpine-java8-jre

WORKDIR /tomcat

COPY --from=builder /opt/tomcat/output/build  .

EXPOSE 8080

CMD ["/tomcat/bin/catalina.sh", "run"]

Rollback

Les rollback sont possibles soit directement en mettant à jour les services avec la commande docker update service MonService --rollback ou en décrivant la politique de rollback si les healthcheck ne passent pas. Les flags suivants sont disponibles :

--rollback-delay duration            Delay between task rollbacks (ns|us|ms|s|m|h)
--rollback-failure-action string     Action on rollback failure ("pause"|"continue")
--rollback-max-failure-ratio float   Failure rate to tolerate during a rollback
--rollback-monitor duration          Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h)
--rollback-order string              Rollback order ("start-first"|"stop-first")
--rollback-parallelism uint
Le projet Moby - avec LinuxKit

Docker

Your CI Pipeline is the Platform – JASON HANSEN (Microsoft)

Jason nous a présenté sa vision d’un pipeline basé sur K8s, Helm, Jenkins, et Draft.

Jason est à l’origine du PAAS Deis qui a été racheté par Microsoft il est aussi en charge du projet ACS (Azure container Services) de Microsoft.

Helm est un Package Manager conçu pour Kubernetes.

Draft est un framework (un de plus) destiné à faciliter les développements, déploiements dans des environnement Kubernetes. Quelques commandes (draft init, draft up)

Jason

Bringing containers to production with LinuxKit – JUSTIN CORMACK (Docker)

Un présentation et démonstration de LinuxKit par son premier contributeur. La promesse de linuxkit : construire des environnement linux ultra portable, ultra light, ultra secure sur tous les types de plateformes cloud, on-premise, desktop …

Take a BlaBlaCar to the stars with rkt (REX) - Simon Lallemand (BlaBlaCar)

Une très bonne de présentation de l’infrastructure mise en place par BlaBlaCar.

  • Bare Metal
  • CoreOS
  • Fleet

Un ovni dans la galaxie des containers

La présentation

There is no container – Ori Pekelman (Platform.sh)

Une présentation bouillonnante, brouillonne, pleine de parti pris par Ori Pekelman. Je n’ai retenu qu’une chose : Docker n’à pas fait les choses bien. Mais on n’a pas eu de réponses non plus, ni de ce qui a été fait sur plateform.sh

End-to-end monitoring with the Prometheus Operator – Max Inden (CoreOS)

Une présentation passionnante de Max sur le monitoring et la métrologie de k8s via Prometheus et Alertmanager.

prometheus

grafana

La présentation

LinkerD et Kubernetes – Romain Meunier (Vente-privée)

Une présentation très interessante de Romain sur les solutions techniques mises en oeuvres chez VP pour gérer les nouveaux services stateless.

vp

Romain nous a présenté longuement LinkerD un proxy multi protocolaire permettant de très facilement gérer les “canary update”. Sujet d’étonnement : toutes les versions d’un même composant sont déployées dans tous les environnements (dev, preprod, prod) et tous les environnements sont sur le même cluster K8.

linkerd

Nomad, l’orchestration made in HashiCorp – Bastien Cadiot (WeScale)

Démonstration de la puissance de cet outil pour déployer des nœuds, des applications sur plusieurs Datacenters ou plusieurs régions le tout très facilement.

Les sources de la démo sont disponibles ici :

nomad

La présentation

En résumé

  • il n’y a pas que Docker pour gérer des containers.
  • Kubernetes a le vent en poupe.
  • Beaucoup d’initiatives pour simplifier les environnements basés sur K8.
  • CoreOs tient bon
  • La sécurité est un thème toujours important et adressé de manière très rigoureuse.