SlideShare une entreprise Scribd logo
deploy WordPress website with
MySQL backend using docker
and Kubernetes.
Institut National de Statistique
et d’Economie Appliquée
Soutenu
Par:
Mme. BOUGRYNE Oumaima
Le:
20/10/2022
Encadré par:
M. ERRAHMA Hamza
Membres de jury:
M.KABBAJ Adil
M. SAIDI Mohamed Nabil
Année universitaire 2022/2023
Plan Introduction.
01
Présentation de l’organisme d’accueil.
02
Contexte général du projet.
03
Problématique.
04
05
06
07
08
09
Solution proposée.
Conteneurisation avec docker-
compose
Déploiement avec Kubernetes.
Autres taches effectuées pendant le
stage.
Conclusion.
Introduction
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Présentation de l’organisme d’accueil
ZTechEngineering est une société
informatique spécialisée dans les services de
conseil en infrastructure cloud. La société a
été fondée par M. Youssef ZIOUANI aux
États-Unis. Elle dispose également d'une
agence au Maroc dirigée par M.
Mohammed ZIOUANI. Leur bureau actuel
est situé à Safi.
Présentation de l’organisme d’accueil
ZTechEngineering accompagne ses clients dans la
mise à l'échelle de leurs plates-formes en concevant des
infrastructures cloud sécurisées agiles, efficaces et
performantes.
Ainsi le développement des application mobiles et
web comme : Miza, jouiz,kaalix …
L'entreprise développe également en interne un
projet nommé Odhiya.
Contexte général du projet
Odhiya, une plate-forme qui
permettra l’e-commerce du bétail
La plate-forme sera disponible en tant
qu'application Web construite avec WordPress et
également en tant qu'application mobile pour les
appareils Android et iOS.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Problématique
 l'utilisation d'un grand nombre de configurations et de
dépendances logicielles pour L'exécution de site Web
WordPress Odhiya
 Le déploiement de l’application et ses nouvelles
fonctionnalités ainsi la mise à jour du code prenait
généralement beaucoup de temps.
 Le déploiement a dû être effectué manuellement, ce
qui a coûté du temps et des ressources à l'entreprise.
 Parfois le même code ne travaille que sur quelques
machines et l’autres non.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
L’architecture de l’application odhiya
Le Développement de l’application odhiya se fait dans un VPS (UBUNTU 20.04), elle se
compose de trois parties :
 La Configuration de l’application odhia
 Les fichiers de l’application odhiya
 La base de données de l’application odhia
