Cloud ComputingCloud Computing
27 juin 2017
2 / 30
PrésentationsPrésentations
MARTIN Frederic
Dev Manager
 fmartin@linagora.com
BEN CHEKROUN Samia
DevOps
 samia.benchekroun@linagora.com
SommaireSommaire
Docker images in JenkinsDocker images in Jenkins
Docker-composeDocker-compose
Openshift PaaS with kubernetesOpenshift PaaS with kubernetes
Future workFuture work
DemoDemo
4 / 30
Docker images in JenkinsDocker images in Jenkins
5 / 30
JenkinsJenkins
Jenkins est un outil open source d'intégration
continue
6 / 30
Jenkins configurationJenkins configuration
General
Source code
management
Build Triggers
Build environnement
Build
7 / 30
Continuous integrationContinuous integration
Push Trigger
JENKINS
Launch
Job
Build LinShare
Docker images
https://docker-registry.linagora.com
8 / 30
PortusPortus
NameSpaces :
Linshare-saas-snapshot  linshare-saas-releases
9 / 30
Docker-composeDocker-compose
10 / 30
Docker-composeDocker-compose
Compose is a tool for defining and running multi-container Docker applications.
11 / 30
Linshare SaaS servicesLinshare SaaS services
Backend :
- Linshare tomcat
- io-portal
- piwik
Frontend :
- linshare ui-user
- linshare frontend
- linshare ui-admin
- linshare analytics
Autres Services :
- Linshare mongodb
- Linshare postgres
- Linshare Mysql
- Linshare smtp
- Linshare clamav
- Linshare ldap
12 / 30
Linshare Saas servicesLinshare Saas services
piwik
analytics
mysql
Tomcat
ui-user ui-admin
Frontend-io-portal
io-portal
Mongodb
ldap
13 / 30
Openshift Paas with KubernetesOpenshift Paas with Kubernetes
14 / 30
Openshift (PaaS)Openshift (PaaS)
15 / 30
KubernetesKubernetes
Kubernetes est une plate-forme open-source
permettant d’automatiser le déploiement, l'extension
et les opérations de conteneurs d'application entre
différents clusters d'hôtes, fournissant une
infrastructure de conteneurs-centrique.
16 / 30
Install with AnsibleInstall with Ansible
ping
ping
ping ping
Génère une clé
Copie la
clé
Copie la
clé
Un cluster de deux nœud, qui contient,
openshift, kubernetes, docker
VM
VM VM
17 / 30
Openshift PaasOpenshift Paas
https://master-adress:8443
18 / 30
Container Vs PodsContainer Vs Pods
pod
container1
container2
container3
volumes
19 / 30
Haproxy routerHaproxy router
20 / 30
LoadBalancing AlgorithmsLoadBalancing Algorithms
● Roundrobin
● Leastcon
● source
21 / 30
22 / 30
Persistent volumesPersistent volumes
Kind: PersistentVolume
apiVersion: v1
Metadata:
Name : pv
Labels:
Type: local
Spec:
Capacity:
Storage: 4Gi
accessModes:
ReadWriteOnce
hostPath:
Path: « /var/lib/mongodb/data »
23 / 30
ConfigMapConfigMap
L'objet ConfigMap fournit des mécanismes pour injecter des conteneurs
avec des données de configuration tout en gardant des conteneurs en vie
kubectl create configmap customrouter --from-file=haproxy-
config.template
24 / 30
Kubernetes secretsKubernetes secrets
● A secret is an object that contain a small amount of data
● Its is used as a volume mounted on one or more Pods
kubectl create secret generic db-user-pass –from-file=./username.txt –
from-file=./password.txt
25 / 30
Node
secrets
Namespace
pod
volumes
container1
container2
container3
26 / 30
NodePortNodePort
27 / 30
DemoDemo
28 / 30
Future workFuture work
29 / 30
● Scalability
● Kubernetes cluster
● Mongodb replica-set
● Ne plu dépendre du host (volumes) ….
Thanks for your attentionThanks for your attention
LINAGORA – headquarters
100 Terrasse Boieldieu
92042 Paris – La Défense
FRANCE
+33 (0)1 46 96 63 63
+33 (0)1 46 96 63 64
info@linagora.com
www.linagora.com

[UDS] Cloud Computing "pour les nuls" (Exemple avec LinShare)