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 14/07/2012, 18:45] – xavier4811 | openstack [Le 22/05/2023, 19:03] (Version actuelle) – [Pré-requis] typo. +reformulation mineure lyondif02 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| ---- | ---- | ||
| ====== OpenStack ====== | ====== OpenStack ====== | ||
| - | OpenStack est un logiciel libre qui permet la construction de cloud privé et public. | + | OpenStack est un logiciel libre((license Apache 2.0)) qui permet la construction de [[:cloud]] privé et public. |
| - | Ce document présente l'installation des composant | + | |
| - | Il s'agit plutôt d'une configuration de développement | + | OpenStack est composé d’une série de logiciels et de projets au code source libre qui sont maintenus |
| + | |||
| + | Ce document présente l’installation des composants | ||
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| - | + | ||
| + | Dispositions générales : | ||
| * Disposer des [[: | * Disposer des [[: | ||
| - | * Disposer d'une connexion à Internet configurée et activée. | + | * Disposer d’une connexion à Internet configurée et activée. |
| - | * Disposer d'un disque dur ou d'une partition non formatée pour LVM | + | * Avoir activé les [[: |
| - | * Ne pas avoir peur de la ligne de commande | + | * Disposer d’un processeur supportant la virtualisation matérielle ([[: |
| - | * Avoir [[: | + | * Disposer d’un disque dur ou d’une partition non formatée pour [[:LVM]]. |
| - | * Avoir [[: | + | * Ne pas avoir peur de la [[: |
| - | * Avoir [[: | + | * [[: |
| - | * Il est nécéssaire de configurer | + | * **[[apt> |
| + | * **[[apt> | ||
| + | * **[[apt> | ||
| + | * Avoir configuré | ||
| - | Les paquets OpenStack utilisés sont ceux des dépots Ubuntu.\\ | + | Notes particulières : |
| - | Tous les services OpenStack seront installés sur la même machine.\\ | + | |
| - | La configuration abordée | + | |
| - | Toutes les éditions de fichier, sans precision contraire, sont faites avec les droits de root(sudo). Donc avant de commencer, | + | |
| + | ===== Préparation du système ===== | ||
| - | ===== Préparation du système ===== | + | ==== Réseau |
| - | + | ||
| - | === Réseau | + | |
| - | <note important> | + | |
| - | [[: | + | |
| - | <code> | + | <note important> |
| + | [[: | ||
| + | |||
| + | <file> | ||
| auto lo | auto lo | ||
| iface lo inet loopback | iface lo inet loopback | ||
| Ligne 42: | Ligne 47: | ||
| auto br0 | auto br0 | ||
| - | iface inet br0 static | + | iface br0 inet static |
| bridge_ports eth0 | bridge_ports eth0 | ||
| address 192.168.1.250 | address 192.168.1.250 | ||
| Ligne 50: | Ligne 55: | ||
| auto br1 | auto br1 | ||
| - | iface inet br1 manual | + | iface br1 inet manual |
| bridge_ports eth1 | bridge_ports eth1 | ||
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| Les DNS ci dessous sont ceux de Google | Les DNS ci dessous sont ceux de Google | ||
| - | <code> | + | <file> |
| nameserver 8.8.8.8 | nameserver 8.8.8.8 | ||
| nameserver 8.8.4.4 | 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 | ||
| </ | </ | ||
| - | Redémarrez pour que les modifications réseau soit prisent | + | <note tip> Assurez-vous d' |
| + | : | ||
| + | < | ||
| + | net.ipv4.ip_forward=1 | ||
| + | </ | ||
| + | puis lancez la commande : | ||
| + | < | ||
| + | </ | ||
| + | ==== Serveur NTP ==== | ||
| - | === Serveur | + | Le serveur [[:ntp|NTP]] étant nécessaire à la bonne synchronisation du cloud, |
| + | Ensuite, [[: | ||
| - | Le serveur [[ntp|NTP]] est nécéssaires a la bonne synchronisation du cloud.\\ | + | <file> |
| - | Installez le paquet **[[apt> | + | server |
| - | [[: | + | server |
| - | + | ||
| - | <code> | + | |
| - | serveur | + | |
| - | serveur | + | |
| fudge 127.127.1.0 stratum 10 | fudge 127.127.1.0 stratum 10 | ||
| - | </code> | + | </file> |
| - | redémarrez le service | + | redémarrez le service |
| < | < | ||
| sudo service ntp restart | sudo service ntp restart | ||
| </ | </ | ||
| - | === LVM === | + | ==== LVM ==== |
| - | Les volumes [[lvm|LVM]] serviront de disques durs supplémentaires pour les serveurs virtuels.\\ | + | Les volumes [[:lvm|LVM]] serviront de disques durs supplémentaires pour les serveurs virtuels. |
| - | Installez les paquets **[[apt> | + | |
| - | Cette commande suppose | + | [[: |
| - | Créez une partion | + | |
| + | Les commandes qui suivent supposent | ||
| + | Créez une [[:partitions|partition]] non formatée de 100Gigas | ||
| < | < | ||
| sudo fdisk /dev/sdc | sudo fdisk /dev/sdc | ||
| n p 1 < | n p 1 < | ||
| </ | </ | ||
| - | Vous avez maintenant une partition primaire vide de 100 Gigas /dev/sdc1, | + | Vous avez maintenant une partition primaire vide de 100 Gigas **/dev/sdc1**.\\ |
| + | Créez | ||
| < | < | ||
| sudo pvcreate /dev/sdc1 | sudo pvcreate /dev/sdc1 | ||
| Ligne 97: | Ligne 116: | ||
| </ | </ | ||
| - | === RabbitMQ === | + | ==== RabbitMQ |
| - | RabbitMQ est un broker | + | RabbitMQ est un courtier |
| - | C'est le service qui permet aux composants OpenStack de communiquer entre eux(pour faire simple).\\ | + | Pour faire simple: c'est le service qui permet aux composants OpenStack de communiquer entre eux. |
| - | Installez les paquets **[[apt> | + | [[: |
| - | === Mysql === | + | ==== Mysql ==== |
| - | Chaque composant possède sa base de données [[mysql|MySQL]], | + | Chaque composant possède sa base de données [[:mysql|MySQL]], |
| - | Il est possible d' | + | <note tip>Il est possible d' |
| - | Modifiez | + | |
| - | [[: | + | Pour indiquer a MySQL que le serveur doit écouter sur toutes les adresses et pas seulement sur la boucle locale, modifiez sa configuration |
| - | Remplacez | + | <file> |
| - | <code> | + | |
| bind-address = 127.0.0.1 | bind-address = 127.0.0.1 | ||
| - | </code> | + | </file> |
| par | par | ||
| - | <code> | + | <file> |
| bind-address = 0.0.0.0 | bind-address = 0.0.0.0 | ||
| - | </code> | + | </file> |
| et redémarrez MySQL | et redémarrez MySQL | ||
| < | < | ||
| Ligne 122: | Ligne 140: | ||
| ===== Keystone ===== | ===== Keystone ===== | ||
| - | ===Installation du module de gestion d' | ||
| - | Le composant Keystone est chargé de la gestion des utilisateurs et des services.\\ | ||
| - | ==Gestion des utilisateurs. Users, roles & tenants== | ||
| - | La gestion des utilisateurs s' | ||
| - | l' | ||
| - | L' | ||
| - | L' | ||
| - | ==Gestion des services et points d' | + | Le composant Keystone est chargé de la gestion des utilisateurs et des services. |
| - | La gestion des différents services, comme Glance pour les images | + | |
| - | La définition des points d' | + | === Gestion des utilisateurs === |
| + | La gestion des utilisateurs s’articule autour de 3 objets : | ||
| + | * l’objet // | ||
| + | * l’objet // | ||
| + | * l’objet // | ||
| + | |||
| + | === Gestion des services et points d' | ||
| + | La gestion des différents services | ||
| + | * composant //Glance// pour les images, | ||
| + | * composant //Swift// pour le stockage | ||
| - | ===Préparation de la base de données Mysql=== | + | La définition des points d’accès à ces différents services porte en l’occurrence sur : |
| - | Commençons | + | * des adresses de type URL, |
| + | * des ports réseau. | ||
| + | |||
| + | ==== Préparation de la base de données Mysql ==== | ||
| + | Commencez | ||
| + | La commande suivante crée un utilisateur et sa base de données nommés " | ||
| < | < | ||
| mysql -u root -p <<EOF | mysql -u root -p <<EOF | ||
| CREATE DATABASE keystone; | CREATE DATABASE keystone; | ||
| - | GRANT ALL PRIVILEGES ON keystone.* TO ' | + | GRANT ALL PRIVILEGES ON keystone.* TO ' |
| FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
| EOF | EOF | ||
| </ | </ | ||
| - | ===Installation=== | ||
| - | Installez les paquets **[[apt> | + | ==== Installation ==== |
| - | ===Configuration=== | + | [[: |
| - | [[:tutoriel: | + | Puis supprimez la base de données SQLite |
| + | < | ||
| + | rm /var/lib/ | ||
| + | </ | ||
| + | ==== Configuration ==== | ||
| - | <code> | + | [[: |
| + | |||
| + | Remplacez ADMPASSWD par un mot de passe de votre choix et SQLPASSWD par le mot de passe MySQL précédemment défini. | ||
| + | <file> | ||
| [DEFAULT] | [DEFAULT] | ||
| - | bind_host = 0.0.0.0 | + | 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] | [sql] | ||
| - | connection = mysql:// | + | connection = mysql:// |
| idle_timeout = 200 | idle_timeout = 200 | ||
| - | </code> | + | </file> |
| - | + | ||
| - | Redémarrez keystone | + | |
| + | Redémarrez le service // | ||
| < | < | ||
| sudo service keystone restart | sudo service keystone restart | ||
| </ | </ | ||
| - | et synchronisez | + | Synchronisez |
| < | < | ||
| sudo keystone-manage db_sync | sudo keystone-manage db_sync | ||
| </ | </ | ||
| - | ===Création des utilisateurs=== | + | et donnez les droits en lecture / écriture à l’utilisateur / au groupe // |
| - | Chaque commande ci-dessous contient l'authentification définie dans le fichier keystone.conf et utilisée par le client | + | < |
| - | Il est bien sur possible d' | + | chown keystone: |
| - | Création du compte admin | + | </ |
| + | ==== Création des utilisateurs | ||
| + | Chaque commande ci-dessous contient l’authentification définie dans le fichier | ||
| + | < | ||
| + | | ||
| + | | ||
| + | </ | ||
| + | |||
| + | === Création du compte | ||
| + | Commande à exécuter après adaptation : | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 198: | Ligne 240: | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| </ | </ | ||
| - | Le compte interne du service Glance | + | |
| + | === Création du compte interne du service Glance | ||
| + | Commande à exécuter après adaptation : | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 212: | Ligne 259: | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| </ | </ | ||
| - | Le compte interne du service Nova | + | |
| + | === Création du compte interne du service Nova === | ||
| + | Commande à exécuter après adaptation : | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 226: | Ligne 278: | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| </ | </ | ||
| - | ===Création des rôles=== | + | |
| - | Pour les rôles | + | ==== Création des rôles |
| - | -admin, donnant | + | |
| - | -Member, permet de gérer le contenu | + | Chaque utilisateur peut être associé à un des deux rôles |
| - | Les rôles KeystoneAdmin et KeystoneServiceAdmin sont des rôles internes | + | - // |
| + | - // | ||
| + | |||
| + | Les rôles | ||
| + | |||
| + | Par la suite, les commandes proposées intègrent l’authentification et l’accès au service sur le même modèle que pour la création des utilisateurs supra. | ||
| + | |||
| + | === Rôle admin === | ||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 239: | Ligne 302: | ||
| | name | admin | | | name | admin | | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| - | keystone --token | + | </ |
| + | |||
| + | === Rôle Membre === | ||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| + | < | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 246: | Ligne 317: | ||
| | name | Member | | name | Member | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| - | keystone --token | + | </ |
| + | |||
| + | === Rôle KeystoneAdmin === | ||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| + | < | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 253: | Ligne 332: | ||
| | name | KeystoneAdmin | | name | KeystoneAdmin | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| - | keystone --token | + | </ |
| + | |||
| + | === Rôle KeystoneServiceAdmin === | ||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| + | < | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 261: | Ligne 348: | ||
| +----------+----------------------------------+ | +----------+----------------------------------+ | ||
| </ | </ | ||
| - | ===Création des " | + | |
| - | En premier | + | ==== Création des Tenants ==== |
| - | Ensuite le " | + | Par la suite, les commandes proposées intègrent l’authentification et l’accès au service sur le même modèle que pour la création des utilisateurs supra. |
| + | |||
| + | === Tenant admin === | ||
| + | Le // | ||
| + | |||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http://192.168.1.250: | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 274: | Ligne 369: | ||
| | name | admin | | | name | admin | | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| - | keystone --token | + | </ |
| + | |||
| + | === Tenant service === | ||
| + | Le //Tenant service// permet à ses membres d’accéder au service. | ||
| + | |||
| + | Commande à exécuter de manière adaptée : | ||
| + | < | ||
| + | keystone --token | ||
| + | </ | ||
| + | Réponse obtenue de manière approximative : | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 284: | Ligne 389: | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| </ | </ | ||
| - | ===Définition des rôles=== | + | |
| - | Il faut pour cela utiliser les ID affichés lors de la création des users, roles & tenants.\\ | + | ==== Définition des rôles |
| - | L'utilisateur | + | |
| + | Il faut pour cela utiliser les ID affichés lors de la création des // | ||
| + | L'//User// "admin" | ||
| < | < | ||
| - | keystone --token | + | keystone --token |
| </ | </ | ||
| - | Comme ce n'est pas pratique de recopier les IDs, on vas s' | + | Comme ce n'est pas pratique de recopier les IDs, les erreurs de frappe |
| - | L'utilisateur | + | |
| - | L'utilisateur | + | |
| - | L'utilisateur | + | |
| - | L'utilisateur | + | |
| Voici les commandes correspondantes : | Voici les commandes correspondantes : | ||
| < | < | ||
| - | keystone user-role-add --user `keystone user-list | awk '/ admin / { print $2 }'` --role `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 '/ KeystoneAdmin / { print $2 }'` --tenant_id `keystone tenant-list | awk '/ admin / { print $2 }'` |
| - | keystone user-role-add --user `keystone user-list | awk '/ admin / { print $2 }'` --role `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 '/ 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 `keystone user-list | awk '/ glance / { print $2 }'` --role `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 '/ 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 `keystone user-list | awk '/ nova / { print $2 }'` --role `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=== | + | |
| - | Création | + | ==== Création d'un utilisateur supplémentaire |
| - | Le rôle " | + | Il s' |
| + | Le rôle " | ||
| + | L'User $USER (xavier ici) a un Role " | ||
| + | |||
| + | === User === | ||
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| | Property | Value | | | Property | Value | | ||
| Ligne 318: | Ligne 431: | ||
| | tenantId | None | | | tenantId | None | | ||
| +----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
| - | keystone --token | + | </ |
| + | === Tenant === | ||
| + | < | ||
| + | keystone --token | ||
| + | </ | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 327: | Ligne 445: | ||
| | name | xavier | | name | xavier | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| </ | </ | ||
| - | ===Création des services et leurs points d' | + | === Rôle === |
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ==== Création des services et leurs points d' | ||
| - | En premier le service Keystone | + | === Le service Keystone |
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 344: | Ligne 470: | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| </ | </ | ||
| - | Le point d' | + | === Le point d' |
| + | < | ||
| + | keystone --token ADMPASSWD --endpoint http:// | ||
| + | </ | ||
| < | < | ||
| - | keystone --token 2BSpUaPV --endpoint http:// | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| - | | adminurl | + | | adminurl |
| | id | f1c517d5754a493fa67fc21b3f4264c4 | | | id | f1c517d5754a493fa67fc21b3f4264c4 | | ||
| - | | internalurl | http:// | + | | internalurl | http:// |
| - | | publicurl | + | | publicurl |
| | region | | region | ||
| | service_id | | service_id | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| </ | </ | ||
| - | Les services et points d' | ||
| - | ===Utilisation=== | + | Les services et points d' |
| - | Il y plusieurs façon possible de s' | + | ==== Utilisation ==== |
| - | La méthode d' | + | Il y a plusieurs façons possibles de s' |
| + | * La méthode d' | ||
| < | < | ||
| - | keystone --endpoint http:// | + | keystone --endpoint http:// |
| </ | </ | ||
| - | + | * La méthode user/ | |
| - | la méthode user/ | + | |
| < | < | ||
| - | keystone --username admin --password | + | keystone --username admin --password |
| </ | </ | ||
| - | Pour les deux méthodes, il est possible d' | + | Pour les deux méthodes, il est possible d' |
| - | 1ère méthode | + | __1ère méthode__: |
| < | < | ||
| export SERVICE_ENDPOINT=http:// | export SERVICE_ENDPOINT=http:// | ||
| - | export SERVICE_TOKEN=2BSpUaPV | + | export SERVICE_TOKEN=ADMPASSWD |
| keystone user-list | keystone user-list | ||
| </ | </ | ||
| - | 2ème méthode | + | __2ème méthode__: |
| < | < | ||
| export OS_TENANT_NAME=admin | export OS_TENANT_NAME=admin | ||
| export OS_USERNAME=admin | export OS_USERNAME=admin | ||
| - | export OS_PASSWORD=2BSpUaPV | + | export OS_PASSWORD=ADMPASSWD |
| export OS_AUTH_URL=" | export OS_AUTH_URL=" | ||
| keystone user-list | keystone user-list | ||
| </ | </ | ||
| - | Pour éviter de refaire un export des variables | + | Pour éviter de refaire un export des variables |
| - | Il suffit de créer un fichier .novarc contenant les lignes suivantes | + | Il suffit de [[: |
| - | <code> | + | <file> |
| export OS_TENANT_NAME=admin | export OS_TENANT_NAME=admin | ||
| export OS_USERNAME=admin | export OS_USERNAME=admin | ||
| - | export OS_PASSWORD=2BSpUaPV | + | export OS_PASSWORD=ADMPASSWD |
| export OS_AUTH_URL=" | export OS_AUTH_URL=" | ||
| - | </code> | + | </file> |
| - | Ajoutez ensuite la ligne suivante a la fin de votre fichier .bashrc | + | Ajoutez ensuite la ligne suivante a la fin de votre fichier |
| < | < | ||
| source ~/.novarc | source ~/.novarc | ||
| </ | </ | ||
| - | Les variables seront exportées comme variables d' | + | Les variables seront exportées comme variables d' |
| < | < | ||
| keystone user-list | keystone user-list | ||
| + | </ | ||
| + | < | ||
| +----------------------------------+---------+--------------------------+--------+ | +----------------------------------+---------+--------------------------+--------+ | ||
| | id | enabled | email | | id | enabled | email | ||
| Ligne 416: | Ligne 545: | ||
| | c97c87b3ed894401975dd6d757b40330 | True | admin@example.com | | c97c87b3ed894401975dd6d757b40330 | True | admin@example.com | ||
| +----------------------------------+---------+--------------------------+--------+ | +----------------------------------+---------+--------------------------+--------+ | ||
| - | keystone role-list | ||
| - | +----------------------------------+----------------------+ | ||
| - | | id | | ||
| - | +----------------------------------+----------------------+ | ||
| - | | 3d945f41e08e4e2db1584fdb8f05d333 | admin | | ||
| - | | 46590e32dbbe40f29253b5b928b83d1b | KeystoneServiceAdmin | | ||
| - | | 84697b61736c439288900904bdf4a48d | Member | ||
| - | | d4d6482b0ec04e0fa24aa8263c182d08 | KeystoneAdmin | ||
| - | +----------------------------------+----------------------+ | ||
| - | keystone tenant-list | ||
| - | +----------------------------------+---------+---------+ | ||
| - | | id | | ||
| - | +----------------------------------+---------+---------+ | ||
| - | | 0f71e86d30e247d3b1216fe5f2f3aa50 | admin | True | | ||
| - | | 1a3515e468f14e0ebb4a4e83447e7bf7 | service | True | | ||
| - | | c6f05a03b4aa482c91b61a2230356618 | xavier | ||
| - | +----------------------------------+---------+---------+ | ||
| </ | </ | ||
| + | Les commandes '' | ||
| - | Pour voir la liste des commandes disponibles et les détails utilisez : | + | |
| + | 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] | keystone help [NOM DE LA COMMANDE] | ||
| Ligne 443: | Ligne 559: | ||
| ===== Glance ===== | ===== Glance ===== | ||
| La prochaine étape est l' | 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\\ | + | C'est le service chargé de distribuer les images de disque dur système utilisées par les machines virtuelles. |
| - | ===préparation | + | ==== Préparation |
| + | La commande suivante crée un utilisateur et sa base de données nommés " | ||
| < | < | ||
| mysql -u root -p <<EOF | mysql -u root -p <<EOF | ||
| CREATE DATABASE glance; | CREATE DATABASE glance; | ||
| - | GRANT ALL PRIVILEGES ON glance.* TO ' | + | GRANT ALL PRIVILEGES ON glance.* TO ' |
| FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
| EOF | EOF | ||
| </ | </ | ||
| - | ===Installation=== | + | ==== Installation |
| - | installez les paquets **[[apt> | + | [[: |
| - | ===Configuration=== | + | ==== Configuration |
| - | Il faut aussi créer les services et points d' | + | Il faut aussi créer les services et points d' |
| < | < | ||
| keystone service-create | keystone service-create | ||
| + | </ | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 472: | Ligne 591: | ||
| | type | image | | | type | image | | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| + | </ | ||
| + | < | ||
| keystone endpoint-create --region RegionOne --service_id=39bbd3107c4c4153a408a3b6a34ef931 --publicurl=http:// | keystone endpoint-create --region RegionOne --service_id=39bbd3107c4c4153a408a3b6a34ef931 --publicurl=http:// | ||
| + | </ | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 486: | Ligne 608: | ||
| </ | </ | ||
| + | Dans les fichiers ci-dessous, SQLPASSWD est le mot de passe MySQL [[# | ||
| - | [[: | + | [[: |
| - | <code> | + | <file> |
| admin_tenant_name = service | admin_tenant_name = service | ||
| admin_user = glance | admin_user = glance | ||
| - | admin_password = 2BSpUaPV | + | admin_password = ADMPASSWD |
| - | </code> | + | </file> |
| La section [pipeline: | La section [pipeline: | ||
| - | <code> | + | <file> |
| [pipeline: | [pipeline: | ||
| pipeline = versionnegotiation authtoken auth-context apiv1app | pipeline = versionnegotiation authtoken auth-context apiv1app | ||
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| - | <code> | + | <file> |
| [paste_deploy] | [paste_deploy] | ||
| flavor = keystone | flavor = keystone | ||
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| - | <code> | + | <file> |
| - | sql_connection = mysql:// | + | sql_connection = mysql:// |
| - | </code> | + | </file> |
| - | et ajoutez | + | et ajoutez |
| - | <code> | + | <file> |
| [paste_deploy] | [paste_deploy] | ||
| flavor = keystone | flavor = keystone | ||
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| - | <code> | + | <file> |
| - | sql_connection = mysql:// | + | sql_connection = mysql:// |
| sql_idle_timeout = 3600 | sql_idle_timeout = 3600 | ||
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| - | <code> | + | <file> |
| admin_tenant_name = service | admin_tenant_name = service | ||
| admin_user = glance | admin_user = glance | ||
| - | admin_password = 2BSpUaPV | + | admin_password = ADMPASSWD |
| - | </code> | + | </file> |
| - | et la section | + | et la section |
| - | <code> | + | <file> |
| [pipeline: | [pipeline: | ||
| pipeline = authtoken auth-context context registryapp | pipeline = authtoken auth-context context registryapp | ||
| - | </code> | + | </file> |
| Synchronisez maintenant la base de données MySQL | Synchronisez maintenant la base de données MySQL | ||
| Ligne 540: | Ligne 663: | ||
| sudo glance-manage version_control 0 | sudo glance-manage version_control 0 | ||
| sudo glance-manage db_sync | 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 | ||
| </ | </ | ||
| Ligne 547: | Ligne 679: | ||
| </ | </ | ||
| - | ===Utilisation=== | + | ==== Utilisation |
| - | vérifiez | + | Vérifiez |
| < | < | ||
| Ligne 555: | Ligne 687: | ||
| </ | </ | ||
| - | ajoutez | + | Ajoutez |
| < | < | ||
| glance add name=" | glance add name=" | ||
| + | </ | ||
| + | < | ||
| Uploading image ' | Uploading image ' | ||
| =====================================================================================================================================================================================================================================[100%] 136.648660M/ | =====================================================================================================================================================================================================================================[100%] 136.648660M/ | ||
| Added new image with ID: d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 | Added new image with ID: d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 | ||
| - | glance index | ||
| - | ID | ||
| - | ------------------------------------ ------------------------------ -------------------- -------------------- -------------- | ||
| - | d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 Ubuntu 12.04 cloudimg amd64 qcow2 ovf | ||
| - | 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 commande glance index donne une liste des images\\ | + | La commande |
| - | La commande glance details affiche des infos détaillées sur toutes les images.\\ | + | |
| < | < | ||
| glance index | glance index | ||
| + | </ | ||
| + | < | ||
| ID | ID | ||
| ------------------------------------ ------------------------------ -------------------- -------------------- -------------- | ------------------------------------ ------------------------------ -------------------- -------------------- -------------- | ||
| d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 Ubuntu 12.04 cloudimg amd64 qcow2 ovf | d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 Ubuntu 12.04 cloudimg amd64 qcow2 ovf | ||
| + | </ | ||
| + | La commande '' | ||
| + | < | ||
| glance details | glance details | ||
| + | </ | ||
| + | < | ||
| ================================================================================ | ================================================================================ | ||
| URI: http:// | URI: http:// | ||
| Ligne 607: | Ligne 729: | ||
| </ | </ | ||
| - | La syntaxe de la commande **glance add** est la suivante :\\ | + | La syntaxe de la commande **glance add** est la suivante : |
| - | glance add name="%Image name%" is_public=true container_format=%container_format% disk_format=%disk_format% < %filename% | + | < |
| + | glance add name="<Image name>" is_public=true container_format=<container_format> disk_format=<disk_format> < < | ||
| + | </ | ||
| + | où: | ||
| + | * <Image name> :Nom que l'on veut donner a l' | ||
| + | * is_public=true : | ||
| + | * < | ||
| + | * < | ||
| + | * %%<filename>%% :Le nom de l' | ||
| - | %Image name% Nom que l'on veut donner a l' | + | Pour voir la liste des commandes disponibles et les détails utilisez : |
| - | is_public=true L' | + | < |
| - | %container_format% Container Type de container bare pas de container, ovf OVF Container, aki ari ami Amazon kernel ramdisk ou machine \\ | + | glance help [NOM DE LA COMMANDE] |
| - | %disk_format% Format de l' | + | </ |
| - | %filename% Le nom de l' | + | |
| ===== Nova ===== | ===== Nova ===== | ||
| - | Passez maintenant | + | Passez maintenant |
| - | ===Préparation de la base de données Mysql=== | + | ==== 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 | mysql -u root -p <<EOF | ||
| CREATE DATABASE nova; | CREATE DATABASE nova; | ||
| - | GRANT ALL PRIVILEGES ON nova.* TO ' | + | GRANT ALL PRIVILEGES ON nova.* TO ' |
| - | | + | |
| EOF | EOF | ||
| </ | </ | ||
| - | ===Installation=== | ||
| - | installez les paquets [[apt> | ||
| - | ===Configuration=== | + | ==== Installation ==== |
| - | Création des services et points d' | + | [[: |
| + | |||
| + | ==== Configuration ==== | ||
| + | |||
| + | Création des services et points d' | ||
| + | == Service compute == | ||
| < | < | ||
| keystone service-create --name=nova --type=compute --description=' | keystone service-create --name=nova --type=compute --description=' | ||
| + | </ | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 646: | Ligne 780: | ||
| | type | compute | | type | compute | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| + | </ | ||
| + | < | ||
| keystone endpoint-create --region RegionOne --service_id=4ba6c7149dd1421f8c429afc0c8dbdfe --publicurl=' | keystone endpoint-create --region RegionOne --service_id=4ba6c7149dd1421f8c429afc0c8dbdfe --publicurl=' | ||
| + | </ | ||
| + | < | ||
| +-------------+--------------------------------------------+ | +-------------+--------------------------------------------+ | ||
| | | | | ||
| Ligne 657: | Ligne 795: | ||
| | service_id | | service_id | ||
| +-------------+--------------------------------------------+ | +-------------+--------------------------------------------+ | ||
| + | </ | ||
| + | |||
| + | == Service volume == | ||
| + | < | ||
| keystone service-create --name=volume --type=volume --description=' | keystone service-create --name=volume --type=volume --description=' | ||
| + | </ | ||
| + | < | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| | | | | ||
| Ligne 666: | Ligne 810: | ||
| | type | volume | | type | volume | ||
| +-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
| + | </ | ||
| + | < | ||
| keystone endpoint-create --region RegionOne --service_id=de65a68c5ae34737bc6678f6c7bc884a --publicurl=' | keystone endpoint-create --region RegionOne --service_id=de65a68c5ae34737bc6678f6c7bc884a --publicurl=' | ||
| + | </ | ||
| + | < | ||
| +-------------+--------------------------------------------+ | +-------------+--------------------------------------------+ | ||
| | | | | ||
| Ligne 678: | Ligne 826: | ||
| +-------------+--------------------------------------------+ | +-------------+--------------------------------------------+ | ||
| </ | </ | ||
| + | \\ | ||
| - | [[: | + | Dans les fichiers ci-dessous, SQLPASSWD est le mot de passe MySQL [[# |
| - | <code> | + | |
| + | [[: | ||
| + | <file> | ||
| admin_tenant_name = service | admin_tenant_name = service | ||
| admin_user = nova | admin_user = nova | ||
| - | admin_password = 2BSpUaPV | + | admin_password = ADMPASSWD |
| - | </code> | + | </file> |
| - | [[: | + | [[: |
| - | La configuration obtenue utilisera le mode Dhcp. La ligne " | + | La configuration obtenue utilisera le mode DHCP. La ligne " |
| - | Pour un mode Vlan, pour utiliser plusieurs serveurs ou d' | + | Pour un mode VLAN, pour utiliser plusieurs serveurs ou d' |
| - | <code> | + | <file> |
| # LOGS/STATE | # LOGS/STATE | ||
| --verbose | --verbose | ||
| Ligne 705: | Ligne 856: | ||
| --keystone_ec2_url=http:// | --keystone_ec2_url=http:// | ||
| --scheduler_driver=nova.scheduler.simple.SimpleScheduler | --scheduler_driver=nova.scheduler.simple.SimpleScheduler | ||
| + | # | ||
| --root_helper=sudo nova-rootwrap | --root_helper=sudo nova-rootwrap | ||
| # AUTHENTICATION | # AUTHENTICATION | ||
| Ligne 712: | Ligne 864: | ||
| --iscsi_ip_prefix=172.16.0 | --iscsi_ip_prefix=172.16.0 | ||
| # DATABASE | # DATABASE | ||
| - | --sql_connection=mysql:// | + | --sql_connection=mysql:// |
| # COMPUTE | # COMPUTE | ||
| --libvirt_type=kvm | --libvirt_type=kvm | ||
| Ligne 737: | Ligne 889: | ||
| --flat_injected=False | --flat_injected=False | ||
| --my_ip=192.168.1.250 | --my_ip=192.168.1.250 | ||
| - | --floating_range=192.168.1.0/ | + | --floating_range=192.168.1.0/ |
| --force_dhcp_release | --force_dhcp_release | ||
| --public_interface=br0 | --public_interface=br0 | ||
| Ligne 745: | Ligne 897: | ||
| --vncserver_proxyclient_address=127.0.0.1 | --vncserver_proxyclient_address=127.0.0.1 | ||
| --vncserver_listen=127.0.0.1 | --vncserver_listen=127.0.0.1 | ||
| - | </code> | + | </file> |
| + | |||
| + | Toutes les entrées // | ||
| - | toutes les entrées --flat... correspondent au réseau privé (172.16.0.0/24, début 172.16.0.2)\\ | + | //%%--%%floating_range// est le réseau public (LAN ou Internet) sur lequel est branché l' |
| - | --floating_range est le réseau public(LAN) sur lequel est branché l' | + | |
| - | Modifiez les droits sur le répertoire /etc/nova | + | Modifiez les [[:droits]] sur le répertoire |
| < | < | ||
| Ligne 769: | Ligne 922: | ||
| </ | </ | ||
| - | + | Redémarrez de nouveau tous les services | |
| - | Redémarrez de nouveau tous les service | + | |
| < | < | ||
| Ligne 776: | Ligne 928: | ||
| 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, | + | Vous pouvez maintenant vérifier que tous les services fonctionnent, |
| + | * un smiley, représenté par %%:-)%%, pour "OK". | ||
| + | * un XXX :quelque chose n'as pas fonctionné, | ||
| < | < | ||
| sudo nova-manage service list | sudo nova-manage service list | ||
| + | </ | ||
| + | < | ||
| 2012-05-16 00:20:09 DEBUG nova.utils [req-527f4f50-f02e-41da-bc96-43d3d9070807 None None] backend <module ' | 2012-05-16 00:20:09 DEBUG nova.utils [req-527f4f50-f02e-41da-bc96-43d3d9070807 None None] backend <module ' | ||
| Binary | Binary | ||
| Ligne 791: | Ligne 948: | ||
| </ | </ | ||
| - | <note important> | + | <note important> |
| - | Exemples: l'atribution | + | Relancer une commande ou demander son annulation alors qu' |
| N' | N' | ||
| + | |||
| + | === Images disques === | ||
| Listez les images disque fournies par le service Glance | Listez les images disque fournies par le service Glance | ||
| Ligne 799: | Ligne 958: | ||
| < | < | ||
| nova image-list | nova image-list | ||
| + | </ | ||
| + | < | ||
| +--------------------------------------+-----------------------------+--------+--------+ | +--------------------------------------+-----------------------------+--------+--------+ | ||
| | ID | | | ID | | ||
| Ligne 806: | Ligne 967: | ||
| </ | </ | ||
| - | Profitons en pour créer les réseaux privés et publics, les adresses seront enregistrées dans la base MySQL.\\ | + | === 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 network create private --fixed_range_v4=172.16.0.0/ | ||
| sudo nova-manage floating create --ip_range=192.168.1.0/ | 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' | + | 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 | nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0 | ||
| + | </ | ||
| + | < | ||
| +-------------+-----------+---------+-----------+--------------+ | +-------------+-----------+---------+-----------+--------------+ | ||
| | IP Protocol | From Port | To Port | IP Range | Source Group | | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
| Ligne 822: | Ligne 992: | ||
| | icmp | -1 | -1 | 0.0.0.0/0 | | | | icmp | -1 | -1 | 0.0.0.0/0 | | | ||
| +-------------+-----------+---------+-----------+--------------+ | +-------------+-----------+---------+-----------+--------------+ | ||
| + | </ | ||
| + | < | ||
| nova secgroup-add-rule default tcp 22 22 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 | | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
| Ligne 834: | Ligne 1008: | ||
| < | < | ||
| nova secgroup-list-rules default | nova secgroup-list-rules default | ||
| + | </ | ||
| + | < | ||
| +-------------+-----------+---------+-----------+--------------+ | +-------------+-----------+---------+-----------+--------------+ | ||
| | IP Protocol | From Port | To Port | IP Range | Source Group | | | IP Protocol | From Port | To Port | IP Range | Source Group | | ||
| Ligne 843: | Ligne 1019: | ||
| - | ===== Première machine virtuelle | + | ==== Première machine virtuelle ==== |
| - | Maintenant que tout fonctionne, vous allez pouvoir créez votre première VM | + | Maintenant que tout fonctionne, vous allez pouvoir créez votre première VM.\\ |
| - | Assurez vous d' | + | Assurez-vous d' |
| < | < | ||
| Ligne 851: | Ligne 1027: | ||
| </ | </ | ||
| - | ajoutez | + | Ajoutez-la au serveur |
| < | < | ||
| Ligne 857: | Ligne 1033: | ||
| </ | </ | ||
| - | il faut définir les spécifications de la future VM, pour voir les possibilités, | + | Il faut définir les spécifications de la future VM, pour voir les possibilités, |
| < | < | ||
| nova flavor-list | nova flavor-list | ||
| + | </ | ||
| + | < | ||
| +----+-----------+-----------+------+-----------+------+-------+-------------+ | +----+-----------+-----------+------+-----------+------+-------+-------------+ | ||
| | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | | | ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | | ||
| Ligne 872: | Ligne 1050: | ||
| </ | </ | ||
| - | Utilisons | + | Pour la suite, il sera utilisé |
| - | lancez | + | Lancez |
| < | < | ||
| nova boot --flavor 1 --image d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 myfirstvm --key_name key1 & | nova boot --flavor 1 --image d1b7defa-0c35-4e8c-aef5-0d58c8d80a52 myfirstvm --key_name key1 & | ||
| + | </ | ||
| + | < | ||
| [1] 5472 | [1] 5472 | ||
| +-------------------------------------+--------------------------------------+ | +-------------------------------------+--------------------------------------+ | ||
| Ligne 912: | Ligne 1092: | ||
| </ | </ | ||
| - | Un récapitulatif des propriétés de la machine s' | + | Un récapitulatif des propriétés de la machine s' |
| < | < | ||
| Ligne 922: | Ligne 1102: | ||
| < | < | ||
| nova list | nova list | ||
| + | </ | ||
| + | < | ||
| +--------------------------------------+-----------+--------+--------------------+ | +--------------------------------------+-----------+--------+--------------------+ | ||
| | ID | Name | Status | Networks | | ID | Name | Status | Networks | ||
| Ligne 929: | Ligne 1111: | ||
| </ | </ | ||
| - | Connectez vous sur la VM | + | Connectez-vous sur la VM |
| < | < | ||
| ssh ubuntu@172.16.0.2 | ssh ubuntu@172.16.0.2 | ||
| + | </ | ||
| + | < | ||
| Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual x86_64) | Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-virtual x86_64) | ||
| Ligne 938: | Ligne 1122: | ||
| System information as of Mon Jul 9 17:10:53 UTC 2012 | System information as of Mon Jul 9 17:10:53 UTC 2012 | ||
| - | + | . | |
| - | System load: 0.56 Processes: | + | . |
| - | Usage of /: 33.4% of 1.98GB | + | . |
| - | | + | |
| - | Swap usage: | + | |
| - | + | ||
| - | Graph this data and manage this system at https:// | + | |
| - | + | ||
| - | 0 packages can be updated. | + | |
| - | 0 updates are security updates. | + | |
| - | + | ||
| - | Get cloud support with Ubuntu Advantage Cloud Guest | + | |
| - | http:// | + | |
| - | + | ||
| - | The programs included with the Ubuntu system are free software; | + | |
| - | the exact distribution terms for each program are described in the | + | |
| - | individual files in / | + | |
| - | + | ||
| - | Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by | + | |
| - | applicable law. | + | |
| To run a command as administrator (user " | To run a command as administrator (user " | ||
| See "man sudo_root" | See "man sudo_root" | ||
| Ligne 973: | Ligne 1139: | ||
| </ | </ | ||
| - | Attachez le à la VM | + | Attachez-le à la VM |
| < | < | ||
| nova volume-attach myfirstvm 1 /dev/vdb | nova volume-attach myfirstvm 1 /dev/vdb | ||
| + | </ | ||
| + | Vérifiez le rattachement | ||
| + | < | ||
| nova volume-list | nova volume-list | ||
| + | </ | ||
| + | < | ||
| +----+--------+--------------+------+-------------+--------------------------------------+ | +----+--------+--------------+------+-------------+--------------------------------------+ | ||
| | ID | Status | Display Name | Size | Volume Type | | | ID | Status | Display Name | Size | Volume Type | | ||
| Ligne 986: | Ligne 1157: | ||
| </ | </ | ||
| - | Vous pouvez maintenant vous reconnecter | + | Vous pouvez maintenant vous reconnecter |
| - | Connectez maintenant cette instance virtuelle | + | Connectez maintenant cette instance virtuelle |
| - | Il faut tout d' | + | Il faut tout d' |
| < | < | ||
| nova floating-ip-create | nova floating-ip-create | ||
| + | </ | ||
| + | < | ||
| +-------------+-------------+----------+------+ | +-------------+-------------+----------+------+ | ||
| | Ip | Instance Id | Fixed Ip | Pool | | | Ip | Instance Id | Fixed Ip | Pool | | ||
| Ligne 1000: | Ligne 1173: | ||
| </ | </ | ||
| - | Puis attachez cette adresse | + | Puis attachez cette adresse |
| < | < | ||
| nova add-floating-ip myfirstvm 192.168.1.1 | nova add-floating-ip myfirstvm 192.168.1.1 | ||
| </ | </ | ||
| - | Patientez quelques secondes et vérifiez la présence sur votre LAN d' | + | Patientez quelques secondes et vérifiez la présence sur votre LAN d' |
| + | < | ||
| + | ping -c 2 192.168.1.1 | ||
| + | </ | ||
| < | < | ||
| - | ping 192.168.1.1 | ||
| PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. | 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: | ||
| 64 bytes from 192.168.1.1: | 64 bytes from 192.168.1.1: | ||
| - | ^C | + | |
| --- 192.168.1.1 ping statistics --- | --- 192.168.1.1 ping statistics --- | ||
| 2 packets transmitted, | 2 packets transmitted, | ||
| Ligne 1019: | Ligne 1194: | ||
| < | < | ||
| nova list | nova list | ||
| + | </ | ||
| + | < | ||
| +--------------------------------------+-----------+--------+---------------------------------+ | +--------------------------------------+-----------+--------+---------------------------------+ | ||
| | ID | Name | Status | | | ID | Name | Status | | ||
| Ligne 1026: | Ligne 1203: | ||
| </ | </ | ||
| + | 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 ===== | ===== Dashboard Horizon ===== | ||
| - | Passons a l' | + | L' |
| + | Les différents services doivent être installés et configurés avant de pouvoir l' | ||
| + | |||
| + | ==== Installation ==== | ||
| - | Installez les paquets | + | [[: |
| - | redémarrez | + | Redémarrez |
| < | < | ||
| Ligne 1038: | Ligne 1224: | ||
| </ | </ | ||
| - | Ouvrez votre navigateur favori à l' | + | ==== Utilisation ==== |
| - | {{ ::dashboard.png?600 |}}\\ | + | Ouvrez votre [[:navigateur]] favori à l' |
| - | <note important> | + | {{ :: |
| - | Exemples: l' | + | |
| + | <note important> | ||
| + | Relancer une commande ou demander son annulation alors qu' | ||
| N' | N' | ||
| - | Les identifiants de connexion de l'admin sont les mêmes que ceux du fichier **.novarc**\\ | + | <note important> |
| - | Si vous avez suivi ce document sans rien changer | + | |
| - | Username : | + | Les identifiants de connexion de l'administrateur |
| - | Les comptes qui ont pour role " | + | //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 ===== | ===== Désinstallation ===== | ||
| Pour supprimer cette application, | Pour supprimer cette application, | ||
| - | Supprimez ensuite les bases de données keystone, glance et nova\\ | + | Supprimez ensuite les bases de données keystone, glance et nova |
| ===== Voir aussi ===== | ===== Voir aussi ===== | ||
| - | * **(en)** [[http:// | + | * **(en)** [[http:// |
| - | | + | |
| - | + | ---- | |
| - | // | + | // |