Solution proposée
Le déployement l’application Web
Odhiya sur Kubernetes (minikube/
kubectl Kompose…).
La conteneurisation de l’application Web
Odhiya avec Docker-compose.
Solution proposée
Containerization
Phase de réalisation
Deployment
Conteneurisation avec
docker-compose
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Technologies
Images
Une image est un modèle en lecture seule contenant des
instructions pour créer un conteneur Docker. Souvent, une
image est basée sur une autre image, avec quelques
personnalisations supplémentaires.
Conteneurs
Un conteneur est une instance exécutable d'une image. Il est
possible de créer, démarrer, arrêter, déplacer ou supprimer un
conteneur à l'aide de l'API Docker ou de la CLI et de connecter
un conteneur à un ou plusieurs réseaux, d'y attacher un
stockage ou même de créer une nouvelle image en fonction de
son état actuel.
Docker Compose pour gérer des applications multi-conteneurs, où tous les
conteneurs s'exécutent sur le même hôte Docker. Docker Compose crée un fichier
YAML (.YML) qui spécifie les services inclus dans l'application et peut déployer et
exécuter des conteneurs avec une seule commande.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Division de l’application en conteneurs
1- Wordpress : contient les fichiers
de configuration du site (Apache2)
en plus des fichiers du frontend du
site web.
2- Mysql_database : contientr toute
la base de données.
3- PhpMyAdmin : contient l’outil
PhpMyAdmin pour la gestion de la
base de données.
Fixer les erreurs
Transférer les fichiers et la base de données de
l’application vers les conteneurs
Créer et exécuter les fichier Dockerfile et docker-
compose.yaml
Processus de containerisation
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Réalisation de la phase de conteneurisation
Dockerfile
Docker-compose.yaml
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Après la réussite de l’exécution de tous Les commandes
40%
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Après le transfert et la configuration des fichiers WordPress et base de données
80%
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Fixer les erreurs
100%
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Containerization
Phase de réalisation
Deployment
Déploiement avec Kubernetes.
une plateforme d’orchestration de conteneurs open source
initialement conçue par Google pour gérer ses conteneurs.. Il
possède généralement une architecture de nœuds
constructeurs et de nœuds ouvriers, divisée en pods, espaces
de noms, cartes de configuration, etc.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
• Il prend en charge tous les systèmes d’exploitation.
• Il est automatisé et possède une capacité d’auto-réparation qui permet
une mise à l’échelle automatique.
• Il dispose d’une surveillance intégrée et d’un large éventail
d’intégrations disponibles.
• Il est proposé par les trois principaux fournisseurs de cloud computing :
Google, Azure et AWS.
• En raison de son large soutien communautaire et de sa capacité à gérer
les scénarios de déploiement les plus complexes, Kubernetes est
souvent le choix numéro un des équipes de développement d’entreprise
qui gèrent des applications basées sur des microservices.
Les avantages de Kubernetes :
Concepts de kubernetes
Cluster Pod Service Volumes
Namespace
est un ensemble de
ressources de
stockage et de mise
en réseau d'hôtes
que Kubernetes
utilise pour exécuter
les différentes
charges de travail
qui composent un
système.
se compose d'un
conteneur
supplémentaire,
avec un réseau et
un stockage
partagé et des
instructions sur la
façon d'exécuter
les conteneurs
Les services sont utilisés
pour exposer certaines
fonctionnalités aux
utilisateurs ou à
d'autres services.
Ils prennent en charge
les variables nécessaires
à la
communication : une
adresse IP, des ports ..
pour conserver les
données entre les
redémarrages et les
catastrophes système.
Pour que le PV puisse
être utilisé, un
PersistentVolumeClaim
(PVC) doit être créé. Leur
travail consiste à relier le
PV au conteneur
pour lequel le PVC est
configuré.
des clusters virtuels
appelés espaces de
noms. Ils
sont utilisés pour
séparer les différentes
versions de
l'application, telles que
les versions de
développement et de
production. Ceci afin
d'assurer d'éventuelles
confusions entre les
versions.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Modélisation de la phase de
déploiement
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Pendant la phase de
déploiement, on va avoir
un Namespace -
Wordpress- où il y a trois
objets de déploiement
name_deployement.ya
ml , un pour chaque pod
-container- ,ces objets
ont pour objectif de
dupliquer les pods -
ReplicaSet- ,ainsi il est
relié à un volume qui
existe dans le server, ce
volume est de type pvc,
pour relier entre ces
objets on utilise les deux
services un de types
ClusterIP et l’autre de
type NodePort pour le
WordPress.
Modélisation de la phase de déploiement
Configurer les ressources Kubernetes .
Créer les ressources Kubernetes de déploiement
avec Kompose.
Créer un cluster local avec minikube
Processus de déploiement
Accéder au Kubernetes Dashboard
Créer namespace Wordpress et lui transférer les
ressources
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer un cluster local avec minikube
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer les ressources Kubernetes de déploiement
avec Kompose
Kompose est un outil de conversion de tout ce qui
compose (notamment Docker Compose) en orchestrateurs de
conteneurs (Kubernetes ou OpenShift).
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer les ressources Kubernetes de déploiement
avec Kompose
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Créer namespace Wordpress et lui transférer les
ressources
Service de type ClusterIP
Le service de type ClusterIP est
le service par défaut de Kubernetes.
Il donne un service à l’intérieur du
cluster. Les pods à l’intérieur du
même cluster peuvent utiliser ce
service pour y accéder. Le service de
type ClusterIP ne propose pas d’accès
externe.
Service de type NodePort
Un service NodePort est le moyen
le plus simple d’aiguiller du trafic externe
directement vers un Pod. NodePort,
comme son nom l’indique, ouvre un port
spécifique sur tous les Nœuds (les VMs),
et tout trafic envoyé vers ce port est
transféré vers le service.
Configurer les ressources Kubernetes
 les types de services de kubernetes
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
On a décidé de laisser tous les services en type ClusterIP
sauf le service WordPress qui est de type NodePort.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Accéder au Kubernetes Dashboard
Kubernetes Dashboard est une interface utilisateur Web à usage général
pour les clusters Kubernetes. Il permet aux utilisateurs de gérer les
applications exécutées dans le cluster et de les dépanner, ainsi que de gérer
le cluster lui-même.
03
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Accéder au Kubernetes Dashboard
Easy to change
colors.
Text Here
Easy to change
colors.
Text Here
Accéder au Kubernetes Dashboard
Autres Taches Réalisés Pendant la période de
stage Création des backups des différents contenus du VPSs dans un S3 bucket à
partir de différents scripts.
Automatiser ces backups avec (Crontab -e) pour sauvegarder chaque jour,
chaque semaine et chaque mois.
Restaurer ces backups selon la demande des développeurs.
Créer une vidéo Démo/tutorial pour tout le travail réalisé pendant la
période de stage pour que les autres peuvent refaire le même travail.
Conclusion
L'objectif du projet était de créer une image et des
conteneurs Docker de l'application Odhiya et de la
déployer sur Kubernetes. L'objectif a été atteint et la
version test de l'application a été disponible pendant le
temps imparti. L'étape suivante consisterait à utiliser les
fichiers existants créés au cours du processus
d'automatisation et de déploiement dans un
environnement de production réel.
Merci pour votre attention

