Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Mathieu Trossevin
blog.limos.fr
Commits
fe7c3cec
Commit
fe7c3cec
authored
Nov 20, 2018
by
Vincent Mazenod
Browse files
add criprod slides
parent
c7b03fdd
Changes
4
Hide whitespace changes
Inline
Side-by-side
content/slides/cri/criprod.html
0 → 100644
View file @
fe7c3cec
<!doctype html>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
>
<title>
criprod
</title>
<link
rel=
"stylesheet"
href=
"../../node_modules/reveal.js/css/reveal.css"
>
<link
rel=
"stylesheet"
href=
"../../node_modules/reveal.js/css/theme/white.css"
>
<!-- Theme used for syntax highlighting of code -->
<link
rel=
"stylesheet"
href=
"../../node_modules/reveal.js/lib/css/zenburn.css"
>
<link
rel=
"stylesheet"
href=
"../../node_modules/font-awesome/css/font-awesome.min.css"
>
<link
rel=
"stylesheet"
href=
"../main.css"
>
<!-- Printing and PDF exports -->
<script>
var
link
=
document
.
createElement
(
'
link
'
);
link
.
rel
=
'
stylesheet
'
;
link
.
type
=
'
text/css
'
;
link
.
href
=
window
.
location
.
search
.
match
(
/print-pdf/gi
)
?
'
../../node_modules/reveal.js/css/print/pdf.css
'
:
'
../../node_modules/reveal.js/css/print/paper.css
'
;
document
.
getElementsByTagName
(
'
head
'
)[
0
].
appendChild
(
link
);
</script>
</head>
<body>
<div
class=
"reveal"
>
<div
class=
"slides"
>
<section
data-markdown=
"md/criprod.md"
data-separator=
"^\n\n\n"
data-separator-vertical=
"^\n\n"
data-separator-notes=
"^Note:"
data-charset=
"utf-8"
>
</section>
</div>
</div>
<script
src=
"../../node_modules/reveal.js/lib/js/head.min.js"
></script>
<script
src=
"../../node_modules/reveal.js/js/reveal.js"
></script>
<script>
// More info about config & dependencies:
// - https://github.com/hakimel/reveal.js#configuration
// - https://github.com/hakimel/reveal.js#dependencies
Reveal
.
initialize
({
controls
:
true
,
progress
:
true
,
history
:
true
,
center
:
false
,
dependencies
:
[
{
src
:
'
../../node_modules/reveal.js/plugin/markdown/marked.js
'
},
{
src
:
'
../../node_modules/reveal.js/plugin/markdown/markdown.js
'
},
{
src
:
'
../../node_modules/reveal.js/plugin/notes/notes.js
'
,
async
:
true
},
{
src
:
'
../../node_modules/reveal.js/plugin/highlight/highlight.js
'
,
async
:
true
,
callback
:
function
()
{
hljs
.
initHighlightingOnLoad
();
}
}
]
});
</script>
</body>
</html>
content/slides/cri/images/apero.gif
0 → 100644
View file @
fe7c3cec
681 KB
content/slides/cri/md/criprod.md
0 → 100644
View file @
fe7c3cec
# criprod
#### l'informatique qui marche!
## galactica
*
navire sans capitaine
*
plus d'image package
*
plus de support sur les problèmes
*
pas de mise à jour de la plateforme
*
héberge des services critiques
*
fonctionne à date
*
ok pour la recherche
*
source d'inspiration
## Et si ...
on réfléchissait au prochain système de virtualisation
*
maintenable
*
redéployable
*
scalable
*
utilisable
## par tous!
fini les SPOFs
#### on gère tous un datacenter home made!
## loi de Murphy
*
tout cassera à un moment ou à un autre
*
mauvaise config
*
mise à jour foireuse
*
piratage
*
panne matérielle
au plus mauvais moment si possible
## loi de Murphy
*
réparer c'est bien mais ce n'est pas toujours possible
*
temps d'investigation
*
données perdues
*
configuration manquantes
*
expertise
## Alors?
*
On redéploie
*
vite
*
souvent
*
les yeux fermés
*
tout le datacenter de préférence
*
toutes les machines et tous les services
## komankonfé
il nous faut
*
des routines de sauvegarde
*
des routines de déploiement
*
des routines de restauration
## en terme de ressources ...
*
2 (cluster d')hyperviseurs
*
un pour la prod
*
un pour la redondance
*
un serveur pour
*
sauvegarder la prod
*
déployer et restaurer tous les services sur l'hyperviseur
# TOUTES LES NUITS!
## chaque service a un double
*
prêt à prendre le relais
*
tous les déploiements sont testés toutes les nuits
### On a plus peur!
## et t'as des machines pour ça
*
récupérons tout
*
on veut que ça pète
*
pour se persuader qu'on sait remonter les yeux fermés
#### Pour faire de la bonne cuisine il faut ...
*
des outils / ustensiles
*
un
**cluster**
d'hyperviseur
**proxmox**
*
**terraform**
pour crééer TOUTES les VMs nécessaires à nos services
*
**terraform**
maintient l'état (en term d'inventaire) de notre
**datacenter**
#### Pour faire de la bonne cuisine il faut ...
*
des recettes
*
des déploiements automatisé avec
**ansible**
ou
**maison**
*
versionnés sur un
**gitlab**
accessible en ldap ET avec le mot de passe root
*
des ingrédients
*
un gestionnaire de secret
**vault**
accessible en ldap ET avec le mot de passe root
## PCA / PRA
*
Donnez nous
*
un
**gitlab**
avec les bonnes recettes de déploiement
*
un fichier texte
**terraform**
décrivant l'état du datacenter
*
les mots de passe nécessaires au déploiement
## Et on reconstruit tout!
### en 1 ligne de commande
### Est ce qu'on fait pas chier pour rien?
*
les routines de déploiements
*
sont agnostiques de l'hyperviseur
*
sont autodocumentées
*
l'infra est reproductible
*
sur aws, google cloud, ...
*
sur openstack (mouahahaha!)
c'est un bonne opportunité de peaufiner le nettoyage entamer il y bientôt 2 ans
# les devs peuvent nous aider
## si on dit s'il te plaît
## On pourra mettre "DevOps" comme skills linkedin ...
## ... Et parler de sujet fun à l'apéro ;)
## Next step 1
*
présentation de
**proxmox**
*
son installation (william)
*
son utilisation avec
**terraform**
*
réflexion pour que tout le cri (voir l'équipe dev) puissent créer des vms
*
chacun pousse sa vms avec un playbook offert pour la maison
*
y a rien à casser
## Next step 2
*
Présentation d'
**ansible**
au travers de 3 services:
**gitlab**
,
**vault**
,
**my isima**
*
réflexion pour que tout le cri ait en tête les bonnes pratiques pour écrire & architecturer correctement ses playbooks ansible ou maison
*
un projet a un cycle de vie probablement standard (install, configure, initialize, restore, backup)
## Next step 3
*
Présentation de
**vault**
*
consulter / écrire des secrets
*
réflexion pour automatiser l'écriture des secrets dans la configuration de nos playbooks
*
les devs peuvent nous aider
## Next step 4
*
Présentation de HaProxy et de la gestion des certificats
**SSL**
*
créer une entrée dans
**HaProxy**
*
créer une entrée dans
**Bind**
*
rendre une machine visible sur un port
*
installer son certificat
*
réflexion pour automatiser l'écriture de la configuration
**HaProxy**
,
**DNS**
, et
**ssl**
*
les devs peuvent nous aider
## Next step 5
*
mise en place du backup et du cluster backup avec redéploiement automatique quotidien
*
chacun migre ses services
*
et se pose la question de son binôme pour ce service
## Next step 6
*
c'est déjà la rentrée ;)
## Next step 7
*
démontage de galactica au profit de cluster de proxmox pour la recherche ;)
## Next step 8

<!-- .element: width="85%" -->
content/slides/index.html
View file @
fe7c3cec
<h3>
cri
</h3>
<li><a
href=
"cri/criprod.html"
>
criprod
</a></li>
<h3>
cours
</h3>
<li>
<a
href=
"privacy/jnarac.html"
>
je n'ai rien
à
cacher
</a>
<ul>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment