SlideShare une entreprise Scribd logo
1  sur  35
OCTO Part of Accenture Digital © 2019 - All rights reserved
Mise en œuvre d’un pipeline CI/CD pour une application sur Kubernetes et du
module fonctionnel de supervision du déploiement
ENCADRER PAR : PRÉSENTER PAR :
Mme Fatiha AKEF
BAHALLA TAOUFIQ
Mr LANDRY DEFO KUATE
Mr Mohamed YOUSSFI
Soutenu le 08 juillet 2020
Département : Mathématique informatique
Filière : Génie du Logiciel et des Systèmes Informatiques Distribués
OCTO Part of Accenture Digital © 2019 - All rights reserved
//
//
//
//
//
01
Entreprise d’accueil
02
Contexte et sujet de stage
03
DevOps sur dakibot
04
Déploiement de la plateforme
dakibot
05
APIs de monitoring
Plan
2
06
IHM de supervision
THERE IS A BETTER WAY
Entreprise d’accueil
OCTO Part of Accenture Digital © 2019 - All rights reserved 4
Octo Technology
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Qualité logiciel.
◉ Amélioration continue.
◉ Esprit start-up.
◉ Le partage.
◉ Innovation.
5
Culture d’Octo Technology
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Conseil.
◉ Produits logiciels.
◉ Formations.
6
Expertises d’Octo Technology
THERE IS A BETTER WAY
Contexte et sujet de
stage
OCTO Part of Accenture Digital © 2019 - All rights reserved
CI/CD
8
Sujet de stage
Dakibot
Frontend
Backend
Chatbots
Cluster Kubernetes / Cloud
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉Déploiement de la plateforme infrastructure Dakibot complète avec Terraform et
Ansible
◉Construire le pipeline CI/CD permettant de déployer en un click de bout en bout tout
changement sur Dakibot
◉Mettre en œuvre une IHM de supervision des déploiements Dakibot
9
Objectifs du stage
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Phase 1 : Prise de connaissance du contexte actuelle de Dakibot et prise en main des
déploiements actuels pour devenir le DevOps sur Dakibot
> Durée : 2 semaines
◉ Phase 2 : Conception du module de déploiement sur Dakibot et le Pipeline CI/CD
> Durée : 1 mois
◉ Phase 3 : Réalisation du module de déploiement sur Dakibot et le Pipeline CI/CD
> Durée : 2 mois
10
Plan et phases de projet
OCTO Part of Accenture Digital © 2019 - All rights reserved 11
Conduite du projet
SCRUM + Kanban
THERE IS A BETTER WAY
DevOps sur
Dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 13
DevOps
DevOps
Culture
Infrastructure as
code
Cloud Ready Apps CI / CD
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Voir l’infrastructure et faire l’inventaire des machines.
◉ Voir l’architecture de déploiement de différents composant de dakibot.
◉ Voir et manipuler les scripts Ansible et Kubernetes.
14
Comprendre l’architecture de déploiement et l’infrastructure de dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 15
Provisionnement de l’infrastructure avec Terraform
NFS Server, jenkins, HAProxy
Kubernetes cluster : 1 Master node et
3 worker nodes
Scripts Terraform à jour
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Simplifier la configuration de HAProxy en utilisant Ansible et Jinja2.
◉ Tester le rôle Ansible avec Kitchenci
16
Configuration HAProxy
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Créer le rôle Ansible pour installer le service NFS.
◉ Tester le rôle NFS avec Kitchenci.
17
Créer le rôle Ansible NFS
OCTO Part of Accenture Digital © 2019 - All rights reserved
◉ Travailler sur les scripts de Kubespary pour provisionner le cluster kubernetes :
> Utiliser kubespray pour déployer un cluster kubernetes
> Ajouter un worker node au cluster en utilisant kubespray .
> Supprimer un worker node en utilisant kubespray .
18
Provisionnement du cluster kubernetes avec Kubespray
THERE IS A BETTER WAY
Déploiement
de dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 20
Pipeline CI/CD pour le backend dakibot
Code
Checkout
Build
Test
Analyse Sonar
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 21
Pipeline CI/CD pour le frontend dakibot
Code
Checkout
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 22
Pipeline CI/CD pour les chatbots
Code
Checkout
Docker build
Docker publish
Deploy to k8s
OCTO Part of Accenture Digital © 2019 - All rights reserved 23
Technologies utilisé dans les Pipeline
OCTO Part of Accenture Digital © 2019 - All rights reserved 24
Pipeline Jenkins backend dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 25
Pipeline Jenkins frontend dakibot
OCTO Part of Accenture Digital © 2019 - All rights reserved 26
Pipeline des chatbots
THERE IS A BETTER WAY
API de
monitoring
OCTO Part of Accenture Digital © 2019 - All rights reserved 28
Récupération des métriques de déploiement
Gitlab
Jenkins
Kubernetes
HAProxy
Gitlab API :
gitlab4j
Jenkins java
client
Kubernetes java
client
HAProxy stats
Data
parsing
REST API
OCTO Part of Accenture Digital © 2019 - All rights reserved 29
Documentation API avec Swagger
OCTO Part of Accenture Digital © 2019 - All rights reserved 30
Etapes du pipeline pour déployer les artefacts
Code
Checkout
Build
Test
Analyse Sonar
Deploy jar to Nexus
OCTO Part of Accenture Digital © 2019 - All rights reserved 31
Pipeline Jenkins des APIs
THERE IS A BETTER WAY
IHM de
supervision
OCTO Part of Accenture Digital © 2019 - All rights reserved 33
IHM statuts des déploiements des bots
OCTO Part of Accenture Digital © 2019 - All rights reserved 34
IHM détails de déploiement d’un bot
Présentation travail du stage