Contenu connexe

Tendances

Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Nawres Farhat
 
Les avantages de la virtualisation
Les avantages de la virtualisationLes avantages de la virtualisation
Les avantages de la virtualisation
NRC
 
Supervision V2 ppt
Supervision V2 pptSupervision V2 ppt
Supervision V2 pptjeehane
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
Balint Pato
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
safwenbenfredj
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOps
Cyrielle Orban
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Hajer Dahech
 
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE -  Sécurité des architectures en conteneurs Docker orchestrés par KubernetesTFE -  Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
ManuelMareschal
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
sdenier
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
Stephane Manciot
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
Thibaut Marmin
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
Hazzim Anaya
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
Cynapsys It Hotspot
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et VirtualisationMarc Jouve
 
Etude de la virtualisation
Etude de la virtualisationEtude de la virtualisation
Etude de la virtualisation
Antoine Benkemoun
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Saadaoui Marwen
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
Julien Maitrehenry
 
Virtualisation
VirtualisationVirtualisation
Virtualisation
Tsubichi
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
Heithem Abbes
 

Tendances (20)

Alphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et AdministrationAlphorm.com Formation Docker (1/2) : Installation et Administration
Alphorm.com Formation Docker (1/2) : Installation et Administration
 
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
Rapport pfe- Refonte et déploiement d’une solution de messagerie en utilisant...
 
Les avantages de la virtualisation
Les avantages de la virtualisationLes avantages de la virtualisation
Les avantages de la virtualisation
 
Supervision V2 ppt
Supervision V2 pptSupervision V2 ppt
Supervision V2 ppt
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
Rapport de projet_de_fin_d__tudes__pfe__safwen (8)
 
Présentation du DevOps
Présentation du DevOpsPrésentation du DevOps
Présentation du DevOps
 
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...Rapport  PFE  "Conception et développement d'un Portail web pour le Smart Met...
Rapport PFE "Conception et développement d'un Portail web pour le Smart Met...
 
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE -  Sécurité des architectures en conteneurs Docker orchestrés par KubernetesTFE -  Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
TFE - Sécurité des architectures en conteneurs Docker orchestrés par Kubernetes
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
 
Présentation cloud computing
Présentation cloud computingPrésentation cloud computing
Présentation cloud computing
 
Cloud et Virtualisation
Cloud et VirtualisationCloud et Virtualisation
Cloud et Virtualisation
 
Etude de la virtualisation
Etude de la virtualisationEtude de la virtualisation
Etude de la virtualisation
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Virtualisation
VirtualisationVirtualisation
Virtualisation
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 

Similaire à OUMAIMA BOUGRYNE PPT.pptx

Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
AZUG FR
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
kohay75604
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
AZUG FR
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
GhofraneFerchichi2
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
Samuel Desseaux
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
Nizar GARRACHE
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
Olivier Eeckhoutte
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
amine17157
 
Kubernetes (k8s).pdf
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
Jaouad Assabbour
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetes
CEDRIC DERUE
 
Présentation.pptx
Présentation.pptxPrésentation.pptx
Présentation.pptx
Ahmed400865
 
