Openshift 3 & Kubernetes

Post on 07-Apr-2017

42 views 2 download

Transcript of Openshift 3 & Kubernetes

Openshift 3et Kubernetes

API Hour #26 - Clermont'ech du 27/03/2017Présenté par Julien Pervillé

2

À propos

Julien Pervillé, 38 ans,

Ingénieur système multi-usage chez Perfect-Memory depuis 2013

Github @jperville (projets chef, docker, openshift)

3

Sommaire1. Contexte

○ 12 factors, Docker

○ Kubernetes, Openshift 3

2. Openshift 3

○ Architecture

○ API

○ Workflow

3. En pratique

4

Contexte (1)● The Twelve Factor App (2012)

Site web : http://12factor.net

Liste de 12 principes à suivre pour écrire des applications web scalables

Par exemple : séparation processus/data, configuration par variables d’environnement, logs etc.

● Docker (2013)

Principe : 1 code source → 1 image docker→ N déploiements (dev/testing/production)

Docker propose des abstractions qui simplifient le déploiement des applications Twelve Factor

$ docker run --rm -ti –name=myapp -p 8080:8080 -v /opt/myapp:/data -e DATADIR=/data myapp

5

Contexte (2)● Kubernetes (2014)

Gestion de cluster et orchestration de containers Docker. Projet star sur Github (22000 étoiles).

Base théorique forte issue de l’expérience de Google dans le déploiement massif de containers.

Projet Open Source ; multiple offres commerciales comme Google Container Engine (GKE).

● Openshift 3 (2015)

Surcouche de Kubernetes pour l’Entreprise, par Red Hat.

Valeur ajoutée : utilisateurs, gestion droits, workflow source to image etc.

6

Openshift 3 (1)● Bien démarrer avec Openshift

– Documentation : https://docs.openshift.org/latest/welcome/index.html

– Téléchargements : https://github.com/openshift/origin/releases

– Déploiements jouets pour développeurs : `oc cluster up`, minishift, GKE

– Déploiement de production : AWS, GKE, metal (via playbook ansible ou cookbook chef)

● Prérequis :

– Système Linux récent (par exemple : Ubuntu 16.04, Centos 7)

– Docker récent

– Binaires client Openshift 3

7

Openshift 3 (2)

8

Openshift 3 (3)

9

Openshift 3 (4)

Workflow de déploiement continu des applications chez Perfect-Memory, avec Openshift.

10

En pratique

11

Conclusion et futur

Openshift et Kubernetes sont des plate-formes qui encouragent les bonnes pratiques, tant pour les développeurs que pour les administrateurs systèmes. Mais le nombre de concepts fait que ces plate-formes ont une certaine courbe d’apprentissage.

Certaines des fonctionnalités d’Openshift ont été intégrées dans Kubernetes (Deployments), d’autres sont sur le point de l’être (Templates).

Dans la prochaine version d’Openshift (v3.6), l’API Openshift est exposée sous forme de plugin « API Groups » Kubernetes ; à terme Openshift pourrait simplement devenir une extension de Kubernetes (tout en gardant sa valeur ajoutée).

12

Merci !

Questions ?