Créer une instance Openstack en ligne de commande

De Hopla.cloud OpenStack Documentation Wiki
Aller à : navigation, rechercher

Prérequis

Créer une instance Openstack

Les commandes suivantes sont exécutées avec le client Openstack en ligne de commande

Tout d'abord, nous allons lister les éléments requis pour la création d'une instance.

On liste les images

openstack image list
+--------------------------------------+--------------------------------------+--------+
| ID                                   | Name                                 | Status |
+--------------------------------------+--------------------------------------+--------+
| a1b9789b-2ef7-4589-b900-eb8d238e24b7 | ArchLinux-2019.06.01-x86_64          | active |
| 83e63998-8aeb-4284-be69-56f38f5d5d13 | CentOS-7-x86_64                      | active |
| edbae568-f30e-4865-b8aa-700b5b2749f4 | Debian-9.8.2-x86_64                  | active |
| 73268287-7c74-44c0-ac38-dd2fb8da2e31 | Fedora-30-1.2-x86_64                 | active |
| b4ab7faf-e851-4417-9e36-c2dfa4cd5ba6 | Microsoft-Windows-Server-2019-x86_64 | active |
| a22ff3d8-1cb6-4c8e-b205-280c2c957dd3 | Mikrotik-RouterOS-6.43.16-LTS-x86_64 | active |
| e80a7131-64d6-4237-9aa8-c6db4cb64fea | Ubuntu-18.04-LTS-x86_64              | active |
+--------------------------------------+--------------------------------------+--------+

On liste les réseaux

openstack network list
+--------------------------------------+------------------+------------------------------------------------------------------------------------------------------------------+
| ID                                   | Name             | Subnets                                                                                                          |
+--------------------------------------+------------------+------------------------------------------------------------------------------------------------------------------+
| 8c1a6a7f-8f56-42f1-8fb5-2c44c872f233 | Réseau-1         | 4e45873c-df1b-43d3-946e-694d4328ae28                                                                             |
| f3692924-e1b9-4adf-92e1-67bad3b14888 | fr-east-1-public | 5c8716e7-41c8-4104-b608-80ad568b8626, 6cebeb41-d626-4871-90ac-369f573423c8, c19c31ed-483a-42a0-9496-746228d68946 |
+--------------------------------------+------------------+------------------------------------------------------------------------------------------------------------------+

On liste les flavors

openstack flavor list
+--------------------------------------+----------+-------+------+-----------+-------+-----------+
| ID                                   | Name     |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+----------+-------+------+-----------+-------+-----------+
| 4987b035-8eba-49be-8c6e-cdc2f1d0f346 | std.h.16 | 16384 |  120 |         0 |     8 | True      |
| 4c8c23b9-98b8-437d-abcc-1842714fa882 | std.1    |  1024 |   30 |         0 |     1 | True      |
| 5211bf89-cb77-4c08-ad52-540824d66f80 | std.4    |  4096 |   60 |         0 |     2 | True      |
| 59eecd91-d3ee-474d-ac82-d7146d248cc8 | std.8    |  8192 |   60 |         0 |     4 | True      |
| 5ee16dad-40e2-4ed1-a88d-a2909165111f | std.16   | 16384 |  120 |         0 |     8 | True      |
| 64327e2d-3496-4213-a1ca-9ad50047f096 | std.h.1  |  1024 |   30 |         0 |     1 | True      |
| 6e99c828-cfc7-41ec-b299-d7285c104fd6 | std.32   | 32768 |  120 |         0 |     8 | True      |
| 78c91eb7-c0c3-4410-8d9f-b4cfdbc3aef2 | std.h.32 | 32768 |  120 |         0 |     8 | True      |
| 98e3d971-30ca-41f7-ba73-d1b032e28a04 | std.h.4  |  4096 |   60 |         0 |     2 | True      |
| bb370ad1-9926-49f0-b669-ced0a68954c6 | std.h.8  |  8192 |   60 |         0 |     4 | True      |
| c0e19bae-0389-43dd-bff3-e0723cbf4e19 | std.2    |  2048 |   30 |         0 |     2 | True      |
| cf969e00-bcc0-4006-bf4d-dcfee2ab522e | std.h.2  |  2048 |   30 |         0 |     2 | True      |
+--------------------------------------+----------+-------+------+-----------+-------+-----------+

On liste les groupes de sécurité

openstack security group list
+--------------------------------------+---------------+-------------------------------------------------------------------------------------------------+----------------------------------+
| ID                                   | Name          | Description                                                                                     | Project                          |
+--------------------------------------+---------------+-------------------------------------------------------------------------------------------------+----------------------------------+
| 13afb071-9c8b-48f7-a568-b08deffd2167 | hopla_default | Hopla.cloud default security group. This security groupe allows all ingress and egress traffic. | 7658a6ccac184e8c848992af4266b413 |
| d26aed3d-a52a-4c6c-b40c-dc49f9643688 | default       | Default security group                                                                          | 7658a6ccac184e8c848992af4266b413 |
+--------------------------------------+---------------+-------------------------------------------------------------------------------------------------+----------------------------------+

Voici la composition de la commande pour créer une instance

