1 an dans le Kube – – Attention



1 an dans le Kube – – Attention

1 0


1-an-dans-le-kube

Retour d'expérience sur Kubernetes et Jamshake

On Github BodySplash / 1-an-dans-le-kube

1 an dans le Kube

(à peu près)

Jean-Baptiste Dusseaut @bodysplash

Attention

Je ne suis pas…

  • DevOps
  • Passionné d'infra
  • Expert linux
  • Amoureux de la technique pour la technique

J'aime

  • Le code propre, au service du produit
  • Me concentrer sur la complexité essentielle et pas accidentelle
  • La bière
  • Le Domain Driven Design
  • Garder des options ouvertes

Complexité

  • États
  • Interdépendances
  • Incertitudes
  • Irréversabilité

Professor Enrico Zaninotto

Via Kent Beck

IaaS

VS

PaaS

Le PaaS limite trop les options

You shall not PaaS!

Rend le facile trivial, le difficile impossible

  • Encourage un monolithe
  • Ferme des options
  • Couplage avec le fournisseur

V1

AWS + Ansible + Docker

Pourquoi Docker ?

  • Réversabilité!
  • Réduction de l'effet "Snowflake"
  • Construire son infra sur le poste de dev
  • Monter un environnement pour les intégrateurs

Pourquoi AWS et Ansible ?

Gruuuuu

Offre Docker basée sur leurs propres outils :

  • Difficile de migrer
  • LE PRIX !!!

Kubernetes : CaaS

A new hope

Single Responsability Principle

Je ne gère plus des serveurs mais un ensemble de containers

Cette abstraction ne fuit pas

L'exploitation a son "Bounded Context"

  • Service
  • Replication Controller
  • Pod
  • ...
  • Simple n'est pas simpliste : complexité essentielle
  • Service discovery == Bounded contexts open bar
  • Open Source
  • Bonus : Rolling Update, fault tolerance...
  • Master "Gratuit"
  • Quasi rien à configurer sur le cluster
  • Transparent : groupe d'instances + Master
  • (mais faite attentions aux ips)

Étape 1 : Les descripteurs

  • Verbeux tout de même
  • Tags WTF
  • Quelques cas tordus : ZooKeeper
  • On utilise toujours Ansible

Étape 2 : La taille

  • Ne pas dépasser les 5 nœuds
  • Chaque nouveau node doit nous faire tenir longtemps
  • N+1 nodes
  • ATTENTION : kube consomme (peut se lire "ne jamais tenter de monter un cluster avec des micros")

Étape 3 : Je mets quoi dedans

Indices

  • Pas votre base
  • Pas votre intégration continue

Étape 4 : Intégration continue

  • Registry ?
  • Namespaces
  • Drone
  • Ou wercker ?
  • Taille des images

Étape surprise

Alpine et Kubernetes sont dans un bateau

Exploitation

  • Logs aggrégés
  • Stackdriver
  • Mise à jour des clusters
  • Nœuds qui partent en cacahuète

Et ensuite...

Ça va limite plus vite que l'écosytème JS...

Mais :

  • Kubernetes avance vite (ingress, autoscaler, taille de node multiples...)
  • Helm
  • Deis

Complexité

  • États
  • Interdépendances
  • Incertitudes
  • Irréversabilité

Professor Enrico Zaninotto

Via Kent Beck

Du coup...

  • scoop.immo
  • preveasy
  • groupe sud-ouest
  • ...
L'avenir : DEIS HELM Concurrence : swarm fleet intégration continue
1 an dans le Kube (à peu près) Jean-Baptiste Dusseaut @bodysplash