Contenu connexe

Tendances

Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetKhadim Mbacké
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring CloudFlorian Beaufumé
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptxBechirElosma
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...XavierPestel
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerChris Taylor
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur Khalid EDAIG
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善Ito Takayuki
 
Présentation Flutter
Présentation FlutterPrésentation Flutter
Présentation FlutterAppstud
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Ayed CHOKRI
 
Plan cahier-des-charges
Plan cahier-des-chargesPlan cahier-des-charges
Plan cahier-des-chargeswalouziz
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachislim Hannachi
 
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
 

Tendances (20)

Développement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internetDéveloppement d'une application de cartographie interactive sur internet
Développement d'une application de cartographie interactive sur internet
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring Cloud
 
PrésentationCI_CD.pptx
PrésentationCI_CD.pptxPrésentationCI_CD.pptx
PrésentationCI_CD.pptx
 
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
Pipeline Devops - Intégration continue : ansible, jenkins, docker, jmeter...
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Architecture Client-Serveur
Architecture Client-Serveur Architecture Client-Serveur
Architecture Client-Serveur
 
Rapport Sockets en Java
Rapport Sockets en JavaRapport Sockets en Java
Rapport Sockets en Java
 
systèmes distribues
systèmes distribuessystèmes distribues
systèmes distribues
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Java RMI
Java RMIJava RMI
Java RMI
 
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善
 
Présentation PFE
Présentation PFEPrésentation PFE
Présentation PFE
 
Présentation Flutter
Présentation FlutterPrésentation Flutter
Présentation Flutter
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats Conception et Réalisation d’une Plateforme Web de Gestion des achats
Conception et Réalisation d’une Plateforme Web de Gestion des achats
 
Plan cahier-des-charges
Plan cahier-des-chargesPlan cahier-des-charges
Plan cahier-des-charges
 
2 ModéLe Mvc
2 ModéLe Mvc2 ModéLe Mvc
2 ModéLe Mvc
 
Mémoire : Cloud iaas Slim Hannachi
Mémoire :  Cloud iaas Slim HannachiMémoire :  Cloud iaas Slim Hannachi
Mémoire : Cloud iaas Slim Hannachi
 
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 ?
 

Similaire à Présentation travail du stage

L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeFrançois Xavier Vende
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" OCTO Technology
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...OCTO Technology
 
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"OCTO Technology
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"OCTO Technology
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionOCTO Technology
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveOCTO Technology
 
La Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreLa Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreOCTO Technology
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...OCTO Technology
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!OCTO Technology
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence OCTO Technology
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"OCTO Technology
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM France Lab
 
CWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCapgemini
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...OCTO Technology
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"OCTO Technology
 
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...KarenEdnaOtala
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...OCTO Technology
 
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"OCTO Technology
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 