Procédure de dépoiement d'une application Cloud sur Azure.pdf
Procédure de dépoiement d'une application Cloud sur Azure.pdfProcédure de dépoiement d'une application Cloud sur Azure.pdf
Procédure de dépoiement d'une application Cloud sur Azure.pdf
ssuser1d2a6b
 
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm
 
Eucalyptus
EucalyptusEucalyptus
Eucalyptus
marwa baich
 
Docker & Azure
Docker & AzureDocker & Azure
Docker & Azure
Matthieu Klotz
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern business
Chourouk HJAIEJ
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
AnisSalhi3
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
Microsoft Technet France
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
Lilia Sfaxi
 
A la découverte de docker, 1ère partie
A la découverte de docker, 1ère partieA la découverte de docker, 1ère partie
A la découverte de docker, 1ère partie
Samuel Desseaux
 

Similaire à OUMAIMA BOUGRYNE PPT.pptx (20)

Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
 
Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Kubernetes (k8s).pdf
Kubernetes (k8s).pdfKubernetes (k8s).pdf
Kubernetes (k8s).pdf
 
Patterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetesPatterns du continuous delivery avec azure dev ops et kubernetes
Patterns du continuous delivery avec azure dev ops et kubernetes
 
Présentation.pptx
Présentation.pptxPrésentation.pptx
Présentation.pptx
 
Procédure de dépoiement d'une application Cloud sur Azure.pdf
Procédure de dépoiement d'une application Cloud sur Azure.pdfProcédure de dépoiement d'une application Cloud sur Azure.pdf
Procédure de dépoiement d'une application Cloud sur Azure.pdf
 
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée
 
Eucalyptus
EucalyptusEucalyptus
Eucalyptus
 
Docker & Azure
Docker & AzureDocker & Azure
Docker & Azure
 
Microsoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern businessMicrosoft Azure : The cloud for modern business
Microsoft Azure : The cloud for modern business
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
A la découverte de docker, 1ère partie
A la découverte de docker, 1ère partieA la découverte de docker, 1ère partie
A la découverte de docker, 1ère partie
 

