openshift 3 & kubernetes

12
Openshift 3 et Kubernetes API Hour #26 - Clermont'ech du 27/03/2017 Présenté par Julien Pervillé

Upload: perfect-memory

Post on 21-Apr-2017

52 views

Category:

Internet


2 download

TRANSCRIPT

Page 1: Openshift 3 & Kubernetes

Openshift 3et Kubernetes

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

Page 2: Openshift 3 & Kubernetes

2

À propos

Julien Pervillé, 38 ans,

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

Github @jperville (projets chef, docker, openshift)

Page 3: Openshift 3 & Kubernetes

3

Sommaire1. Contexte

○ 12 factors, Docker

○ Kubernetes, Openshift 3

2. Openshift 3

○ Architecture

○ API

○ Workflow

3. En pratique

Page 4: Openshift 3 & Kubernetes

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

Page 5: Openshift 3 & Kubernetes

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.

Page 6: Openshift 3 & Kubernetes

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

Page 7: Openshift 3 & Kubernetes

7

Openshift 3 (2)

Page 8: Openshift 3 & Kubernetes

8

Openshift 3 (3)

Page 9: Openshift 3 & Kubernetes

9

Openshift 3 (4)

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

Page 10: Openshift 3 & Kubernetes

10

En pratique

Page 11: Openshift 3 & Kubernetes

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).

Page 12: Openshift 3 & Kubernetes

12

Merci !

Questions ?