Premiers pas, « Hello cloud ! »
Une fois le client fonctionnel, utiliser une instance cloud se fait en 4 étapes :
fourniture au cloud d’une paire de clé SSH pour accéder aux instances ;
instancier un serveur ;
(optionnel) ajouter une IP publique à l’instance ;
se connecter à l’instance.
Créer une paire de clés SSH
Cette clé permettra d’établir la session SSH vers les instances :
% ssh-keygen -t rsa -f ~/.novacreds/cloudkey
[...]
Il faut ensuite fournir la clé publique à Openstack qui sera injectée dans les VMs pour le compte root :
% openstack keypair create --public-key $HOME/.novacreds/cloudkey.pub cloudkey
Pour vérifier les paires de clés disponibles :
% openstack keypair list
+----------+-------------------------------------------------+
| Name | Fingerprint |
+----------+-------------------------------------------------+
| cloudkey | 01:4a:cb:05:ff:6a:67:6e:c6:50:e8:a0:eb:ef:e7:95 |
+----------+-------------------------------------------------+
Lister les images disponibles
% openstack image list
+--------------------------------------+---------------------------+--------+-------------------------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------------+--------+-------------------------+
| 1e6104b4-d915-4925-832b-798c3ea3b426 | Rocky-8-GenericCloud-8.5 | ACTIVE | |
| b5a7711d-f0eb-4a31-98e6-69ef2ed09b6a | official-centos-7x-x86_64 | ACTIVE | |
+--------------------------------------+---------------------------+--------+-------------------------+
Lister les flavors disponibles
Les flavors représentent les types de machines virtuelles à disposition. Ils déterminent les caractéristiques des machines virtuelles :
% openstack flavor list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public | extra_specs |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
| 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True | {} |
| 2 | m1.small | 2048 | 10 | 20 | | 1 | 1.0 | True | {} |
| 3 | m1.medium | 4096 | 10 | 40 | | 2 | 1.0 | True | {} |
| 4 | m1.large | 8192 | 10 | 80 | | 4 | 1.0 | True | {} |
| 5 | m1.xlarge | 16384 | 10 | 160 | | 8 | 1.0 | True | {} |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+-------------+
Démarrer une instance
Pour lancer l’instance :
% openstack server create --key-name cloudkey --image official-centos-7x-x86_64 --flavor m1.tiny mavm
[...]
Note
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
On peut vérifier l’état des VM :
% openstack server list
Pour 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 |
+--------------------------+------------+--------+-----------------------+
Dire bonjour
% ssh -i ~/.novacreds/cloudkey root@134.158.246.25 echo "hello world"
hello world
Supprimer l’instance
% openstack server delete mavm