Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
openstack [Le 24/02/2015, 14:26] – [Première machine virtuelle] eileon | openstack [Le 28/08/2016, 19:37] (Version actuelle) – [Configuration] Ysera | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | |||
+ | ====== OpenStack ====== | ||
+ | |||
+ | OpenStack est un logiciel libre ((license Apache 2.0)) qui permet la construction de [[:cloud]] privé et public. OpenStack est aussi une communauté et un projet en plus d'un logiciel qui a pour but d' | ||
+ | OpenStack est composé d'une série de logiciels et de projets au code source libre qui sont maintenus par la communauté incluant: OpenStack Compute (nommé Nova), OpenStack Object Storage (nommé Swift), et OpenStack Image Service (nommé Glance).\\ | ||
+ | Ce document présente l' | ||
+ | Il s'agit plutôt d'une configuration de développement mais néanmoins fonctionnelle. Les services réseau avancé et stockage que sont respectivement Quantum et Swift ne seront pas abordés dans ce document. | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * Avoir les [[: | ||
+ | * Un processeur supportant la virtualisation matérielle ([[: | ||
+ | * Disposer d'un disque dur ou d'une partition non formatée pour [[:LVM]] | ||
+ | * Ne pas avoir peur de la ligne de [[: | ||
+ | * Avoir [[: | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | * **[[apt> | ||
+ | * Il est nécessaire de configurer le réseau en IP Fixe. Supprimez les paquets Network-Manager ou Wicd et resolvconf. | ||
+ | |||
+ | Tous les services OpenStack seront installés sur la même machine.\\ | ||
+ | La configuration abordée suppose l' | ||
+ | |||
+ | ===== Préparation du système ===== | ||
+ | |||
+ | ==== Réseau ==== | ||
+ | |||
+ | <note important> | ||
+ | [[: | ||
+ | |||
+ | < | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet manual | ||
+ | |||
+ | auto eth1 | ||
+ | iface eth1 inet manual | ||
+ | |||
+ | auto br0 | ||
+ | iface br0 inet static | ||
+ | bridge_ports eth0 | ||
+ | address 192.168.1.250 | ||
+ | netmask 255.255.255.0 | ||
+ | gateway 192.168.1.254 | ||
+ | broadcast 192.168.1.255 | ||
+ | |||
+ | auto br1 | ||
+ | iface br1 inet manual | ||
+ | bridge_ports eth1 | ||
+ | |||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | Les DNS ci dessous sont ceux de Google | ||
+ | |||
+ | < | ||
+ | nameserver 8.8.8.8 | ||
+ | nameserver 8.8.4.4 | ||
+ | </ | ||
+ | |||
+ | Relancez les cartes réseau pour que les modifications soient prises en compte.\\ | ||
+ | < | ||
+ | for a in `ifconfig | awk '/ | ||
+ | sudo ifup -e lo -av | ||
+ | </ | ||
+ | |||
+ | <note tip> Assurez-vous d' | ||
+ | : | ||
+ | < | ||
+ | net.ipv4.ip_forward=1 | ||
+ | </ | ||
+ | puis lancez la commande : | ||
+ | < | ||
+ | </ | ||
+ | ==== Serveur NTP ==== | ||
+ | |||
+ | Le serveur [[: | ||
+ | Ensuite, [[: | ||
+ | |||
+ | < | ||
+ | server ntp.ubuntu.com iburst | ||
+ | server 127.127.1.0 | ||
+ | fudge 127.127.1.0 stratum 10 | ||
+ | </ | ||
+ | |||
+ | redémarrez le service | ||
+ | < | ||
+ | sudo service ntp restart | ||
+ | </ | ||
+ | |||
+ | ==== LVM ==== | ||
+ | Les volumes [[: | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Les commandes qui suivent supposent que vous avez un disque dur **/ | ||
+ | Créez une [[: | ||
+ | < | ||
+ | sudo fdisk /dev/sdc | ||
+ | n p 1 < | ||
+ | </ | ||
+ | Vous avez maintenant une partition primaire vide de 100 Gigas **/ | ||
+ | Créez maintenant le volume LVM. Attention, le nom **nova-volumes** doit être respecté: | ||
+ | < | ||
+ | sudo pvcreate /dev/sdc1 | ||
+ | sudo vgcreate nova-volumes /dev/sdc1 | ||
+ | </ | ||
+ | |||
+ | ==== RabbitMQ ==== | ||
+ | RabbitMQ est un courtier de messages se basant sur le standard [[wpfr> | ||
+ | Pour faire simple: c'est le service qui permet aux composants OpenStack de communiquer entre eux. | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Mysql ==== | ||
+ | Chaque composant possède sa base de données [[: | ||
+ | <note tip>Il est possible d' | ||
+ | |||
+ | Pour indiquer a MySQL que le serveur doit écouter sur toutes les adresses et pas seulement sur la boucle locale, modifiez sa configuration en [[: | ||
+ | < | ||
+ | bind-address = 127.0.0.1 | ||
+ | </ | ||
+ | par | ||
+ | < | ||
+ | bind-address = 0.0.0.0 | ||
+ | </ | ||
+ | et redémarrez MySQL | ||
+ | < | ||
+ | sudo service mysql restart | ||
+ | </ | ||
+ | |||
+ | ===== Keystone ===== | ||
+ | |||
+ | Le composant Keystone est chargé de la gestion des utilisateurs et des services. | ||
+ | |||
+ | === Gestion des utilisateurs === | ||
+ | La gestion des utilisateurs s' | ||
+ | * l' | ||
+ | * L' | ||
+ | * L' | ||
+ | |||
+ | === Gestion des services et points d' | ||
+ | La gestion des différents services, comme Glance pour les images ou Swift pour le stockage.\\ | ||
+ | La définition des points d' | ||
+ | |||
+ | ==== Préparation de la base de données Mysql ==== | ||
+ | Commencez par créer la base MySQL.\\ | ||
+ | La commande suivante crée un utilisateur et sa base de données nommés " | ||
+ | < | ||
+ | mysql -u root -p <<EOF | ||
+ | CREATE DATABASE keystone; | ||
+ | GRANT ALL PRIVILEGES ON keystone.* TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Puis supprimer la base de donnée SQlite : | ||
+ | < | ||
+ | rm / | ||
+ | </ | ||
+ | ==== Configuration ==== | ||
+ | |||
+ | [[: | ||
+ | Remplacez ADMPASSWD par un mot de passe de votre choix et et SQLPASSWD par le mot de passe MySQL défini ci dessus | ||
+ | < | ||
+ | [DEFAULT] | ||
+ | bind_host = 0.0.0.0 | ||
+ | public_port = 5000 | ||
+ | admin_port = 35357 | ||
+ | # Mot de passe d' | ||
+ | admin_token = ADMPASSWD | ||
+ | compute_port = 8774 | ||
+ | verbose = True | ||
+ | debug = True | ||
+ | log_config = / | ||
+ | |||
+ | |||
+ | [sql] | ||
+ | connection = mysql:// | ||
+ | idle_timeout = 200 | ||
+ | </ | ||
+ | |||
+ | Redémarrez keystone: | ||
+ | |||
+ | < | ||
+ | sudo service keystone restart | ||
+ | </ | ||
+ | |||
+ | Synchronisez la base de données: | ||
+ | |||
+ | < | ||
+ | sudo keystone-manage db_sync | ||
+ | </ | ||
+ | |||
+ | et donnez les droits en lecture / écriture à keystone | ||
+ | |||
+ | < | ||
+ | chown keystone: | ||
+ | </ | ||
+ | ==== Création des utilisateurs ==== | ||
+ | Chaque commande ci-dessous contient l' | ||
+ | |||
+ | === Création du compte administrateur === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | Répondra quelque chose comme | ||
+ | < | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | email | admin@example.com | ||
+ | | enabled | ||
+ | | id | c97c87b3ed894401975dd6d757b40330 | ||
+ | | name | admin | | ||
+ | | password | $6$rounds=40000$cZhg187ypC6hMMD1$YQAxiXspmMVsu1di.o3UlZjvjlEO9WXii48Q29tyIXTzDpT5e92XBij9Pz4A5YLoGaccf8PBf1jcAan9YLDOl. | | ||
+ | | tenantId | None | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Création du compte interne du service Glance == | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | Répondra | ||
+ | < | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | email | glance@example.com | ||
+ | | enabled | ||
+ | | id | 876ef0a6c0c048039f847e61da7260b4 | ||
+ | | name | glance | ||
+ | | password | $6$rounds=40000$pYJjQYtDJGdFB/ | ||
+ | | tenantId | None | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Création du compte interne du service Nova === | ||
+ | |||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | Répondra | ||
+ | < | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | email | nova@example.com | ||
+ | | enabled | ||
+ | | id | 5c54624fef2242e185af10b7a2a2768f | ||
+ | | name | nova | | ||
+ | | password | $6$rounds=40000$ogH/ | ||
+ | | tenantId | None | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | </ | ||
+ | |||
+ | ==== Création des rôles ==== | ||
+ | |||
+ | Pour les rôles utilisateurs vous avez le choix entre : | ||
+ | - // | ||
+ | - // | ||
+ | Les rôles // | ||
+ | |||
+ | === Rôle admin === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +----------+----------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+----------------------------------+ | ||
+ | | id | 3d945f41e08e4e2db1584fdb8f05d333 | | ||
+ | | name | admin | | ||
+ | +----------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Rôle Membre === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +----------+----------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+----------------------------------+ | ||
+ | | id | 84697b61736c439288900904bdf4a48d | | ||
+ | | name | Member | ||
+ | +----------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Rôle KeystoneAdmin === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +----------+----------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+----------------------------------+ | ||
+ | | id | d4d6482b0ec04e0fa24aa8263c182d08 | | ||
+ | | name | KeystoneAdmin | ||
+ | +----------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Rôle KeystoneServiceAdmin === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +----------+----------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+----------------------------------+ | ||
+ | | id | 46590e32dbbe40f29253b5b928b83d1b | | ||
+ | | name | KeystoneServiceAdmin | ||
+ | +----------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | ==== Création des Tenants ==== | ||
+ | === Tenant admin === | ||
+ | Le Tenant admin permet à ses membres d' | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | None | | ||
+ | | enabled | ||
+ | | id | 0f71e86d30e247d3b1216fe5f2f3aa50 | | ||
+ | | name | admin | | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | === Tenant service === | ||
+ | Le Tenant interne des services. | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | None | | ||
+ | | enabled | ||
+ | | id | 1a3515e468f14e0ebb4a4e83447e7bf7 | | ||
+ | | name | service | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | ==== Définition des rôles ==== | ||
+ | |||
+ | Il faut pour cela utiliser les ID affichés lors de la création des // | ||
+ | L'// | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | Comme ce n'est pas pratique de recopier les IDs, les erreurs de frappe seront évitées grâce à l' | ||
+ | * L'// | ||
+ | * L'// | ||
+ | * L'// | ||
+ | * L'// | ||
+ | Voici les commandes correspondantes : | ||
+ | < | ||
+ | keystone user-role-add --user-id `keystone user-list | awk '/ admin / { print $2 }'` --role-id `keystone role-list | awk '/ KeystoneAdmin / { print $2 }'` --tenant_id `keystone tenant-list | awk '/ admin / { print $2 }'` | ||
+ | keystone user-role-add --user-id `keystone user-list | awk '/ admin / { print $2 }'` --role-id `keystone role-list | awk '/ KeystoneServiceAdmin / { print $2 }'` --tenant_id `keystone tenant-list | awk '/ admin / { print $2 }'` | ||
+ | keystone user-role-add --user-id `keystone user-list | awk '/ glance / { print $2 }'` --role-id `keystone role-list | awk '/ admin / { print $2 }'` --tenant_id `keystone tenant-list | awk '/ service / { print $2 }'` | ||
+ | keystone user-role-add --user-id `keystone user-list | awk '/ nova / { print $2 }'` --role-id `keystone role-list | awk '/ admin / { print $2 }'` --tenant_id `keystone tenant-list | awk '/ service / { print $2 }'` | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Création d'un utilisateur supplémentaire ==== | ||
+ | Il s' | ||
+ | Le rôle " | ||
+ | L'User $USER (xavier ici) a un Role " | ||
+ | |||
+ | === User === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | Property | Value | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | | email | xavier@example.com | ||
+ | | enabled | ||
+ | | id | 13247a59ad844458ad36c0bd06451376 | ||
+ | | name | xavier | ||
+ | | password | $6$rounds=40000$3YPS4NJ1DqKdzEjc$XPGFlqCfu2ZCNUMJCjFMkvFfXrOkixuVq1I6.mjd9PXzU.4u6ELHYeNbvYJyiCGvUHaggIgo9rMESeA8v4x3Y1 | | ||
+ | | tenantId | None | | ||
+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
+ | </ | ||
+ | === Tenant === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | None | | ||
+ | | enabled | ||
+ | | id | c6f05a03b4aa482c91b61a2230356618 | | ||
+ | | name | xavier | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | === Rôle === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Création des services et leurs points d' | ||
+ | |||
+ | === Le service Keystone === | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | Keystone Identity Service | ||
+ | | id | 41905e02540d48228166c6d06ddcd9f0 | | ||
+ | | name | keystone | ||
+ | | type | identity | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | === Le point d' | ||
+ | < | ||
+ | keystone --token ADMPASSWD --endpoint http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | adminurl | ||
+ | | id | f1c517d5754a493fa67fc21b3f4264c4 | | ||
+ | | internalurl | http:// | ||
+ | | publicurl | ||
+ | | region | ||
+ | | service_id | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | Les services et points d' | ||
+ | |||
+ | ==== Utilisation ==== | ||
+ | |||
+ | Il y a plusieurs façons possibles de s' | ||
+ | * La méthode d' | ||
+ | < | ||
+ | keystone --endpoint http:// | ||
+ | </ | ||
+ | * La méthode user/ | ||
+ | < | ||
+ | keystone --username admin --password ADMPASSWD --tenant_name admin --auth_url http:// | ||
+ | </ | ||
+ | |||
+ | Pour les deux méthodes, il est possible d' | ||
+ | |||
+ | __1ère méthode__: | ||
+ | < | ||
+ | export SERVICE_ENDPOINT=http:// | ||
+ | export SERVICE_TOKEN=ADMPASSWD | ||
+ | keystone user-list | ||
+ | </ | ||
+ | |||
+ | __2ème méthode__: | ||
+ | < | ||
+ | export OS_TENANT_NAME=admin | ||
+ | export OS_USERNAME=admin | ||
+ | export OS_PASSWORD=ADMPASSWD | ||
+ | export OS_AUTH_URL=" | ||
+ | keystone user-list | ||
+ | </ | ||
+ | |||
+ | Pour éviter de refaire un export des variables à chaque ouverture de terminal, vous pouvez les exporter automatiquement.\\ | ||
+ | Il suffit de [[: | ||
+ | < | ||
+ | export OS_TENANT_NAME=admin | ||
+ | export OS_USERNAME=admin | ||
+ | export OS_PASSWORD=ADMPASSWD | ||
+ | export OS_AUTH_URL=" | ||
+ | </ | ||
+ | Ajoutez ensuite la ligne suivante a la fin de votre fichier **.bashrc** | ||
+ | < | ||
+ | source ~/.novarc | ||
+ | </ | ||
+ | Les variables seront exportées comme variables d' | ||
+ | |||
+ | < | ||
+ | keystone user-list | ||
+ | </ | ||
+ | < | ||
+ | +----------------------------------+---------+--------------------------+--------+ | ||
+ | | id | enabled | email | ||
+ | +----------------------------------+---------+--------------------------+--------+ | ||
+ | | 13247a59ad844458ad36c0bd06451376 | True | xavier@example.com | ||
+ | | 5c54624fef2242e185af10b7a2a2768f | True | nova@example.com | ||
+ | | 876ef0a6c0c048039f847e61da7260b4 | True | glance@example.com | ||
+ | | c97c87b3ed894401975dd6d757b40330 | True | admin@example.com | ||
+ | +----------------------------------+---------+--------------------------+--------+ | ||
+ | </ | ||
+ | |||
+ | Les commandes '' | ||
+ | |||
+ | |||
+ | Il est bien sûr possible d' | ||
+ | |||
+ | Pour voir la liste des commandes disponibles et les détails utilisez : | ||
+ | < | ||
+ | keystone help [NOM DE LA COMMANDE] | ||
+ | </ | ||
+ | |||
+ | ===== Glance ===== | ||
+ | La prochaine étape est l' | ||
+ | C'est le service chargé de distribuer les images de disque dur système utilisées par les machines virtuelles. | ||
+ | |||
+ | ==== Préparation de la base de données Mysql ==== | ||
+ | La commande suivante crée un utilisateur et sa base de données nommés " | ||
+ | |||
+ | < | ||
+ | mysql -u root -p <<EOF | ||
+ | CREATE DATABASE glance; | ||
+ | GRANT ALL PRIVILEGES ON glance.* TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | |||
+ | Il faut aussi créer les services et points d' | ||
+ | < | ||
+ | keystone service-create | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | Glance Image Service | ||
+ | | id | 39bbd3107c4c4153a408a3b6a34ef931 | | ||
+ | | name | glance | ||
+ | | type | image | | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | < | ||
+ | keystone endpoint-create --region RegionOne --service_id=39bbd3107c4c4153a408a3b6a34ef931 --publicurl=http:// | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | adminurl | ||
+ | | id | 8fa4c9092dbb4ce989fdcbaceddec45d | | ||
+ | | internalurl | http:// | ||
+ | | publicurl | ||
+ | | region | ||
+ | | service_id | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | |||
+ | Dans les fichiers ci-dessous, SQLPASSWD est le mot de passe MySQL [[# | ||
+ | |||
+ | [[: | ||
+ | |||
+ | < | ||
+ | admin_tenant_name = service | ||
+ | admin_user = glance | ||
+ | admin_password = ADMPASSWD | ||
+ | </ | ||
+ | |||
+ | La section [pipeline: | ||
+ | < | ||
+ | [pipeline: | ||
+ | pipeline = versionnegotiation authtoken auth-context apiv1app | ||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | [paste_deploy] | ||
+ | flavor = keystone | ||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | sql_connection = mysql:// | ||
+ | </ | ||
+ | et ajoutez à la fin | ||
+ | < | ||
+ | [paste_deploy] | ||
+ | flavor = keystone | ||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | sql_connection = mysql:// | ||
+ | sql_idle_timeout = 3600 | ||
+ | </ | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | admin_tenant_name = service | ||
+ | admin_user = glance | ||
+ | admin_password = ADMPASSWD | ||
+ | </ | ||
+ | et la section | ||
+ | < | ||
+ | [pipeline: | ||
+ | pipeline = authtoken auth-context context registryapp | ||
+ | </ | ||
+ | |||
+ | Synchronisez maintenant la base de données MySQL | ||
+ | |||
+ | < | ||
+ | sudo glance-manage version_control 0 | ||
+ | sudo glance-manage db_sync | ||
+ | </ | ||
+ | |||
+ | Si message d' | ||
+ | |||
+ | < | ||
+ | mysql -u root -p glance | ||
+ | alter table migrate_version convert to character set utf8 collate utf8_unicode_ci; | ||
+ | flush privileges; | ||
+ | quit | ||
+ | </ | ||
+ | |||
+ | Redémarrez les services pour la prise en compte des modifications | ||
+ | < | ||
+ | sudo service glance-api restart && sudo service glance-registry restart | ||
+ | </ | ||
+ | |||
+ | ==== Utilisation ==== | ||
+ | |||
+ | Vérifiez maintenant si tout fonctionne correctement. Téléchargez une première [[wpfr> | ||
+ | |||
+ | < | ||
+ | wget http:// | ||
+ | </ | ||
+ | |||
+ | Ajoutez maintenant l' | ||
+ | |||
+ | < | ||
+ | glance add name=" | ||
+ | </ | ||
+ | < | ||
+ | Uploading image ' | ||
+ | =====================================================================================================================================================================================================================================[100%] 136.648660M/ | ||
+ | Added new image with ID: d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 | ||
+ | </ | ||
+ | |||
+ | La commande '' | ||
+ | |||
+ | < | ||
+ | glance index | ||
+ | </ | ||
+ | < | ||
+ | ID | ||
+ | ------------------------------------ ------------------------------ -------------------- -------------------- -------------- | ||
+ | d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 Ubuntu 12.04 cloudimg amd64 qcow2 ovf | ||
+ | </ | ||
+ | La commande '' | ||
+ | < | ||
+ | glance details | ||
+ | </ | ||
+ | < | ||
+ | ================================================================================ | ||
+ | URI: http:// | ||
+ | Id: d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 | ||
+ | Public: Yes | ||
+ | Protected: No | ||
+ | Name: Ubuntu 12.04 cloudimg amd64 | ||
+ | Status: active | ||
+ | Size: 230490112 | ||
+ | Disk format: qcow2 | ||
+ | Container format: ovf | ||
+ | Minimum Ram Required (MB): 0 | ||
+ | Minimum Disk Required (GB): 0 | ||
+ | Owner: 0f71e86d30e247d3b1216fe5f2f3aa50 | ||
+ | ================================================================================ | ||
+ | </ | ||
+ | |||
+ | La syntaxe de la commande **glance add** est la suivante : | ||
+ | < | ||
+ | glance add name="< | ||
+ | </ | ||
+ | où: | ||
+ | * <Image name> : Nom que l'on veut donner a l' | ||
+ | * is_public=true : L' | ||
+ | * < | ||
+ | * < | ||
+ | * %%< | ||
+ | |||
+ | Pour voir la liste des commandes disponibles et les détails utilisez : | ||
+ | < | ||
+ | glance help [NOM DE LA COMMANDE] | ||
+ | </ | ||
+ | |||
+ | ===== Nova ===== | ||
+ | Passez maintenant à l' | ||
+ | |||
+ | ==== Préparation de la base de données Mysql ==== | ||
+ | La commande suivante crée un utilisateur et sa base de données nommés " | ||
+ | |||
+ | < | ||
+ | mysql -u root -p <<EOF | ||
+ | CREATE DATABASE nova; | ||
+ | GRANT ALL PRIVILEGES ON nova.* TO ' | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | |||
+ | Création des services et points d' | ||
+ | == Service compute == | ||
+ | < | ||
+ | keystone service-create --name=nova --type=compute --description=' | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | OpenStack Compute Service | ||
+ | | id | 4ba6c7149dd1421f8c429afc0c8dbdfe | | ||
+ | | name | nova | | ||
+ | | type | compute | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | < | ||
+ | keystone endpoint-create --region RegionOne --service_id=4ba6c7149dd1421f8c429afc0c8dbdfe --publicurl=' | ||
+ | </ | ||
+ | < | ||
+ | +-------------+--------------------------------------------+ | ||
+ | | | ||
+ | +-------------+--------------------------------------------+ | ||
+ | | adminurl | ||
+ | | id | f783461a1d0f4d9fb8e6dabc0fd0a177 | ||
+ | | internalurl | http:// | ||
+ | | publicurl | ||
+ | | region | ||
+ | | service_id | ||
+ | +-------------+--------------------------------------------+ | ||
+ | </ | ||
+ | |||
+ | == Service volume == | ||
+ | < | ||
+ | keystone service-create --name=volume --type=volume --description=' | ||
+ | </ | ||
+ | < | ||
+ | +-------------+----------------------------------+ | ||
+ | | | ||
+ | +-------------+----------------------------------+ | ||
+ | | description | OpenStack Volume Service | ||
+ | | id | de65a68c5ae34737bc6678f6c7bc884a | | ||
+ | | name | volume | ||
+ | | type | volume | ||
+ | +-------------+----------------------------------+ | ||
+ | </ | ||
+ | < | ||
+ | keystone endpoint-create --region RegionOne --service_id=de65a68c5ae34737bc6678f6c7bc884a --publicurl=' | ||
+ | </ | ||
+ | < | ||
+ | +-------------+--------------------------------------------+ | ||
+ | | | ||
+ | +-------------+--------------------------------------------+ | ||
+ | | adminurl | ||
+ | | id | 36834fdc7ce3410a8442dffd90c3d3e2 | ||
+ | | internalurl | http:// | ||
+ | | publicurl | ||
+ | | region | ||
+ | | service_id | ||
+ | +-------------+--------------------------------------------+ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | Dans les fichiers ci-dessous, SQLPASSWD est le mot de passe MySQL [[# | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | admin_tenant_name = service | ||
+ | admin_user = nova | ||
+ | admin_password = ADMPASSWD | ||
+ | </ | ||
+ | [[: | ||
+ | La configuration obtenue utilisera le mode DHCP. La ligne " | ||
+ | Pour un mode VLAN, pour utiliser plusieurs serveurs ou d' | ||
+ | |||
+ | < | ||
+ | # LOGS/STATE | ||
+ | --verbose | ||
+ | --logdir=/ | ||
+ | --state_path=/ | ||
+ | --lock_path=/ | ||
+ | --allow_admin_api=true | ||
+ | --use_deprecated_auth=false | ||
+ | --cc_host=192.168.1.250 | ||
+ | --nova_url=http:// | ||
+ | --routing_source_ip=192.168.1.250 | ||
+ | --s3_host=192.168.1.250 | ||
+ | --ec2_host=192.168.1.250 | ||
+ | --ec2_url=http:// | ||
+ | --keystone_ec2_url=http:// | ||
+ | --scheduler_driver=nova.scheduler.simple.SimpleScheduler | ||
+ | # | ||
+ | --root_helper=sudo nova-rootwrap | ||
+ | # AUTHENTICATION | ||
+ | --auth_strategy=keystone | ||
+ | # VOLUMES | ||
+ | --iscsi_helper=tgtadm | ||
+ | --iscsi_ip_prefix=172.16.0 | ||
+ | # DATABASE | ||
+ | --sql_connection=mysql:// | ||
+ | # COMPUTE | ||
+ | --libvirt_type=kvm | ||
+ | --connection_type=libvirt | ||
+ | --libvirt_use_virtio_for_bridges=true | ||
+ | --api_paste_config=/ | ||
+ | --allow_resize_to_same_host=True | ||
+ | --start_guests_on_host_boot=true | ||
+ | --resume_guests_state_on_host_boot=true | ||
+ | # RABBITMQ | ||
+ | --rabbit_host=192.168.1.250 | ||
+ | # GLANCE | ||
+ | --image_service=nova.image.glance.GlanceImageService | ||
+ | --glance_api_servers=192.168.1.250: | ||
+ | # NETWORK | ||
+ | --network_manager=nova.network.manager.FlatDHCPManager | ||
+ | --dhcpbridge_flagfile=/ | ||
+ | --dhcpbridge=/ | ||
+ | --fixed_range=172.16.0.0/ | ||
+ | --flat_network_dhcp_start=172.16.0.2 | ||
+ | --flat_network_bridge=br1 | ||
+ | --flat_interface=eth1 | ||
+ | --network_size=256 | ||
+ | --flat_injected=False | ||
+ | --my_ip=192.168.1.250 | ||
+ | --floating_range=192.168.1.0/ | ||
+ | --force_dhcp_release | ||
+ | --public_interface=br0 | ||
+ | # NOVNC CONSOLE | ||
+ | --vnc_enabled=true | ||
+ | --novncproxy_base_url=http:// | ||
+ | --vncserver_proxyclient_address=127.0.0.1 | ||
+ | --vncserver_listen=127.0.0.1 | ||
+ | </ | ||
+ | |||
+ | Toutes les entrées // | ||
+ | |||
+ | // | ||
+ | |||
+ | Modifiez les [[:droits]] sur le répertoire **/ | ||
+ | |||
+ | < | ||
+ | sudo chown -R nova:nova /etc/nova/ | ||
+ | </ | ||
+ | |||
+ | Redémarrez tous les services nova | ||
+ | |||
+ | < | ||
+ | for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-cert nova-consoleauth novnc; do sudo service " | ||
+ | for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-cert nova-consoleauth novnc; do sudo service " | ||
+ | </ | ||
+ | |||
+ | Synchronisez la base de données | ||
+ | |||
+ | < | ||
+ | sudo nova-manage db sync | ||
+ | </ | ||
+ | |||
+ | Redémarrez de nouveau tous les services | ||
+ | |||
+ | < | ||
+ | for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-cert nova-consoleauth novnc; do sudo service " | ||
+ | for a in libvirt-bin nova-network nova-compute nova-api nova-objectstore nova-scheduler nova-volume nova-cert nova-consoleauth novnc; do sudo service " | ||
+ | </ | ||
+ | ==== Utilisation ==== | ||
+ | |||
+ | Vous pouvez maintenant vérifier que tous les services fonctionnent, | ||
+ | * un smiley, représenté par %%:-)%%, pour " | ||
+ | * un XXX : quelque chose n'as pas fonctionné, | ||
+ | |||
+ | < | ||
+ | sudo nova-manage service list | ||
+ | </ | ||
+ | < | ||
+ | 2012-05-16 00:20:09 DEBUG nova.utils [req-527f4f50-f02e-41da-bc96-43d3d9070807 None None] backend <module ' | ||
+ | Binary | ||
+ | nova-scheduler | ||
+ | nova-volume | ||
+ | nova-compute | ||
+ | nova-network | ||
+ | nova-consoleauth myhost | ||
+ | nova-cert | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | Relancer une commande ou demander son annulation alors qu' | ||
+ | N' | ||
+ | |||
+ | === Images disques === | ||
+ | |||
+ | Listez les images disque fournies par le service Glance | ||
+ | |||
+ | < | ||
+ | nova image-list | ||
+ | </ | ||
+ | < | ||
+ | +--------------------------------------+-----------------------------+--------+--------+ | ||
+ | | ID | | ||
+ | +--------------------------------------+-----------------------------+--------+--------+ | ||
+ | | d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 | Ubuntu 12.04 cloudimg amd64 | ACTIVE | | | ||
+ | +--------------------------------------+-----------------------------+--------+--------+ | ||
+ | </ | ||
+ | |||
+ | === Réseaux === | ||
+ | |||
+ | Profitez-en pour créer les réseaux privés et publics. Les adresses seront enregistrées dans la base MySQL. | ||
+ | Le réseau public | ||
+ | < | ||
+ | sudo nova-manage floating create --ip_range=192.168.1.0/ | ||
+ | </ | ||
+ | Le réseau privé, destiné aux communications entre les VMs, les autres serveurs Nova ou de stockage s'il y a... | ||
+ | < | ||
+ | sudo nova-manage network create private --fixed_range_v4=172.16.0.0/ | ||
+ | </ | ||
+ | |||
+ | === Parefeu === | ||
+ | |||
+ | Par défaut, les règles de parefeu bloquent les paquets entrants sur l' | ||
+ | |||
+ | < | ||
+ | nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 | ||
+ | </ | ||
+ | < | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | icmp | -1 | -1 | 0.0.0.0/0 | | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | </ | ||
+ | < | ||
+ | nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 | ||
+ | </ | ||
+ | < | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | tcp | 22 | 22 | 0.0.0.0/0 | | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | </ | ||
+ | |||
+ | Listez les règles de ports autorisés sur le groupe de règles " | ||
+ | |||
+ | < | ||
+ | nova secgroup-list-rules default | ||
+ | </ | ||
+ | < | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | | icmp | -1 | -1 | 0.0.0.0/0 | | | ||
+ | | tcp | 22 | 22 | 0.0.0.0/0 | | | ||
+ | +-------------+-----------+---------+-----------+--------------+ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Première machine virtuelle ==== | ||
+ | Maintenant que tout fonctionne, vous allez pouvoir créez votre première VM.\\ | ||
+ | Assurez-vous d' | ||
+ | |||
+ | < | ||
+ | ssh-keygen -t rsa | ||
+ | </ | ||
+ | |||
+ | Ajoutez-la au serveur | ||
+ | |||
+ | < | ||
+ | nova keypair-add --pub_key ~/ | ||
+ | </ | ||
+ | |||
+ | Il faut définir les spécifications de la future VM, pour voir les possibilités, | ||
+ | |||
+ | < | ||
+ | nova flavor-list | ||
+ | </ | ||
+ | < | ||
+ | +----+-----------+-----------+------+-----------+------+-------+-------------+ | ||
+ | | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | | ||
+ | +----+-----------+-----------+------+-----------+------+-------+-------------+ | ||
+ | | 1 | m1.tiny | ||
+ | | 2 | m1.small | ||
+ | | 3 | m1.medium | 4096 | 10 | 40 | | 2 | 1.0 | | ||
+ | | 4 | m1.large | ||
+ | | 5 | m1.xlarge | 16384 | 10 | 160 | ||
+ | +----+-----------+-----------+------+-----------+------+-------+-------------+ | ||
+ | </ | ||
+ | |||
+ | Pour la suite, il sera utilisé l'ID 1 correspondant à une machine disposant de 512 Mb de RAM, 1 CPU virtuel et aucun disque supplémentaire. | ||
+ | |||
+ | Lancez votre première VM avec la commande '' | ||
+ | |||
+ | < | ||
+ | nova boot --flavor 1 --image d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 myfirstvm --key_name key1 & | ||
+ | </ | ||
+ | < | ||
+ | [1] 5472 | ||
+ | +-------------------------------------+--------------------------------------+ | ||
+ | | | ||
+ | +-------------------------------------+--------------------------------------+ | ||
+ | | OS-DCF: | ||
+ | | OS-EXT-SRV-ATTR: | ||
+ | | OS-EXT-SRV-ATTR: | ||
+ | | OS-EXT-SRV-ATTR: | ||
+ | | OS-EXT-STS: | ||
+ | | OS-EXT-STS: | ||
+ | | OS-EXT-STS: | ||
+ | | accessIPv4 | ||
+ | | accessIPv6 | ||
+ | | adminPass | ||
+ | | config_drive | ||
+ | | created | ||
+ | | flavor | ||
+ | | hostId | ||
+ | | id | 9360ae16-6b3a-4eb6-9b15-6b05d3f83989 | | ||
+ | | image | Ubuntu 12.04 cloudimg amd64 | | ||
+ | | key_name | ||
+ | | metadata | ||
+ | | name | myfirstvm | ||
+ | | progress | ||
+ | | status | ||
+ | | tenant_id | ||
+ | | updated | ||
+ | | user_id | ||
+ | +-------------------------------------+--------------------------------------+ | ||
+ | |||
+ | [1]+ Fini nova boot --flavor 1 --image d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 myfirstvm --key_name key1 | ||
+ | |||
+ | </ | ||
+ | |||
+ | Un récapitulatif des propriétés de la machine s' | ||
+ | |||
+ | < | ||
+ | nova show myfirstvm | ||
+ | </ | ||
+ | |||
+ | Pour lister les VM existantes | ||
+ | |||
+ | < | ||
+ | nova list | ||
+ | </ | ||
+ | < | ||
+ | +--------------------------------------+-----------+--------+--------------------+ | ||
+ | | ID | Name | Status | Networks | ||
+ | +--------------------------------------+-----------+--------+--------------------+ | ||
+ | | 9360ae16-6b3a-4eb6-9b15-6b05d3f83989 | myfirstvm | ACTIVE | private=172.16.0.2 | | ||
+ | +--------------------------------------+-----------+--------+--------------------+ | ||
+ | </ | ||
+ | |||
+ | Connectez-vous sur la VM | ||
+ | |||
+ | < | ||
+ | ssh ubuntu@172.16.0.2 | ||
+ | </ | ||
+ | < | ||
+ | Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual x86_64) | ||
+ | |||
+ | * Documentation: | ||
+ | |||
+ | System information as of Mon Jul 9 17:10:53 UTC 2012 | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | To run a command as administrator (user " | ||
+ | See "man sudo_root" | ||
+ | |||
+ | ubuntu@myfirstvm: | ||
+ | logout | ||
+ | Connection to 172.16.0.2 closed. | ||
+ | </ | ||
+ | |||
+ | Vous pouvez créez un disque dur supplémentaire | ||
+ | |||
+ | < | ||
+ | nova volume-create --display_name " | ||
+ | </ | ||
+ | |||
+ | Attachez-le à la VM | ||
+ | |||
+ | < | ||
+ | nova volume-attach myfirstvm 1 /dev/vdb | ||
+ | </ | ||
+ | |||
+ | Vérifiez le rattachement | ||
+ | < | ||
+ | nova volume-list | ||
+ | </ | ||
+ | < | ||
+ | +----+--------+--------------+------+-------------+--------------------------------------+ | ||
+ | | ID | Status | Display Name | Size | Volume Type | | ||
+ | +----+--------+--------------+------+-------------+--------------------------------------+ | ||
+ | | 1 | in-use | volume1 | ||
+ | +----+--------+--------------+------+-------------+--------------------------------------+ | ||
+ | </ | ||
+ | |||
+ | Vous pouvez maintenant vous reconnecter à la VM pour partitionner ce disque et l' | ||
+ | |||
+ | Connectez maintenant cette instance virtuelle à votre LAN.\\ | ||
+ | Il faut tout d' | ||
+ | |||
+ | < | ||
+ | nova floating-ip-create | ||
+ | </ | ||
+ | < | ||
+ | +-------------+-------------+----------+------+ | ||
+ | | Ip | Instance Id | Fixed Ip | Pool | | ||
+ | +-------------+-------------+----------+------+ | ||
+ | | 192.168.1.1 | None | None | nova | | ||
+ | +-------------+-------------+----------+------+ | ||
+ | </ | ||
+ | |||
+ | Puis attachez cette adresse à la VM | ||
+ | < | ||
+ | nova add-floating-ip myfirstvm 192.168.1.1 | ||
+ | </ | ||
+ | Patientez quelques secondes et vérifiez la présence sur votre LAN d'une machine à cette adresse | ||
+ | < | ||
+ | ping -c 2 192.168.1.1 | ||
+ | </ | ||
+ | < | ||
+ | PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. | ||
+ | 64 bytes from 192.168.1.1: | ||
+ | 64 bytes from 192.168.1.1: | ||
+ | |||
+ | --- 192.168.1.1 ping statistics --- | ||
+ | 2 packets transmitted, | ||
+ | rtt min/ | ||
+ | </ | ||
+ | |||
+ | La commande nova list vous confirme l' | ||
+ | < | ||
+ | nova list | ||
+ | </ | ||
+ | < | ||
+ | +--------------------------------------+-----------+--------+---------------------------------+ | ||
+ | | ID | Name | Status | | ||
+ | +--------------------------------------+-----------+--------+---------------------------------+ | ||
+ | | 9360ae16-6b3a-4eb6-9b15-6b05d3f83989 | myfirstvm | ACTIVE | private=172.16.0.2, | ||
+ | +--------------------------------------+-----------+--------+---------------------------------+ | ||
+ | </ | ||
+ | |||
+ | Il est bien sûr possible d' | ||
+ | |||
+ | Pour voir la liste des commandes disponibles et les détails utilisez : | ||
+ | < | ||
+ | nova help [NOM DE LA COMMANDE] | ||
+ | </ | ||
+ | |||
+ | ===== Dashboard Horizon ===== | ||
+ | L' | ||
+ | Les différents services doivent être installés et configurés avant de pouvoir l' | ||
+ | |||
+ | ==== Installation ==== | ||
+ | |||
+ | [[: | ||
+ | |||
+ | Redémarrez le serveur web [[: | ||
+ | |||
+ | < | ||
+ | sudo service apache2 restart | ||
+ | </ | ||
+ | |||
+ | ==== Utilisation ==== | ||
+ | |||
+ | Ouvrez votre [[: | ||
+ | |||
+ | {{ :: | ||
+ | |||
+ | <note important> | ||
+ | Relancer une commande ou demander son annulation alors qu' | ||
+ | N' | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Les identifiants de connexion de l' | ||
+ | //Username //: | ||
+ | Les comptes qui ont pour rôle " | ||
+ | |||
+ | === Accès Admin === | ||
+ | |||
+ | Dans l' | ||
+ | * // | ||
+ | * // | ||
+ | * // | ||
+ | * //Flavors// : La liste des types d' | ||
+ | * //Images// : Les images disques stockées par le service Glance. | ||
+ | * // | ||
+ | * //Users// : La liste des utilisateurs enregistrés, | ||
+ | * //Quotas// : Les quotas définis sur les ressources des serveurs, pas de modification possible. | ||
+ | |||
+ | === Accès projets === | ||
+ | |||
+ | Un bouton permet de basculer entre les différents projets dont l' | ||
+ | Puis viennent les menus : | ||
+ | * // | ||
+ | * //Instances & Volumes// : La liste des instances existantes et les possibilités de les éditer, la création ou modification des volumes disques virtuels. | ||
+ | * //Images & Snapshots// : Liste des images autorisées pour le projet, sert a lancer de nouvelles instances. Regroupe aussi les instantanés disponibles, | ||
+ | * //Acces & Security// : Les adresses IP disponibles pour connecter les instances au réseau public avec possibilité de création, les groupes de règles de pare-feu et leur interface d' | ||
+ | ===== Créez vos propres images ===== | ||
+ | |||
+ | L' | ||
+ | Plusieurs grandes distributions ont été testées avec succès, dont Ubuntu et Debian, RedHat et Centos mais aussi Mandriva. D' | ||
+ | Pour un système Linux, les pré-requis sont : un système à jour, Curl et un serveur SSH. Pour FreeBSD ou Windows, prévoyez l' | ||
+ | |||
+ | Installez et configurez une VM avec [[:KVM]], installez les logiciels et services voulus et les comptes utilisateurs. Gardez à l' | ||
+ | |||
+ | Pour simplifier l' | ||
+ | Pour finir, pour les images Linux, [[: | ||
+ | |||
+ | < | ||
+ | echo >> / | ||
+ | curl -m 10 -s http:// | ||
+ | echo " | ||
+ | echo " | ||
+ | cat / | ||
+ | echo " | ||
+ | </ | ||
+ | |||
+ | Une dernière précaution à prendre pour éviter les conflits de nommage des interfaces réseau: effacer la règle [[:udev]] y faisant référence: | ||
+ | < | ||
+ | sudo rm -rf / | ||
+ | </ | ||
+ | |||
+ | Votre image disque est maintenant prête à être exportée sur le serveur Glance. | ||
+ | |||
+ | ===== Désinstallation ===== | ||
+ | |||
+ | Pour supprimer cette application, | ||
+ | Supprimez ensuite les bases de données keystone, glance et nova\\ | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[http:// | ||
+ | |||
+ | ---- | ||
+ | // | ||