OUMAIMA BOUGRYNE PPT.pptx

  • 1. deploy WordPress website with MySQL backend using docker and Kubernetes. Institut National de Statistique et d’Economie Appliquée Soutenu Par: Mme. BOUGRYNE Oumaima Le: 20/10/2022 Encadré par: M. ERRAHMA Hamza Membres de jury: M.KABBAJ Adil M. SAIDI Mohamed Nabil Année universitaire 2022/2023
  • 2. Plan Introduction. 01 Présentation de l’organisme d’accueil. 02 Contexte général du projet. 03 Problématique. 04 05 06 07 08 09 Solution proposée. Conteneurisation avec docker- compose Déploiement avec Kubernetes. Autres taches effectuées pendant le stage. Conclusion.
  • 4. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 5. Présentation de l’organisme d’accueil ZTechEngineering est une société informatique spécialisée dans les services de conseil en infrastructure cloud. La société a été fondée par M. Youssef ZIOUANI aux États-Unis. Elle dispose également d'une agence au Maroc dirigée par M. Mohammed ZIOUANI. Leur bureau actuel est situé à Safi.
  • 6. Présentation de l’organisme d’accueil ZTechEngineering accompagne ses clients dans la mise à l'échelle de leurs plates-formes en concevant des infrastructures cloud sécurisées agiles, efficaces et performantes. Ainsi le développement des application mobiles et web comme : Miza, jouiz,kaalix … L'entreprise développe également en interne un projet nommé Odhiya.
  • 7. Contexte général du projet Odhiya, une plate-forme qui permettra l’e-commerce du bétail La plate-forme sera disponible en tant qu'application Web construite avec WordPress et également en tant qu'application mobile pour les appareils Android et iOS.
  • 8. 03 Easy to change colors. Text Here Easy to change colors. Text Here Problématique  l'utilisation d'un grand nombre de configurations et de dépendances logicielles pour L'exécution de site Web WordPress Odhiya  Le déploiement de l’application et ses nouvelles fonctionnalités ainsi la mise à jour du code prenait généralement beaucoup de temps.  Le déploiement a dû être effectué manuellement, ce qui a coûté du temps et des ressources à l'entreprise.  Parfois le même code ne travaille que sur quelques machines et l’autres non.
  • 9. 03 Easy to change colors. Text Here Easy to change colors. Text Here L’architecture de l’application odhiya Le Développement de l’application odhiya se fait dans un VPS (UBUNTU 20.04), elle se compose de trois parties :  La Configuration de l’application odhia  Les fichiers de l’application odhiya  La base de données de l’application odhia
  • 10. Solution proposée Le déployement l’application Web Odhiya sur Kubernetes (minikube/ kubectl Kompose…). La conteneurisation de l’application Web Odhiya avec Docker-compose.
  • 14. 03 Easy to change colors. Text Here Easy to change colors. Text Here Technologies Images Une image est un modèle en lecture seule contenant des instructions pour créer un conteneur Docker. Souvent, une image est basée sur une autre image, avec quelques personnalisations supplémentaires. Conteneurs Un conteneur est une instance exécutable d'une image. Il est possible de créer, démarrer, arrêter, déplacer ou supprimer un conteneur à l'aide de l'API Docker ou de la CLI et de connecter un conteneur à un ou plusieurs réseaux, d'y attacher un stockage ou même de créer une nouvelle image en fonction de son état actuel. Docker Compose pour gérer des applications multi-conteneurs, où tous les conteneurs s'exécutent sur le même hôte Docker. Docker Compose crée un fichier YAML (.YML) qui spécifie les services inclus dans l'application et peut déployer et exécuter des conteneurs avec une seule commande.
  • 15. 03 Easy to change colors. Text Here Easy to change colors. Text Here Division de l’application en conteneurs 1- Wordpress : contient les fichiers de configuration du site (Apache2) en plus des fichiers du frontend du site web. 2- Mysql_database : contientr toute la base de données. 3- PhpMyAdmin : contient l’outil PhpMyAdmin pour la gestion de la base de données.
  • 16. Fixer les erreurs Transférer les fichiers et la base de données de l’application vers les conteneurs Créer et exécuter les fichier Dockerfile et docker- compose.yaml Processus de containerisation
  • 17. 03 Easy to change colors. Text Here Easy to change colors. Text Here Réalisation de la phase de conteneurisation Dockerfile Docker-compose.yaml
  • 18. 03 Easy to change colors. Text Here Easy to change colors. Text Here Après la réussite de l’exécution de tous Les commandes 40%
  • 19. 03 Easy to change colors. Text Here Easy to change colors. Text Here Après le transfert et la configuration des fichiers WordPress et base de données 80%
  • 20. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 21. 03 Easy to change colors. Text Here Easy to change colors. Text Here Fixer les erreurs 100%
  • 22. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 23.
  • 24. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 25. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 26. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 27. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 28. 03 Easy to change colors. Text Here Easy to change colors. Text Here
  • 30. Déploiement avec Kubernetes. une plateforme d’orchestration de conteneurs open source initialement conçue par Google pour gérer ses conteneurs.. Il possède généralement une architecture de nœuds constructeurs et de nœuds ouvriers, divisée en pods, espaces de noms, cartes de configuration, etc.
  • 31. 03 Easy to change colors. Text Here Easy to change colors. Text Here • Il prend en charge tous les systèmes d’exploitation. • Il est automatisé et possède une capacité d’auto-réparation qui permet une mise à l’échelle automatique. • Il dispose d’une surveillance intégrée et d’un large éventail d’intégrations disponibles. • Il est proposé par les trois principaux fournisseurs de cloud computing : Google, Azure et AWS. • En raison de son large soutien communautaire et de sa capacité à gérer les scénarios de déploiement les plus complexes, Kubernetes est souvent le choix numéro un des équipes de développement d’entreprise qui gèrent des applications basées sur des microservices. Les avantages de Kubernetes :
  • 32. Concepts de kubernetes Cluster Pod Service Volumes Namespace est un ensemble de ressources de stockage et de mise en réseau d'hôtes que Kubernetes utilise pour exécuter les différentes charges de travail qui composent un système. se compose d'un conteneur supplémentaire, avec un réseau et un stockage partagé et des instructions sur la façon d'exécuter les conteneurs Les services sont utilisés pour exposer certaines fonctionnalités aux utilisateurs ou à d'autres services. Ils prennent en charge les variables nécessaires à la communication : une adresse IP, des ports .. pour conserver les données entre les redémarrages et les catastrophes système. Pour que le PV puisse être utilisé, un PersistentVolumeClaim (PVC) doit être créé. Leur travail consiste à relier le PV au conteneur pour lequel le PVC est configuré. des clusters virtuels appelés espaces de noms. Ils sont utilisés pour séparer les différentes versions de l'application, telles que les versions de développement et de production. Ceci afin d'assurer d'éventuelles confusions entre les versions.
  • 33. 03 Easy to change colors. Text Here Easy to change colors. Text Here Modélisation de la phase de déploiement
  • 34. 03 Easy to change colors. Text Here Easy to change colors. Text Here Pendant la phase de déploiement, on va avoir un Namespace - Wordpress- où il y a trois objets de déploiement name_deployement.ya ml , un pour chaque pod -container- ,ces objets ont pour objectif de dupliquer les pods - ReplicaSet- ,ainsi il est relié à un volume qui existe dans le server, ce volume est de type pvc, pour relier entre ces objets on utilise les deux services un de types ClusterIP et l’autre de type NodePort pour le WordPress. Modélisation de la phase de déploiement
  • 35. Configurer les ressources Kubernetes . Créer les ressources Kubernetes de déploiement avec Kompose. Créer un cluster local avec minikube Processus de déploiement Accéder au Kubernetes Dashboard Créer namespace Wordpress et lui transférer les ressources
  • 36. 03 Easy to change colors. Text Here Easy to change colors. Text Here Créer un cluster local avec minikube
  • 37. 03 Easy to change colors. Text Here Easy to change colors. Text Here Créer les ressources Kubernetes de déploiement avec Kompose Kompose est un outil de conversion de tout ce qui compose (notamment Docker Compose) en orchestrateurs de conteneurs (Kubernetes ou OpenShift).
  • 38. 03 Easy to change colors. Text Here Easy to change colors. Text Here Créer les ressources Kubernetes de déploiement avec Kompose
  • 39. 03 Easy to change colors. Text Here Easy to change colors. Text Here Créer namespace Wordpress et lui transférer les ressources
  • 40. Service de type ClusterIP Le service de type ClusterIP est le service par défaut de Kubernetes. Il donne un service à l’intérieur du cluster. Les pods à l’intérieur du même cluster peuvent utiliser ce service pour y accéder. Le service de type ClusterIP ne propose pas d’accès externe. Service de type NodePort Un service NodePort est le moyen le plus simple d’aiguiller du trafic externe directement vers un Pod. NodePort, comme son nom l’indique, ouvre un port spécifique sur tous les Nœuds (les VMs), et tout trafic envoyé vers ce port est transféré vers le service. Configurer les ressources Kubernetes  les types de services de kubernetes
  • 41. 03 Easy to change colors. Text Here Easy to change colors. Text Here On a décidé de laisser tous les services en type ClusterIP sauf le service WordPress qui est de type NodePort.
  • 42. 03 Easy to change colors. Text Here Easy to change colors. Text Here Accéder au Kubernetes Dashboard Kubernetes Dashboard est une interface utilisateur Web à usage général pour les clusters Kubernetes. Il permet aux utilisateurs de gérer les applications exécutées dans le cluster et de les dépanner, ainsi que de gérer le cluster lui-même.
  • 43. 03 Easy to change colors. Text Here Easy to change colors. Text Here Accéder au Kubernetes Dashboard
  • 44. Easy to change colors. Text Here Easy to change colors. Text Here Accéder au Kubernetes Dashboard
  • 45. Autres Taches Réalisés Pendant la période de stage Création des backups des différents contenus du VPSs dans un S3 bucket à partir de différents scripts. Automatiser ces backups avec (Crontab -e) pour sauvegarder chaque jour, chaque semaine et chaque mois. Restaurer ces backups selon la demande des développeurs. Créer une vidéo Démo/tutorial pour tout le travail réalisé pendant la période de stage pour que les autres peuvent refaire le même travail.
  • 46. Conclusion L'objectif du projet était de créer une image et des conteneurs Docker de l'application Odhiya et de la déployer sur Kubernetes. L'objectif a été atteint et la version test de l'application a été disponible pendant le temps imparti. L'étape suivante consisterait à utiliser les fichiers existants créés au cours du processus d'automatisation et de déploiement dans un environnement de production réel.
  • 47. Merci pour votre attention