Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
openstack [Le 22/05/2023, 17:43] lyondif02 [Configuration] typo. |
openstack [Le 22/05/2023, 19:03] (Version actuelle) lyondif02 [Pré-requis] typo. +reformulation mineure |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
====== OpenStack ====== | ====== 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'aider les organisations à mettre en oeuvre un système de serveur et de stockage virtuel.\\ | + | OpenStack est un logiciel libre((license Apache 2.0)) qui permet la construction de [[:cloud]] privé et public. C’est aussi le nom d’une communauté et d’un projet qui ont pour but d’aider les organisations à mettre en œuvre un système de serveur et de stockage virtuel. |
- | 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'installation des composants d'identité, d'images et virtualisation sur une seule machine.\\ | + | OpenStack est composé d’une série de logiciels et de projets au code source libre qui sont maintenus par la communauté. Il comprend notamment les composants OpenStack Compute, nommé Nova, OpenStack Object Storage, nommé Swift, et OpenStack Image Service, nommé Glance. |
- | 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. | + | |
+ | Ce document présente l’installation des composants d’identité, d’images et de virtualisation, sur une seule machine. Cela correspond davantage à une configuration de développement. Elle est néanmoins fonctionnelle. Les services réseau avancé, nommé Neutron (ex-Quantum), et stockage objet, nommé Swift, ne sont pas abordés ici. | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | + | ||
+ | Dispositions générales : | ||
* Disposer des [[:sudo|droits d'administration]]. | * Disposer des [[:sudo|droits d'administration]]. | ||
- | * Disposer d'une connexion à Internet configurée et activée. | + | * Disposer d’une connexion à Internet configurée et activée. |
- | * Avoir les [[:dépôts]] d'activés | + | * Avoir activé les [[:dépôts]] logiciels. |
- | * Un processeur supportant la virtualisation matérielle ([[:kvm#mise_en_place|test sur la page KVM]]) | + | * Disposer d’un processeur supportant la virtualisation matérielle ([[:kvm#mise_en_place|test sur la page KVM]]). |
- | * Disposer d'un disque dur ou d'une partition non formatée pour [[:LVM]] | + | * Disposer d’un disque dur ou d’une partition non formatée pour [[:LVM]]. |
- | * Ne pas avoir peur de la ligne de [[:commande_shell|commande]] | + | * Ne pas avoir peur de la [[:commande_shell|ligne de commande]]. |
- | * Avoir [[:tutoriel:comment_installer_un_paquet|installé les paquets]]: | + | * [[:tutoriel:comment_installer_un_paquet|Avoir installé les paquets]] suivants : |
- | * **[[apt>kvm,libvirt-bin,virtinst]]**. | + | * **[[apt>kvm,libvirt-bin,virtinst]]** |
* **[[apt>mysql-server,python-mysqldb]]** | * **[[apt>mysql-server,python-mysqldb]]** | ||
- | * **[[apt>bridge-utils|bridge-utils]]** | + | * **[[apt>bridge-utils|bridge-utils]]**. |
- | * Il est nécessaire de configurer le réseau en IP Fixe. Supprimez les paquets Network-Manager ou Wicd et resolvconf. | + | * Avoir configuré le réseau avec un adressage IP statique. Supprimer les paquets Network-Manager ou Wicd et resolvconf. |
- | Tous les services OpenStack seront installés sur la même machine.\\ | + | Notes particulières : |
- | La configuration abordée suppose l'utilisation de 2 interfaces réseau.\\ | + | * Tous les services OpenStack seront installés sur la même machine ; |
+ | * La configuration abordée considère l’utilisation de 2 interfaces réseau. | ||
===== Préparation du système ===== | ===== Préparation du système ===== | ||
Ligne 213: | Ligne 216: | ||
</code> | </code> | ||
==== Création des utilisateurs ==== | ==== Création des utilisateurs ==== | ||
- | Chaque commande ci-dessous contient l'authentification définie dans le fichier **keystone.conf** et utilisée par le client python sous la forme ''%%--%%token admin_token <mot de passe d'administration> %%--%%endpoint url_du_service_keystone <adresse du serveur:port/directory/>''.\\ | + | Chaque commande ci-dessous contient l’authentification définie dans le fichier **keystone.conf** et utilisée par le client Python sous la forme suivante : |
+ | <code> | ||
+ | --token admin_token # mot de passe d'administration | ||
+ | --endpoint url_du_service_keystone # adresse du serveur:port/dossier/ | ||
+ | </code> | ||
=== Création du compte administrateur === | === Création du compte administrateur === | ||
+ | Commande à exécuter après adaptation : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=admin --pass=ADMPASSWD --email=admin@example.com | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=admin --pass=ADMPASSWD --email=admin@example.com | ||
</code> | </code> | ||
- | Répondra quelque chose comme | + | Réponse obtenue de manière approximative : |
<code> | <code> | ||
+----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
Ligne 234: | Ligne 242: | ||
=== Création du compte interne du service Glance == | === Création du compte interne du service Glance == | ||
+ | Commande à exécuter après adaptation : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=glance --pass=ADMPASSWD --email=glance@example.com | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=glance --pass=ADMPASSWD --email=glance@example.com | ||
</code> | </code> | ||
- | Répondra | + | Réponse obtenue de manière approximative : |
<code> | <code> | ||
+----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
Ligne 252: | Ligne 261: | ||
=== Création du compte interne du service Nova === | === Création du compte interne du service Nova === | ||
+ | Commande à exécuter après adaptation : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=nova --pass=ADMPASSWD --email=nova@example.com | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ user-create --name=nova --pass=ADMPASSWD --email=nova@example.com | ||
</code> | </code> | ||
- | Répondra | + | Réponse obtenue de manière approximative : |
<code> | <code> | ||
+----------+-------------------------------------------------------------------------------------------------------------------------+ | +----------+-------------------------------------------------------------------------------------------------------------------------+ | ||
Ligne 272: | Ligne 281: | ||
==== Création des rôles ==== | ==== Création des rôles ==== | ||
- | Pour les rôles utilisateurs vous avez le choix entre : | + | Chaque utilisateur peut être associé à un des deux rôles suivants : |
- | - //[[#Role_admin|admin]]//: donne le droit de modifier la configuration des services (ex:allouer une plage d'adresse IP, un quota d'espace disque pour un projet etc...) | + | - //[[#Role_admin|admin]]// : ce rôle donne le droit de modifier la configuration des services. Exemples : allouer une plage d’adresses IP, définir un quota d’espace disque pour un projet, etc. |
- | - //[[#Role_Membre|Member]]//: permet de gérer le contenu du projet (création d'instances de machines, ajout d'un disque virtuel a l'une d'elles etc...) | + | - //[[#Role_Membre|Member]]// : ce rôle permet de gérer le contenu d’un projet. Exemples : créer une instance de machine, ajouter un disque virtuel à une machine, etc. |
- | Les rôles //[[#Role_KeystoneAdmin|KeystoneAdmin]]// et //[[#Role_KeystoneServiceAdmin|KeystoneServiceAdmin]]// sont des rôles internes __nécessaires__. | + | |
+ | Les rôles //[[#Role_KeystoneAdmin|KeystoneAdmin]]// et //[[#Role_KeystoneServiceAdmin|KeystoneServiceAdmin]]// sont des rôles internes et __nécessaires__. | ||
+ | |||
+ | 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 === | === Rôle admin === | ||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=admin | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=admin | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+----------+----------------------------------+ | +----------+----------------------------------+ | ||
Ligne 291: | Ligne 305: | ||
=== Rôle Membre === | === Rôle Membre === | ||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=Member | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=Member | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+----------+----------------------------------+ | +----------+----------------------------------+ | ||
Ligne 304: | Ligne 320: | ||
=== Rôle KeystoneAdmin === | === Rôle KeystoneAdmin === | ||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=KeystoneAdmin | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=KeystoneAdmin | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+----------+----------------------------------+ | +----------+----------------------------------+ | ||
Ligne 317: | Ligne 335: | ||
=== Rôle KeystoneServiceAdmin === | === Rôle KeystoneServiceAdmin === | ||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=KeystoneServiceAdmin | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ role-create --name=KeystoneServiceAdmin | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+----------+----------------------------------+ | +----------+----------------------------------+ | ||
Ligne 330: | Ligne 350: | ||
==== Création des Tenants ==== | ==== Création des Tenants ==== | ||
+ | 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 === | === Tenant admin === | ||
- | Le Tenant admin permet à ses membres d'administrer les services. | + | Le //Tenant admin// permet à ses membres d’administrer les services. |
+ | |||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ tenant-create --name=admin | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ tenant-create --name=admin | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
Ligne 345: | Ligne 370: | ||
+-------------+----------------------------------+ | +-------------+----------------------------------+ | ||
</code> | </code> | ||
+ | |||
=== Tenant service === | === Tenant service === | ||
- | Le Tenant interne des services. | + | Le //Tenant service// permet à ses membres d’accéder au service. |
+ | |||
+ | Commande à exécuter de manière adaptée : | ||
<code> | <code> | ||
keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ tenant-create --name=service | keystone --token ADMPASSWD --endpoint http://192.168.1.250:35357/v2.0/ tenant-create --name=service | ||
</code> | </code> | ||
+ | Réponse obtenue de manière approximative : | ||
<code> | <code> | ||
+-------------+----------------------------------+ | +-------------+----------------------------------+ |