Sunteți pe pagina 1din 54

OpenShift en production

7 piges viter

Elose Faure Akram Ben Aissi


Senior Consultant Cloud Architect
@faure_eloise @akrambenaissi
Akram Ben Aissi
Architecte Cloud @ Red Hat

OpenShifteur depuis le dbut


Aide les clients mettre en place OpenShift
Conseil sur les choix d'architecture
blog.akrambenaissi.com

2 PARIS CONTAINER DAY 2017


Elose Faure
Consultante Senior @ Red Hat

OpenShifteuse
Spcialise dans la mise en place de cluster
coup de marteau !
Frue dIntgration Continue
Dveloppeuse Java repentie

3 PARIS CONTAINER DAY 2017


Pourquoi ce talk ?
Vous viter dessuyer les pltres

Anticiper les problmatiques d'architecture


Disposer de ressources suffisantes
Rflchir l'exploitation
Monitorer

4 PARIS CONTAINER DAY 2017


Sous-estimer l'architecture
Cest quoi OpenShift ?

Solution de PaaS
S'appuie sur Docker et Kubernetes et ajoute....
Une couche de routage
Un outillage d'intgration continue pour containers
Un ensemble de template de projets Open Source

RED HAT CONSULTING 6


En thorie

7 PARIS CONTAINER DAY 2017


En super-thorie

8 PARIS CONTAINER DAY 2017


En pratique

Quelques gotchas:
Scalabilit de la plate-forme
VIP
DMZ (flux SDN bloqus)
Multi-routeur (par zone)
Multi-datacenter (minimum 3)

9 PARIS CONTAINER DAY 2017


Scalabilit etcd
La rgle 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 procdure de DRP

1 PARIS CONTAINER DAY 2017


0
Quelques anecdotes
Problmes rcurrents avec les VIP
ils ne veulent en faire qu' leur tte
Ils bloquent parfois le trafic derrire eux

Deux exemples rels: Stonegate et Azure LB

Contournements:
/etc/hosts
Policy Based Routing

1 PARIS CONTAINER DAY 2017


1
Quelques anecdotes
Multi cluster

Cluster OpenShift

1 PARIS CONTAINER DAY 2017


2
Quelques anecdotes
Multi cluster

Cluster Internet

Cluster Extranet

Cluster Intranet

1 PARIS CONTAINER DAY 2017


3
Quelques anecdotes
Multi cluster

Cluster Internet

Cluster Extranet Cluster Extranet Cluster Extranet


RH Finance Support

Cluster Intranet Cluster Intranet Cluster Intranet


RH Finance Support

1 PARIS CONTAINER DAY 2017


4
Quelques anecdotes
Multi cluster

Cluster Internet

Cluster Extranet Cluster Extranet Cluster Extranet


RH - C2 Finance - C2 Support - C2

Cluster Extranet Cluster Extranet Cluster Extranet


RH - C1 Finance - C1 Support - C 1

Cluster Intranet Cluster Intranet Cluster Intranet


RH Finance Support

1 PARIS CONTAINER DAY 2017


5
Ne pas prvoir le bon stockage
Drivers de stockage pour Docker

Stockage support pour OpenShift : device


mapper+thinpool
Device mapper + loopback (dfaut sur docker) et
AUFS peu performants et non supports
Overlay FS dans le futur
Meilleures performances: Cache Page
Sharing
Pas encore de support SELinux

1 PARIS CONTAINER DAY 2017


7
Stockage docker

Sparer les partitions


/var/lib/docker
/var/lib/origin

1 PARIS CONTAINER DAY 2017


8
Dlaisser l'exploitation et le run
Les fluuuuux !

Anticiper les demandes

Automatiser la validation

2 PARIS CONTAINER DAY 2017


0
Savoir tout reconstruire

Savoir rebuilder et le faire


Un playbook chapeau :
Pr-installation
Post-installation

2 PARIS CONTAINER DAY 2017


1
Faut pas casser la prod !
Une sandbox !

Sand box iso prod


Pour :
Linstallation
Les upgrades
Monter en comptences
Les changements de configuration

2 PARIS CONTAINER DAY 2017


2
Backup et restauration
Les raisons

Perte du / des datacenter


Retour un tat prcdent
Perte du stockage des donnes applicatives
Restauration sur un autre cluster pour analyse

2 PARIS CONTAINER DAY 2017


3
Certificats applicatifs

Peut retarder une MEP !


DNS wildcard = certificates wildcard
Un seul niveau aux certificats wildcard

2 PARIS CONTAINER DAY 2017


4
Certificats plateforme

Certificats auto-signs par dfaut


Dlgation de CA
Sinon, listes exhaustives des certificats
Master, etcd, Nodes, Router, Registry

2 PARIS CONTAINER DAY 2017


5
Garbage collection
Pour viter de noyer docker

Nettoyage des container mort


Nettoyages des images sur les nodes
Nettoyages des images de la registry
Nettoyage des volumes orphelins

2 PARIS CONTAINER DAY 2017