openstack server create --image [image-name-or-id] --flavor [favor-name-or-id] --network [network-name-or-id] --security-group [security-group-name-or-id] --key-name [keypair-name] [instance-name]

Exemple d'utilisation de la commande

openstack server create --image Debian-9.8.2-x86_64 --flavor std.h.16 --network Reseau-1 --security-group hopla_default --key-name cle-1 instance-1

Description des paramètres de la commande

openstack server create
    (--image <image> | --volume <volume>)
    --flavor <flavor>
    [--security-group <security-group>]
    [--key-name <key-name>]
    [--property <key=value>]
    [--file <dest-filename=source-filename>]
    [--user-data <user-data>]
    [--availability-zone <zone-name>]
    [--block-device-mapping <dev-name=mapping>]
    [--nic <net-id=net-uuid,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,port-id=port-uuid,auto,none>]
    [--network <network>]
    [--port <port>]
    [--hint <key=value>]
    [--config-drive <config-drive-volume>|True]
    [--min <count>]
    [--max <count>]
    [--wait]
    <server-name>
--image <image>
Créer un disque de démarrage du serveur à partir de cette image (Nom ou ID)
--volume <volume>
Créez un serveur en utilisant ce volume comme disque de démarrage (Nom ou ID). Cette option crée automatiquement un mappage de périphérique en mode bloc avec un index de démarrage de 0. Sur de nombreux hyperviseurs (libvirt / kvm par exemple), il s'agira du périphérique vda. Ne créez pas de mappage en double à l'aide de –block-device-mapping pour ce volume.
--flavor <flavor>
Créer un serveur avec ce flavor (nom ou ID).
--security-group <security-group>
Groupe de sécurité à affecter à ce serveur (nom ou ID) (répéter l'option pour définir plusieurs groupes).
--key-name <key-name>
Paires de clés à injecter à ce serveur (extension optionnelle).
--property <key=value>
Définir une propriété sur ce serveur (Répéter l'option pour définir plusieurs valeurs).
--file <dest-filename=source-filename>
Fichier à injecter dans l'image avant le démarrage (Répéter l'option pour définir plusieurs fichiers)
--user-data <user-data>
Fichier de données à fournir à partir du serveur de metadata.
--availability-zone <zone-name>
Sélectionner une zone de disponibilité pour le serveur.
--block-device-mapping <dev-name=mapping>
Créez un périphérique en mode bloc sur le serveur.
Le mappage du périphérique en bloc au format <dev-name>=<id>:<type>:<size(GB)>:<delete-on-terminate> <dev-name>: nom du périphérique en mode bloc, comme: vdb, xvdc (requis) <id>: UUID du volume ou du snapshot (requis) <type>: volume ou snapshot; par défaut: volume (facultatif) <taille (Go)>: taille du volume s'il est créé à partir d'un snapshot (facultatif) <delete-on-terminate>: true ou false; par défaut: false (optionnel) (extension optionnelle).
--nic <net-id=net-uuid,v4-fixed-ip=ip-addr,v6-fixed-ip=ip-addr,port-id=port-uuid,auto,none>
Créer une interface réseau sur le serveur. Spécifier l'option autant de fois que vous créez d'interface réseau. Net-id ou port-id doit être fournis, mais pas les deux.
net-id: connecter l'interface réseau au réseau avec cet UUID,
port-id: connecter l'interface réseau au port avec cet UUID,
v4-fixed-ip: adresse fixe IPv4 pour l'interface réseau (facultatif),
v6-fixed-ip: adresse fixe IPv6 pour l'interface réseau (facultatif),
none: (v2.37 +) aucun réseau n'est connecté,
auto: (v2.37 +), le service de calcul allouera automatiquement un réseau.
En spécifiant une -nic en auto ou none, il n'est pas possible de l'utiliser avec une autre valeur -nic.
--network <network>
Créez une interface réseau sur le serveur et connectez-la au réseau. Spécifiez l'option plusieurs fois pour créer plusieurs interfaces réseau. C’est une fonction pour le paramètre ‘–nic net-id = <network>’ qui fournit une syntaxe simple pour le cas d’utilisation standard de la connexion d’un nouveau serveur à un réseau donné. Pour les cas d’utilisation plus avancés, reportez-vous au paramètre ‘–nic’.
--port <port>
Créez une interface réseau sur le serveur et connectez-la au port. Spécifiez l'option plusieurs fois pour créer plusieurs interfaces réseau. C’est une fonction pour le paramètre ‘–nic port-id = <port>’ qui fournit une syntaxe simple pour le cas d’utilisation standard de la connexion d’un nouveau serveur à un port donné. Pour les cas d’utilisation plus avancés, reportez-vous au paramètre ‘–nic’.
--hint <key=value>
Indication pour le planificateur (extension optionnelle).
--config-drive <config-drive-volume>|True
Utiliser le volume spécifié comme volume par défaut ou l'option "True" pour utiliser un volume éphémère.
--min <count>
Nombre minimum de serveurs à lancer (par défaut = 1).
--max <count>
Nombre maximum de serveurs à lancer (par défaut = 1).
--wait
Attendez que la construction soit terminée.
server-name
Nom du nouveau serveur.

Pour aller plus loin