Premiers pas, « Hello cloud ! »
Pour installer le client de l’interface en mode ligne de commande (CLI), veuillez suivre les instructions ci-dessous.
installer les paquets
python2-openstackclient
,python2-novaclient
,python2-glanceclient
,python2-cinderclient
,python2-neutronclient
. Ils sont disponibles pour la plupart des sytèmes Linux ;recopier les credentials disponibles dans le HOME du CC-IN2P3
~/.novacreds/novarc.sh
dans un fichier d’environnement local ;sourcer ce fichier.
Pour utiliser les CLI à partir des serveurs interactifs, il faut utiliser module :
% module load openstack
Ensuite, les commandes openstack
, nova
etc… sont accessibles :
% openstack catalog list
+------------+--------------+----------------------------------------------------------------------------------------+
| Name | Type | Endpoints |
+------------+--------------+----------------------------------------------------------------------------------------+
| nova | compute | regionOne |
| | | publicURL: https://ccnova.in2p3.fr:8774/v2/0223bc1968bc4e46932c5d87012aaf14 |
| | | internalURL: https://ccnovai.in2p3.fr:8774/v2/0223bc1968bc4e46932c5d87012aaf14 |
| | | adminURL: https://ccnova.in2p3.fr:8774/v2/0223bc1968bc4e46932c5d87012aaf14 |
[...]
Aide intégrée :
% openstack help
Aide sur une commande spécifique (exemple
server create
) :% openstack help server create
Une fois le client fonctionnel, utiliser une instance cloud se fait en 4 étapes :
fourniture au cloud d’une paire de clés SSH pour accéder aux instances ;
instancier un serveur ;
(optionnel) ajouter une IP publique à l’instance ;
se connecter / utiliser l’instance.
Fourniture d’une paire de clés SSH
Il s’agit d’une paire de clés privée/publique SSH classique. Cette paire de clés permettra d’établir la session SSH vers les instances.
Pour les détails d’utilisation, veuillez suivre les indications à la page suivante :
Démarrer une instance
Pour lancer l’instance :
% openstack server create --key-name cloudkey --image Rocky-9-GenericCloud-Base.x86_64 --flavor m1.tiny mavm
[...]
Note
Vous pouvez lister respectivement les images et les flavors disponibles avec les commandes :
% openstack image list
% openstack flavor list
Si le projet dispose de plusieurs réseaux il peut être nécessaire de spécifier un réseau à utiliser avec le paramètre --network
Vérifier l’état des VM :
% openstack server list
Restreindre la vérification à une VM particulière avec son nom :
% openstack server show mavm +--------------------------------------+----------+--------+--------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+----------+--------+--------------------------------------+ | b87775cc-5dad-4de7-a84e-84e2cdf50c2a | mavm | ACTIVE | mynet=172.17.15.4 | +--------------------------------------+----------+--------+--------------------------------------+
(optionnel) Ajouter une IP publique
Selon le mode réseau dans lequel est configuré le projet Openstack, il est nécessaire (ou pas) d’associer une IP flottante (NAT) à la VM pour la connecter au réseau.
Créer une adresse IP flottante :
% openstack floating ip create floating
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| created_at | 2017-10-24T09:22:35Z |
| description | |
| fixed_ip_address | None |
| floating_ip_address | 134.158.246.17 |
| floating_network_id | 8358e0b1-cc39-490a-a86e-a141094b5c95 |
| id | 41ee109f-f702-4095-a208-448cb6126145 |
| name | 134.158.246.17 |
| port_id | None |
| project_id | 0223bc1968bc4e46932c5d87012aaf14 |
| revision_number | 1 |
| router_id | None |
| status | DOWN |
| updated_at | 2017-10-24T09:22:35Z |
+---------------------+--------------------------------------+
Il est possible de lister les IPs flottantes déjà créées au sein du projet avec :
% openstack floating ip list
+-----------+---------------------+------------------+-----------+-------------------+
| ID | Floating IP Address | Fixed IP Address | Port | Floating Network |
+-----------+---------------------+------------------+-----------+-------------------+
| 564...b6b | 134.158.246.17 | 172.17.15.4 | c85...690 | 835...c95 | => IP flottante utilisée
| a33...a2a | 134.158.246.18 | None | None | 835...c95 | => IP flottante disponible
+-----------+---------------------+------------------+-----------+-------------------+
Il faut ensuite affecter l’adresse IP à la machine :
% openstack server add floating ip mavm 134.158.246.17
% openstack server show mavm
+--------------------------+------------+--------+-----------------------+
| ID | Name | Status | Networks |
+--------------------------+------------+--------+-----------------------+
| b3741a0d-e5cd-411c-abe8 | mavm | ACTIVE | mynet=172.17.15.4,
134.158.246.17 |
+--------------------------+------------+--------+-----------------------+
Utiliser l’instance
Dire bonjour :
% ssh -i ~/.novacreds/cloudkey root@134.158.246.25 echo "hello world" hello world
Supprimer l’instance :
% openstack server delete mavm