Wiki » History » Version 4

« Previous - Version 4/11 (diff) - Next » - Current version
olb  , 02/16/2013 05:27 PM


Documentation

La mise en jauge consiste à recouvrir de terre les racines d'une plante ou d'un arbre pour lui permettre d'attendre une plantation définitive.

Présentation

Aperçu

Jauge est un espace ou rézine entrepose et teste l'ensemble de la configuration
de son infrastructure. L'objectif est multiple :

  • permettre aux membres de rézine de manipuler et tester la configuration sans casser la prod.
  • permettre à quiconque d'obtenir la conf utilisée par rézine.

La configuration est gérée par puppet[^puppet]. Jauge contient donc l'ensemble
des manifests et modules nécessaires au fonctionnement de Rézine. Les tests sont
effectués dans des machines virtuelles créées et provisionnées par
vagrant[^vagrant].

[^puppet]: http://puppetlabs.com/

[^vagrant]: http://vagrantup.com/

Démarrer rapidement

Récupérer jauge :

git clone git://atelier.gresille.org/rezine/jauge jauge.git
cd jauge.git
git submodule update --init --recursive

ou

git clone --recursive git://atelier.gresile.org/rezine/jauge.git

Vagrant a besoin d'une image de base pour générer les machines virtuelles. Nous
diffusons cette image via bitTorrent : vagrant-debian-wheezy.box.torrent,
son empreinte sha1 est 110dc105b1a40b66be35f27c0085f0e2c7f16475 (sha1sum
vagrant-debian-wheezy.box).

Pour ajouter l'image à vagrant :

vagrant box add vagrant-debian-wheezy-jauge vagrant-debian-wheezy.box

Démarrer toutes les machines virtuelles. Les machines seront démarrées et
provisionnées selon les manifests et modules récupérés sur le dépot

vagrant up

Quelques commandes

Démarrer les machines virtuelles phloeme et houppier (l'ordre a une importance)

vagrant up phloeme houppier

Accéder à la machine houppier

vagrant ssh houppier

Provisionner la machine houppier (après modification de la configuration puppet par exemple)

vagrant provision houppier

Éteindre l'ensemble des machines virtuelles

vagrant halt

Supprimer toutes les machines virtuelles

vagrant destroy

Structure du dépot

  • Jauge // Un dépot pour les controler tous
    • modules
      • module 1 // Un dépot par module
      • module 2
    • manifests
      • \*.pp
      • local/\*.pp // configuration locale (ignorée par git)
      • local/readme.pp // exemple de configuration locale
    • Vagrantfile

Découpage des machines & et du réseau

Ensemble des fonctionalités

  • gw
  • resolver dns
  • si
  • radius
  • dns rezine.org, puppetmaster, smtp
  • lns
  • tunnels chiffrés

Principales dépendances fonctionnelles

  • `*` => puppetmaster
  • `*` => resolver dns
  • `*` => gw
  • radius => si
  • lns => radius
  • tunnels => radius

Machines effectives et réseaux associés

Schéma des machines

                         
            +---------- Grenode -----------+
            |                              |
            |                              |
            |      +--- Collecte ---+      |
            |      |                |      |
            |      |                |      |
         +---------------+       +---------------+
         | PHLOEME       |-------| XYLEME        |
         | gw/lns/tunnel |       | gw/lns/tunnel |
         +---------------+       +---------------+
               |                        |        
               +----+---------------+---+
                    |               |
         +---------------+       +------------+
         | HOUPPIER      |       | CAMBIUM    |
         | outils/radius |       | si         |
         +---------------+       +------------+

Schéma réseau

      PHLOEME       XYLEME       HOUPPIER   CAMBIUM

      eth3          eth3                                     eth3             Grenode
    --X-------------x----------------------------------------X--------------- 10.255.8.0/24

      eth4          eth4                                               eth4   Collecte
    --X-------------X--------------------------------------------------X----- 10.255.9.0/24

      eth2          eth2                                                      ADSL Membres
    --X-------------X-------------------------------------------------------- 10.255.7.0/24

      eth1          eth1         eth1       eth1                              Rézine infra
    --X-------------X------------X----------X-------------------------------- 10.255.6.0/24

      eth0          eth0         eth0       eth0             eth0      eth0   Test
    --X-------------X------------X----------X----------------X---------X----- 10.0.2.0/24
                                                             ESTRAN    LUCKY

                                                             (ip)      (l2tp)

                                                             M-VPN     M-ADSL

Pour les des tests nous auront besoin d'autres machines dans l'environnement du
FAI, il s'agit de ESTRAN (passerelle de rézine), LUCKY (machine de l'opérateur
de collecte ADSL), M-VPN (client pour les tunnels chiffrés), M-ADSL (client
pour l'adsl).

Remarques sur la redondance

Si on souhaite redonder les lns ou les passerelles, il va falloir trouver un
moyen de gérer automatiquement la topologie du réseau quand une passerelle
tombe. Pour cela, il est possible de :

  • heartbeat/ldirector ou CARP pour avoir une seule IP sur les 2 GW/LNS/TUNNEL
  • faire du routage dynamique sur toutes les machines de Rézine (ospf, rip,…).
    Ça a l'avantage qu'il n'y a pas besoin d'une IP partagée.

Conf puppet

Configuration locale

Voir fichier manifests/local/readme.pp

Quelques liens sur puppet

vagrant-debian-wheezy.box.torrent (25.3 KB) olb  , 02/16/2013 05:27 PM

vagrant-debian-wheezy-jauge-v3.box.torrent - Torrent box vagrant (36.6 KB) Nima Nima, 05/28/2013 07:28 PM