Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

OpenShift en production - Akram Ben Assi & Eloïse Faure

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité

Consultez-les par la suite

1 sur 54 Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à OpenShift en production - Akram Ben Assi & Eloïse Faure (20)

Publicité

Plus récents (20)

Publicité

OpenShift en production - Akram Ben Assi & Eloïse Faure

  1. 1. OpenShift en production 7pièges à éviter Eloïse Faure Senior Consultant @faure_eloise Akram Ben Aissi Cloud Architect @akrambenaissi
  2. 2. PARIS CONTAINER DAY 20172 OpenShifteur depuis le début Aide les clients à mettre en place OpenShift Conseil sur les choix d'architecture blog.akrambenaissi.com Akram Ben Aissi Architecte Cloud @ Red Hat
  3. 3. PARIS CONTAINER DAY 20173 OpenShifteuse Spécialisée dans la mise en place de cluster à coup de marteau ! Férue d’Intégration Continue Développeuse Java repentie Eloïse Faure Consultante Senior @ Red Hat
  4. 4. PARIS CONTAINER DAY 20174 Anticiper les problématiques d'architecture Disposer de ressources suffisantes Réfléchir à l'exploitation Monitorer Pourquoi ce talk ? Vous éviter d’essuyer les plâtres
  5. 5. Sous-estimer l'architecture
  6. 6. RED HAT CONSULTING Solution de PaaS S'appuie sur Docker et Kubernetes et ajoute.... ● Une couche de routage ● Un outillage d'intégration continue pour containers ● Un ensemble de template de projets Open Source 6 C’est quoi OpenShift ?
  7. 7. PARIS CONTAINER DAY 20177 En théorie
  8. 8. PARIS CONTAINER DAY 20178 En super-théorie
  9. 9. PARIS CONTAINER DAY 20179 En pratique Quelques gotchas: ● Scalabilité de la plate-forme ● VIP ● DMZ (flux SDN bloqués) ● Multi-routeur (par zone) ● Multi-datacenter (minimum 3)
  10. 10. PARIS CONTAINER DAY 2017 1 0 Scalabilité etcd La règle de 3 Minimum pour la HA : 3 Nombre impair Sur 2 Data Center : ● 1 DC avec 2 etcd actif ● 1 DC avec 1 etcd actif et 1 passif ● 1 procédure de DRP
  11. 11. PARIS CONTAINER DAY 2017 1 1 Quelques anecdotes Problèmes récurrents avec les VIP ● ils ne veulent en faire qu'à leur tête ● Ils bloquent parfois le trafic derrière eux Deux exemples réels: Stonegate et Azure LB Contournements: ● /etc/hosts ● Policy Based Routing
  12. 12. PARIS CONTAINER DAY 2017 1 2 Quelques anecdotes Multi cluster Cluster OpenShift
  13. 13. PARIS CONTAINER DAY 2017 1 3 Quelques anecdotes Cluster Intranet Cluster Internet Cluster Extranet Multi cluster
  14. 14. PARIS CONTAINER DAY 2017 1 4 Quelques anecdotes Cluster Extranet Finance Cluster Intranet Finance Cluster Internet Cluster Extranet RH Cluster Extranet Support Cluster Intranet Support Cluster Intranet RH Multi cluster
  15. 15. PARIS CONTAINER DAY 2017 1 5 Quelques anecdotes Cluster Extranet Finance - C2 Cluster Intranet Finance Cluster Internet Cluster Extranet RH - C2 Cluster Extranet Support - C2 Cluster Intranet Support Cluster Intranet RH Cluster Extranet RH - C1 Cluster Extranet Support - C 1 Cluster Extranet Finance - C1 Multi cluster
  16. 16. Ne pas prévoir le bon stockage
  17. 17. PARIS CONTAINER DAY 2017 1 7 Drivers de stockage pour Docker Stockage supporté pour OpenShift : device mapper+thinpool Device mapper + loopback (défaut sur docker) et AUFS peu performants et non supportés Overlay FS dans le futur ● Meilleures performances: Cache Page Sharing ● Pas encore de support SELinux
  18. 18. PARIS CONTAINER DAY 2017 1 8 Stockage docker Séparer les partitions ● /var/lib/docker ● /var/lib/origin
  19. 19. Délaisser l'exploitation et le run
  20. 20. PARIS CONTAINER DAY 2017 2 0 Les fluuuuux ! Anticiper les demandes Automatiser la validation
  21. 21. PARIS CONTAINER DAY 2017 2 1 Savoir tout reconstruire Savoir rebuilder et le faire Un playbook chapeau : ● Pré-installation ● Post-installation
  22. 22. PARIS CONTAINER DAY 2017 2 2 Faut pas casser la prod ! Sand box iso prod Pour : ● L’installation ● Les upgrades ● Monter en compétences ● Les changements de configuration Une sandbox !
  23. 23. PARIS CONTAINER DAY 2017 2 3 Backup… et restauration Perte du / des datacenter Retour à un état précédent Perte du stockage des données applicatives Restauration sur un autre cluster pour analyse Les raisons
  24. 24. PARIS CONTAINER DAY 2017 2 4 Certificats applicatifs Peut retarder une MEP ! DNS wildcard = certificates wildcard Un seul niveau aux certificats wildcard
  25. 25. PARIS CONTAINER DAY 2017 2 5 Certificats plateforme Certificats auto-signés par défaut Délégation de CA Sinon, listes exhaustives des certificats… ● Master, etcd, Nodes, Router, Registry
  26. 26. PARIS CONTAINER DAY 2017 2 6 Garbage collection Nettoyage des container mort Nettoyages des images sur les nodes Nettoyages des images de la registry Nettoyage des volumes orphelins Pour éviter de noyer docker
  27. 27. Oublier le monitoring
  28. 28. PARIS CONTAINER DAY 2017 2 8 Prometheus + grafana ● Stack originale: Hawkular+Cassandra ● Efforts importants dans Prometheus ● Ajout de fonctions natives d'alerting ● Node exporter : IO, réseau ● Dashboard grafana expose les informations de l’api kubernetes et des node exporter ● https://github.com/akram/openshift-prometheus-grafana
  29. 29. PARIS CONTAINER DAY 2017 2 9 HAProxy Solution de Reverse Proxy utilisée dans OpenShift OpenShift router instancié avec un sidecar-container prometheus haproxy-exporter
  30. 30. Croire à l’Open Ressource
  31. 31. PARIS CONTAINER DAY 2017 3 1 Sizer la plateforme Au déla du minimum Dev, build, CI Monitoring, metrics, registry, etc Stockage docker ● Local sur chaques nodes ● Pour la registry
  32. 32. PARIS CONTAINER DAY 2017 3 2 SWAP Identifié par REX grâce au monitoring MemoryPressure est pris en compte lors du scheduling ● Swap => non identification de la MemoryPressure ● Pods schédulés sur des nodes sous pression
  33. 33. PARIS CONTAINER DAY 2017 3 3 Quota / limites Protéger les applications critiques Laisser de la liberté Les quotas : ● Se protéger des développeurs fous Les limites : ● Se protéger des containers fous
  34. 34. PARIS CONTAINER DAY 2017 3 4 Focus JAVA Heap : -Xmx < pod limit * 0.5 GC : Peut écrouler le quota de CPU shares ● GC + CFS = STW ● Si la latence est importante: refaire des tests de charge ● Réduire le nombre de thread du GC (-XX:ParallelGCThreads) ● Limiter la densité d'application par node
  35. 35. Négliger le réseau
  36. 36. PARIS CONTAINER DAY 2017 3 6 SDN Comment ce serait dans le monde physique ? SDN: Software Defined Network Câbler tous les containers prendrait trop de temps Gérer la sécurité La ségrégation des réseaux Instancier un switch différent par projet ou zone
  37. 37. PARIS CONTAINER DAY 2017 3 7 SDN sur SDN On en trouve à tous les étages (IaaS, Virtu) Attention à l'encapsulation MTU ethernet par défaut 1500, en-tête de 50 Jumbo frames ?
  38. 38. PARIS CONTAINER DAY 2017 3 8 OpenvSwitch multi-tenant Fonction SDN de OpenShift: Plugins évolutifs ● Flat network ● Multi tenant ● Egress policy Activer le bon: Généralement ovs-multitenant
  39. 39. PARIS CONTAINER DAY 2017 3 9 Routeur et protocoles HTTP / HTTPS (ou autre supportant SNI) Sinon, port-forward… Service node port Ingress IP Et pourquoi pas une app pour exposer la BDD ? ... autres que HTTP et HTTPS ?
  40. 40. Sécurité
  41. 41. PARIS CONTAINER DAY 2017 4 1 SELinux et SCC SELinux : Mécanisme de label sur ressources permettant du contrôle d'accès ● Policy permettant de définir ces contrôles ● Activé sur RHEL par défaut ● Désactivé par les admins par défaut (what?) [1] Dirty Cow: Une des premières failles permettant escalation de privilège SCC: Security Context Constraints ● Par défault: restricted [1] https://people.redhat.com/duffy/selinux/selinux-coloring-book_A4-Stapled.pdf
  42. 42. PARIS CONTAINER DAY 2017 4 2 Docker dans docker : on s’en passe ! Besoin classique : build, pull et push d’image à partir d’OpenShift Pas de docker dans docker ● https://jpetazzo.github.io/2015/09/03/do-not-use-docker-in-docker-f or-ci/ On ne mappe pas la socket ! Utiliser un build OpenShift “Docker strategy”
  43. 43. Take away
  44. 44. PARIS CONTAINER DAY 2017 4 4 A retenir Anticipez ! Les flux, les certificats, le sizing Simplifiez ! L’architecture Contrôlez ! Quota, limites, sécurité Monitorez ! Prometheus, grafana, HA Proxy
  45. 45. Links ● SELinux Color Book ● JVM Stop World Pause with CFS ● Linux Control Groups Uncontrolled ● Java Memory Accounting in Containers ● OpenShift Router ● AUFS Storage Driver ● Docker Image Layering ● How The OverlayFS Driver Works
  46. 46. THANK YOU plus.google.com/+RedHat linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHatNews
  47. 47. Parking Slides
  48. 48. PARIS CONTAINER DAY 2017 5 1 Backup… et restauration Sauvegarde ETCD Sauvegarde des données : ● Registry ● Données applicatives ● Intégration continue ● Logging Synchronisation des sauvegardes Les moyens
  49. 49. PARIS CONTAINER DAY 2017 5 2 Multi datacenter / Ubernetes Multi-datacenter : Multi-problèmes ● Contraintes sur la latence inter-etcd < 5ms ● Quorum résilient nécessite 3 sites Autres solutions: ● 2 sites avec un master passif et PRA ● Fédération de cluster OpenShift avec Ubernetes ○ Élève les fonctions de kubernetes au niveau des clusters ■ Scheduling multi-cluster ■ Gestion des droits utilisateurs ○ Tech Preview en 3.6
  50. 50. PARIS CONTAINER DAY 2017 5 3 Stockage applicatif Pourquoi des volumes ? ● Persistance des données importantes ● Ecriture des données non importantes en dehors de l'image (emptyDir) Choisir sa solution de stockage Interêt du Read Write Many
  51. 51. PARIS CONTAINER DAY 2017 5 4 Evolutions du SDN Améliorer les performances et la sécurité ● Intégration IaaS/Virtualisation avec éditeurs tiers (Nuage, Cisco, VMWare) ● Network policy: Définir des règles de trafic entrant et sortant au niveau containeur

×