Similaire à Présentation travail du stage (20)

L'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérativeL'histoire d'une infrastructure itérative
L'histoire d'une infrastructure itérative
 
La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe" La Duck Conf - "Kube is the new mainframe"
La Duck Conf - "Kube is the new mainframe"
 
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
La Duck Conf - "Edge computing : le déploiement continu se fait une virée en ...
 
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
La Duck Conf - "Elle est ou ton appli ? Dans mon kube"
 
La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"La Duck Conf : "Observabilité"
La Duck Conf : "Observabilité"
 
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolutionLA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
LA DUCK CONF 2023 - La vie d'Ops au coeur d'un SI en évolution
 
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutiveLA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
LA DUCK CONF 2023 - Ré-urbanisation d'un SI à travers une archi évolutive
 
La Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivreLa Duck Conf - Une équipe plateforme qui délivre
La Duck Conf - Une équipe plateforme qui délivre
 
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
La Duck Conf - "Mon DSI veut une MEP par jour, comment faire de l'architectur...
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
 
Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence Accelerate : la vitesse conditionne l'excellence
Accelerate : la vitesse conditionne l'excellence
 
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
La Duck Conf - "Quelle place pour le no code/low code dans les entreprises ?"
 
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction MeetupIBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
IBM Bluemix Paris Meetup #14 - Le Village by CA - 20160413 - Introduction Meetup
 
CWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouniCWIN17 Morocco / Microservices as a factory reda zerhouni
CWIN17 Morocco / Microservices as a factory reda zerhouni
 
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
La Duck Conf - "Microservices & Servicemesh : le retour des frameworks d'entr...
 
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
Matinale OCTO - "Blockchain : comment s'orienter dans la désorientation"
 
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
Le Comptoir OCTO x Wakam : Continuous discovery et continuous delivery pour c...
 
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
Le Comptoir OCTO - Continuous discovery et continuous delivery pour construir...
 
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
La Duck Conf : "Apache Spark : ai-je besoin d'autre chose ?"
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 

Présentation travail du stage

  • 1. OCTO Part of Accenture Digital © 2019 - All rights reserved Mise en œuvre d’un pipeline CI/CD pour une application sur Kubernetes et du module fonctionnel de supervision du déploiement ENCADRER PAR : PRÉSENTER PAR : Mme Fatiha AKEF BAHALLA TAOUFIQ Mr LANDRY DEFO KUATE Mr Mohamed YOUSSFI Soutenu le 08 juillet 2020 Département : Mathématique informatique Filière : Génie du Logiciel et des Systèmes Informatiques Distribués
  • 2. OCTO Part of Accenture Digital © 2019 - All rights reserved // // // // // 01 Entreprise d’accueil 02 Contexte et sujet de stage 03 DevOps sur dakibot 04 Déploiement de la plateforme dakibot 05 APIs de monitoring Plan 2 06 IHM de supervision
  • 3. THERE IS A BETTER WAY Entreprise d’accueil
  • 4. OCTO Part of Accenture Digital © 2019 - All rights reserved 4 Octo Technology
  • 5. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Qualité logiciel. ◉ Amélioration continue. ◉ Esprit start-up. ◉ Le partage. ◉ Innovation. 5 Culture d’Octo Technology
  • 6. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Conseil. ◉ Produits logiciels. ◉ Formations. 6 Expertises d’Octo Technology
  • 7. THERE IS A BETTER WAY Contexte et sujet de stage
  • 8. OCTO Part of Accenture Digital © 2019 - All rights reserved CI/CD 8 Sujet de stage Dakibot Frontend Backend Chatbots Cluster Kubernetes / Cloud
  • 9. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉Déploiement de la plateforme infrastructure Dakibot complète avec Terraform et Ansible ◉Construire le pipeline CI/CD permettant de déployer en un click de bout en bout tout changement sur Dakibot ◉Mettre en œuvre une IHM de supervision des déploiements Dakibot 9 Objectifs du stage
  • 10. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Phase 1 : Prise de connaissance du contexte actuelle de Dakibot et prise en main des déploiements actuels pour devenir le DevOps sur Dakibot > Durée : 2 semaines ◉ Phase 2 : Conception du module de déploiement sur Dakibot et le Pipeline CI/CD > Durée : 1 mois ◉ Phase 3 : Réalisation du module de déploiement sur Dakibot et le Pipeline CI/CD > Durée : 2 mois 10 Plan et phases de projet
  • 11. OCTO Part of Accenture Digital © 2019 - All rights reserved 11 Conduite du projet SCRUM + Kanban
  • 12. THERE IS A BETTER WAY DevOps sur Dakibot
  • 13. OCTO Part of Accenture Digital © 2019 - All rights reserved 13 DevOps DevOps Culture Infrastructure as code Cloud Ready Apps CI / CD
  • 14. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Voir l’infrastructure et faire l’inventaire des machines. ◉ Voir l’architecture de déploiement de différents composant de dakibot. ◉ Voir et manipuler les scripts Ansible et Kubernetes. 14 Comprendre l’architecture de déploiement et l’infrastructure de dakibot
  • 15. OCTO Part of Accenture Digital © 2019 - All rights reserved 15 Provisionnement de l’infrastructure avec Terraform NFS Server, jenkins, HAProxy Kubernetes cluster : 1 Master node et 3 worker nodes Scripts Terraform à jour
  • 16. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Simplifier la configuration de HAProxy en utilisant Ansible et Jinja2. ◉ Tester le rôle Ansible avec Kitchenci 16 Configuration HAProxy
  • 17. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Créer le rôle Ansible pour installer le service NFS. ◉ Tester le rôle NFS avec Kitchenci. 17 Créer le rôle Ansible NFS
  • 18. OCTO Part of Accenture Digital © 2019 - All rights reserved ◉ Travailler sur les scripts de Kubespary pour provisionner le cluster kubernetes : > Utiliser kubespray pour déployer un cluster kubernetes > Ajouter un worker node au cluster en utilisant kubespray . > Supprimer un worker node en utilisant kubespray . 18 Provisionnement du cluster kubernetes avec Kubespray
  • 19. THERE IS A BETTER WAY Déploiement de dakibot
  • 20. OCTO Part of Accenture Digital © 2019 - All rights reserved 20 Pipeline CI/CD pour le backend dakibot Code Checkout Build Test Analyse Sonar Docker build Docker publish Deploy to k8s
  • 21. OCTO Part of Accenture Digital © 2019 - All rights reserved 21 Pipeline CI/CD pour le frontend dakibot Code Checkout Docker build Docker publish Deploy to k8s
  • 22. OCTO Part of Accenture Digital © 2019 - All rights reserved 22 Pipeline CI/CD pour les chatbots Code Checkout Docker build Docker publish Deploy to k8s
  • 23. OCTO Part of Accenture Digital © 2019 - All rights reserved 23 Technologies utilisé dans les Pipeline
  • 24. OCTO Part of Accenture Digital © 2019 - All rights reserved 24 Pipeline Jenkins backend dakibot
  • 25. OCTO Part of Accenture Digital © 2019 - All rights reserved 25 Pipeline Jenkins frontend dakibot
  • 26. OCTO Part of Accenture Digital © 2019 - All rights reserved 26 Pipeline des chatbots
  • 27. THERE IS A BETTER WAY API de monitoring
  • 28. OCTO Part of Accenture Digital © 2019 - All rights reserved 28 Récupération des métriques de déploiement Gitlab Jenkins Kubernetes HAProxy Gitlab API : gitlab4j Jenkins java client Kubernetes java client HAProxy stats Data parsing REST API
  • 29. OCTO Part of Accenture Digital © 2019 - All rights reserved 29 Documentation API avec Swagger
  • 30. OCTO Part of Accenture Digital © 2019 - All rights reserved 30 Etapes du pipeline pour déployer les artefacts Code Checkout Build Test Analyse Sonar Deploy jar to Nexus
  • 31. OCTO Part of Accenture Digital © 2019 - All rights reserved 31 Pipeline Jenkins des APIs
  • 32. THERE IS A BETTER WAY IHM de supervision
  • 33. OCTO Part of Accenture Digital © 2019 - All rights reserved 33 IHM statuts des déploiements des bots
  • 34. OCTO Part of Accenture Digital © 2019 - All rights reserved 34 IHM détails de déploiement d’un bot