6
Oublier le monitoring
Prometheus + grafana
Stack originale: Hawkular+Cassandra
Efforts importants dans Prometheus
Ajout de fonctions natives d'alerting
Node exporter : IO, rseau
Dashboard grafana expose les informations de lapi kubernetes et des node exporter
https://github.com/akram/openshift-prometheus-grafana

2 PARIS CONTAINER DAY 2017


8
HAProxy
Solution de Reverse Proxy utilise dans OpenShift

OpenShift router instanci avec un


sidecar-container prometheus
haproxy-exporter

2 PARIS CONTAINER DAY 2017


9
Croire lOpen Ressource
Sizer la plateforme

Au dla du minimum
Dev, build, CI
Monitoring, metrics, registry, etc
Stockage docker
Local sur chaques nodes
Pour la registry

3 PARIS CONTAINER DAY 2017


1
SWAP

Identifi par REX grce au monitoring


MemoryPressure est pris en compte lors du scheduling
Swap => non identification de la MemoryPressure
Pods schduls sur des nodes sous pression

3 PARIS CONTAINER DAY 2017


2
Quota / limites

Protger les applications critiques


Laisser de la libert
Les quotas :
Se protger des dveloppeurs fous
Les limites :
Se protger des containers fous

3 PARIS CONTAINER DAY 2017


3
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
Rduire le nombre de thread du GC (-XX:ParallelGCThreads)
Limiter la densit d'application par node

3 PARIS CONTAINER DAY 2017


4
Ngliger le rseau
SDN
Comment ce serait dans le monde physique ?

SDN: Software Defined Network


Cbler tous les containers prendrait trop de temps
Grer la scurit
La sgrgation des rseaux
Instancier un switch diffrent par projet ou zone

3 PARIS CONTAINER DAY 2017


6
SDN sur SDN

On en trouve tous les tages (IaaS, Virtu)


Attention l'encapsulation
MTU ethernet par dfaut 1500, en-tte de 50
Jumbo frames ?

3 PARIS CONTAINER DAY 2017


7
OpenvSwitch multi-tenant

Fonction SDN de OpenShift: Plugins volutifs


Flat network
Multi tenant
Egress policy
Activer le bon: Gnralement ovs-multitenant

3 PARIS CONTAINER DAY 2017


8
Routeur et protocoles
... autres que HTTP et HTTPS ?

HTTP / HTTPS (ou autre supportant SNI)


Sinon, port-forward
Service node port
Ingress IP
Et pourquoi pas une app pour exposer la BDD ?

3 PARIS CONTAINER DAY 2017


9
Scurit
SELinux et SCC

SELinux : Mcanisme de label sur ressources permettant du contrle d'accs


Policy permettant de dfinir ces contrles
Activ sur RHEL par dfaut
Dsactiv par les admins par dfaut (what?) [1]
Dirty Cow: Une des premires failles permettant escalation de privilge
SCC: Security Context Constraints
Par dfault: restricted

[1] https://people.redhat.com/duffy/selinux/selinux-coloring-book_A4-Stapled.pdf

4 PARIS CONTAINER DAY 2017


1
Docker dans docker : on sen passe !

Besoin classique : build, pull et push dimage partir dOpenShift


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

4 PARIS CONTAINER DAY 2017


2
Take away
A retenir

Anticipez !
Les flux, les certificats, le sizing
Simplifiez !
Larchitecture
Contrlez !
Quota, limites, scurit
Monitorez !
Prometheus, grafana, HA Proxy

4 PARIS CONTAINER DAY 2017


4
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
THANK YOU
plus.google.com/+RedHat facebook.com/redhatinc

linkedin.com/company/red-hat twitter.com/RedHatNews

youtube.com/user/RedHatVideos
Parking Slides
Backup et restauration
Les moyens

Sauvegarde ETCD
Sauvegarde des donnes :
Registry
Donnes applicatives
Intgration continue
Logging
Synchronisation des sauvegardes

5 PARIS CONTAINER DAY 2017


1
Multi datacenter / Ubernetes
Multi-datacenter : Multi-problmes
Contraintes sur la latence inter-etcd < 5ms
Quorum rsilient ncessite 3 sites

Autres solutions:
2 sites avec un master passif et PRA
Fdration de cluster OpenShift avec Ubernetes
lve les fonctions de kubernetes au niveau des clusters
Scheduling multi-cluster
Gestion des droits utilisateurs
Tech Preview en 3.6

5 PARIS CONTAINER DAY 2017


2
Stockage applicatif

Pourquoi des volumes ?


Persistance des donnes importantes
Ecriture des donnes non importantes en dehors de l'image
(emptyDir)
Choisir sa solution de stockage
Intert du Read Write Many

5 PARIS CONTAINER DAY 2017


3
Evolutions du SDN

Amliorer les performances et la scurit


Intgration IaaS/Virtualisation avec diteurs
tiers (Nuage, Cisco, VMWare)

Network policy: Dfinir des rgles de trafic


entrant et sortant au niveau containeur

5 PARIS CONTAINER DAY 2017


4

S-ar putea să vă placă și