Mise en place d’Orchestra
Orchestra est l’outil développé par Ubuntu pour déployer votre propre Cloud privé. Celui-ci est notamment utilisé par Canonical pour gérer son infrastructure Ubuntu Cloud. Pour cela il se base sur plusieurs projets qui ont fait leur preuves par leur robustesse au file des années.
I. Introduction à Orchestra
Lorsque qu’un administrateur système gère un parc de machines, il fait généralement une installation du nouveau service qu’il veut mettre en place manuellement. Réaliser une installation manuelle permet de bien comprendre le fonctionnement de la solution mise en place, ce qui pourra aider au débugage ultérieurement si besoin. Très rapidement il scripte le tout afin d’automatiser les tâches. Lorsque le parc grandit ou qu’il comprendra plus de 100 machines, même le script d’automatisation devient compliquer à mettre en place, une perte de temps. C’est là qu’interviennent des outils comme Orchestra, capables de gérer des parcs de machines à grande échelle. Orchestra est une collection des meilleurs outils pour construire un Cloud Open Source. Il déploie des Ubuntu Server à partir un Ubuntu Server.
Il regroupe plusieurs familles telles que:
- Provisionning – Cobbler
- Configuration – Juju
- Orchestration - Juju
- Monitoring – Nagios
- Log centralisé – Rsyslog
Orchestra offre la possibilité de manager son infrastructure depuis un seul point de contrôle et les déploiements de services. Comme un bon schéma vaut mieux que de longue discussion, je vous laisse observer:
Vous comprendrez donc qu’un serveur central (orchestra server) gère les déploiements sur toutes les machines de votre parc. Séquentiellement on obtient:
- Rack votre serveur
- Allumer le serveur
- Enregistrer vos machines via leur adresses MAC dans l’interface de l’outil de provisionning fournit par Orchestra (Cobbler) et activer l’option ‘netboot’
- Éteignez les serveurs
- (PATIENTER)
- Depuis l’interface, choisissez les machines à déployer, le WOL étant activer les machines vont s’allumer toutes seules and Cobbler va déployer et installer Ubuntu Server
- Juju déploie vos services, Juju fera l’objet d’un article à part entière.
Pour résumer, les points forts d’Orchestra:
- Package all-in-one
- Réduit considérablement les temps de déploiements (vital)
- Open source (AGPL), janvier 2011
II. Installation
II.1. Orchestra Server
Mes tests ont bien évidemment été réalisés sur Ubuntu Server Oneiric 11.10. Détails de la machine virtuelle:
- 1 core, 400Mo RAM
- 2 NIC :
- NAT
- Host only
Configuration des cartes réseaux à votre convenance mais je poste quand même la mienne.
orchestra@orchestra:~$ cat /etc/network/interfaces |
On active également l’IP forwarding au niveau du noyau :
orchestra-user@orchestra:~$ sudo iptables -t nat --append POSTROUTING --out-interface eth0 -j MASQUERADE |
Pour rendre cela permanent au reboot, éditer votre /etc/sysctl.conf
avec:
net.ipv4.ip_forward = 1 |
Appliquer le changement:
orchestra-user@orchestra:~$ sudo sysctl -p |
II.2. Orchestra installation
Mise à jours de la liste des paquets et installation du paquet:
orchestra-user@orchestra:~$ sudo apt-get update && sudo apt-get install ubuntu-orchestra-server –y |
Réponses aux étapes importantes durant l’installation:
- Set the Boot and PXE server address:
ip_de_le_carte_host_only
- dans mon cas 192.168.1.100 - Enable Orchestra manage DNS/DHCP:
Yes
- Set the network range for DHCP Clients:
192.168.1.101 – 192.168.1.200
- Set the default gateway for DHCP Clients:
ip_de_le_carte_host_only
- dans mon cas 192.168.1.100
Si vous avez fait une erreur durant l’installation vous pouvez soit faire dpkg-reconfigure soit modifier la configuration de Cobbler dans: /etc/cobbler/settings
II.3. Cobbler web interface managment
Rendez-vous http://ip_address_orchestra_server/cobbler_web/system/list
Si tout c’est bien passé vous devriez charger cette page:
Rentrer les identifiants que vous avez saisis durant l’installation d’orchestra-server.
Aller dans Systems > Create New System
et remplissez les champs comme suit:
- Profile:
oneiric-86_64-juju
- Gateway:
addresse_ip_host_only
- Name Servers:
addresse_ip_host_only
- Add Interface: entrer
eth0
et cliquer surAdd
- Edit Interface:
eth0
- MAC Address:
MAC_address_Orchestra_Slave
- Management Classes: ajouter UNIQUEMENT la classe:
orchestra-juju-available
(si vous voulez utiliser juju, plus tard)
I.4. Monitorer votre installation
Avant de démarrer votre machine « esclave », celle sur laquelle votre serveur Orchestra va déployer Ubuntu Server modifier la séquence de démarrage de votre machine sur Boot PXE. Puis lancez votre machine, voilà normalement la magie est train de s’opérer.
Pour voir en direct l’installation et ce qu’il se passe « under the hood » trouvez l’adresse IP de la machine esclave :
orchestra-user@orchestra:~$ sudo netstat -plantu | grep rsyslogd | grep ESTABLISHED | awk '{print $5}' | cut -d ':' -f 1 |
Installer un outil pour colorier vos logs :
orchestra-user@orchestra:~$ sudo apt-get install -y tmux ccze |
Admirer les logs du serveur Orchestra :
orchestra-user@orchestra:~$ tail -f /var/log/syslog | ccze |
Ainsi que les logs de SQUID :
orchestra-user@orchestra:~$ sudo tail -f /var/log/squid/access.log | ccze |
Lorsque l’installation est terminée vous pouvez vous logger sur la machine esclave avec :
identifiant: ubuntu |
Et voilà !
J’espère que cela pourra vous être utile pour déployer des machines sur votre parc. Comprenez bien que ce tuto n’est qu’une présentation en surface des capacités d’ Orchestra ou plus concrètement de Cobbler pour les déploiements de systèmes d’exploitation. La sortie imminente de la nouvelle LTS 12.04 apportera son lot de nouveauté. Un autre composant que je n’ai pas évoquer ici est juju
. Un outils relativement puissant et bluffant par sa simplicité bien que très instables à leur actuelle. Il fera l’objet d’un futur article.
Comments