2015-09-28 00:23:15 +00:00
|
|
|
# Voyage par conteneur
|
|
|
|
|
|
|
|
## Made in Unix
|
|
|
|
|
|
|
|
### Que doit-on isoler ?
|
|
|
|
|
2015-09-28 20:31:53 +00:00
|
|
|
> * Matériel ?
|
|
|
|
> * Processus ?
|
|
|
|
> * Réseau ?
|
|
|
|
> * Système de fichiers ?
|
|
|
|
> * Utilisateurs et groupes ?
|
|
|
|
> * Nom et domaine de la machine !
|
|
|
|
> * IPC !
|
|
|
|
> * Horloge ?
|
2015-09-28 00:23:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
## Made in Linux
|
|
|
|
|
|
|
|
|
|
|
|
### Pour cette mission, vous disposerez de ...
|
|
|
|
|
|
|
|
TODO screen drôle de Spy 2015
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
. . .
|
|
|
|
|
|
|
|
#### Namespaces
|
|
|
|
|
|
|
|
Isolation des processus (PID Namespace), interface réseau (Network
|
|
|
|
Namespace), partitions montées (Mount Namespace), utilisateurs et
|
|
|
|
groupes (User Namespace), nom de machine (UTS Namespace), IPC.
|
|
|
|
|
2015-09-28 20:31:53 +00:00
|
|
|
`namespaces(7)`
|
|
|
|
|
2015-09-28 00:23:15 +00:00
|
|
|
#### CGroups
|
|
|
|
|
|
|
|
Statistiques sur l'utilisation des ressources et limitation.
|
|
|
|
|
2015-09-28 20:31:53 +00:00
|
|
|
https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt
|
2015-09-28 00:23:15 +00:00
|
|
|
|
|
|
|
#### Capabilities
|
|
|
|
|
|
|
|
Limitation de ce que `root` peut faire.
|
|
|
|
|
2015-09-28 20:31:53 +00:00
|
|
|
`capabilities(7)`
|
|
|
|
|
2015-09-28 00:23:15 +00:00
|
|
|
|
|
|
|
## pour les nuls
|
|
|
|
|
|
|
|
### Mais Jamie, comment ça marche ?
|
|
|
|
|
|
|
|
TODO screen C'est pas sorcier
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
#### Système de fichiers
|
|
|
|
|
2015-09-28 20:31:53 +00:00
|
|
|
Sous-arbre de la racine.
|
2015-09-28 00:23:15 +00:00
|
|
|
|
|
|
|
* Union FileSystems
|
|
|
|
* Thin provisioning
|
|
|
|
|
|
|
|
#### Processus
|
|
|
|
|
|
|
|
Premier processus contenu = PID 1.
|
|
|
|
|
|
|
|
|
|
|
|
### Le réseau ...
|
|
|
|
|
|
|
|
TODO Câbles mélangés
|
|
|
|
|
|
|
|
----
|
|
|
|
|
|
|
|
#### Interface physique
|
|
|
|
|
|
|
|
Facile ! Mais il en faut beaucoup.
|
|
|
|
|
|
|
|
#### MAC-VLAN
|
|
|
|
|
|
|
|
* **VEPA :** tous les paquets sortants sortent, y compris ceux à destination
|
|
|
|
d'une autre machine locale. Le switch derrière doit rerouter les paquets vers
|
|
|
|
la machine.
|
|
|
|
* **Bridge :** le noyau analyse les paquets avant de les transmettre.
|
|
|
|
|
|
|
|
#### Virtual Ethernet
|
|
|
|
|
|
|
|
Interfaces virtuelles connectées à un bridge.
|
|
|
|
|
|
|
|
|
|
|
|
## En résumé
|
|
|
|
|
|
|
|
### Mais ! (il y a toujours un mais)
|
|
|
|
|
|
|
|
. . .
|
|
|
|
|
|
|
|
#### LXC stable
|
|
|
|
|
|
|
|
Prêt pour la production depuis le XX 2014.
|
|
|
|
|
|
|
|
Attention à la configuration et aux erreur de capabilities !
|
|
|
|
|
|
|
|
. . .
|
|
|
|
|
|
|
|
#### Partage des systèmes de fichiers
|
|
|
|
|
|
|
|
Optimise l'utilisation du cache :-)
|
|
|
|
|
|
|
|
. . .
|
|
|
|
|
|
|
|
N'optimise pas le travail de l'administrateur système :-(
|