autoscale: true footer: TDO - S01E02 slidenumbers: true theme: Sketchnote, 1
- au Prism de nous accueillir
- à la CCISM d'avoir créé le Prism
- à vous d'être venu
- est un fichier Markdown
- versionné avec git
- transformé avec Deckset
- disponible sur github : source et PDF
- C’est quoi ?
- Une petite démo
- REX
- Conclusion
[.footer: C’est quoi ? | Une petite démo | REX ]
- une équipe aimant la pizza qui parle français
- qui vont souvent à Bora, Moorea ou à la presqu'île
- Dockerfile, DockerHub, docker-compose.yml
- la valse des orchestrateurs (swarm, k8s and co)
- un tas de documentation sur le sujet
[.footer: C’est quoi ? | Une petite démo | REX ]
[.footer: C’est quoi ? | Une petite démo | REX ]
- créer une application simple en java
- mettre cette application dans un container
- mettre les sources sur Github
- configurer l’auto-build sur le DockerHub
- déployer le container sur un cloud provider (DO)
[.footer: C’est quoi ? | Une petite démo | REX ]
- ne va faire qu’une seule chose : dire qu’elle va bien
- avec curl
mkdir demo
cd demo
curl https://start.spring.io/starter.tgz \
-d dependencies="web,actuator" \
-d name="demo" \
-d groupId="pf.devops" | tar -xzf -
./mvnw spring-boot:run
[.footer: C’est quoi ? | Une petite démo | REX ]
- ne va faire qu’une seule chose : dire qu’elle va bien
- avec spring-cli
/usr/local/bin/spring init -d="web,actuator" -g pf.devops -n demo demo
cd demo
./mvnw spring-boot:run
[.footer: C’est quoi ? | Une petite démo | REX ]
- Création d’un Dockerfile (multi-stage)
FROM maven:3.5-jdk-8 AS appserver
WORKDIR /usr/src/app
COPY . .
RUN mvn package
FROM openjdk:jre-alpine
WORKDIR /app
COPY --from=appserver /usr/src/app/target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app/app.jar"]
[.footer: C’est quoi ? | Une petite démo | REX ]
- On lance la construction du container
docker build -t devops/demo .
[.footer: C’est quoi ? | Une petite démo | REX ]
- On lance le container
docker run -p 8080:8080 -t devops/demo
- On teste le service (avec httpie svp)
http :8080/health
[.footer: C’est quoi ? | Une petite démo | REX ]
https://github.com/tahitidevops/docker-demo
git init
git add .
git commit -m ‘Init project’
git remote add origin https://github.com/tahitidevops/docker-demo
git push -u origin master
[.footer: C’est quoi ? | Une petite démo | REX ]
https://hub.docker.com/u/tahitidevops
[.footer: C’est quoi ? | Une petite démo | REX ]
https://cloud.digitalocean.com/droplets
doctl compute droplet create demo \
--image docker-16-04 \
--region sfo1 \
--size 512mb \
--ssh-keys 2b:b4:75:b5:14:47:76:93:05:49:31:27:54:81:1e:df
doctl compute droplet ls
doctl compute ssh demo
doctl compute droplet delete demo
[.footer: C’est quoi ? | Une petite démo | REX ]
- Créer un container, ce n'est pas sorcier
- Déployer un container non plus (il suffit d'avoir un dépôt de référence)
[.footer: C’est quoi ? | Une petite démo | REX ]
[.footer: C’est quoi ? | Une petite démo | REX ]
[.footer: C’est quoi ? | Une petite démo | REX ]
- étudie Docker depuis 2013
- docker sur la plateforme Net.pf depuis 2016
- Dockercon 2017
- déploiement global via le SDI 2017
[.footer: C’est quoi ? | Une petite démo | REX ]
- beaucoup plus simple avec les personnes habituées à la ligne de commande
- beaucoup plus compliqué avec les autres
- très compliqué avec les pro-silos !!!
- le CI/CD est votre allié pour rendre docker non visible
[.footer: C’est quoi ? | Une petite démo | REX ]
- habitués aux développements des outils de gestion de configuration (Vagrant, Puppet, Chef & Ansible) donc docker… finger in the nose…
- tant que ça ne dépasse pas le poste de travail…
[.footer: C’est quoi ? | Une petite démo | REX ]
- c’est plus compliqué que ça en a l’air
- la production, c’est de toute façons compliqué de base (Disponibilité, Intégrité, Confidentialité, Traçabilité)... la supervision, la centralisation des logs, les N plans au cas où...etc
[.footer: C’est quoi ? | Une petite démo | REX ]
- doit-on tout mettre dans des containers ?
- quel orchestrateur ? quel architecture ?
- quelle application ? quid des délais ? quels sont les moyens et les ressources nécessaires ?
- Quid de la sécurité ? "On dit que" ?
[.footer: C’est quoi ? | Une petite démo | REX ]
- "Voir grand mais commencer petit" dixit mon CDS
- dépend de votre application (micro-service ?)
- dépend de votre niveau de maturité avec l'éco-système Docker
- tout le reste, c'est comme d'hab... vraiment
[.footer: C’est quoi ? | Une petite démo | REX ]
- Promouvoir la culture devops en Polynésie française
- Présentations en fonction des souhaits des adhérents
- http://www.devops.pf