Office de la formation professionnelle et de la promotion du travail
Direction Régionale Marrakech-Safi
Année de formation : 2023-2024
Les commandes Openstack
[Link]
Structure de commande
[Link]
OpenStackClient a un format cohérent et prévisible pour toutes ses commandes.
Les commandes prennent la forme :
openstack [<global-options>] <object-1> <action> [<object-2>] [<command-arguments>]
Remarque
Tous les noms d'options longs commencent par deux tirets (--) et utilisent un seul tiret (-) en interne entre les mots (--like-this). Les traits de
soulignement (_) ne sont pas utilisés dans les noms d'options.
[<global-options>] : Les options globales sont globales dans le sens où elles s'appliquent à chaque invocation de commande,
quelle que soit l'action à effectuer.
<object> <action> : Les commandes consistent en un objet décrit par un ou plusieurs mots suivis d'une action
[<object>] : Les objets sont constitués d'un ou plusieurs mots pour composer un nom unique.
[<action>] : Les actions utilisées par OpenStackClient sont définies pour donner une signification cohérente à chaque action.
[<command-arguments>] : Chaque commande peut avoir son propre ensemble d'options distinct des options globales.
Liste de commandes (openstackclient)
[Link]
1- Lancer une instance
[Link]
a- Lister les images
$ openstack image list
b- Lister les gabarets
$ openstack flavor list
c- Lister les groupes de sécurité
$ openstack security group list
d- Lister les paires de clé
$ openstack keypair list
e- Lister les instances
$ openstack server list
f- Créer un gabaret (flavor)
$ openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 Nom_gabaret
g- Créer une paire de clé
$ openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
a- Créer un groupe de sécurité
$ openstack security group create Nom_SG
b- Ajouter une règle au groupe de sécurité
1. Autoriser ICMP (ping): $ openstack security group rule create --proto icmp
Nom_SG
2. Autoriser l'accès au shell sécurisé (SSH) : $ openstack security group rule create --
proto tcp --dst-port 22:22 Nom_SG
3. Autoriser HTTP : $ openstack security group rule create --proto tcp --dst-port
80:80 Nom_SG
4. Autoriser HTTPS : $ openstack security group rule create --proto tcp --dst-port
443:443 Nom_SG
h- Créer une instance
$ openstack server create --flavor Nom_gabaret --image Nom_image –network
Nom_reseau --security-group Nom_SG --key-name mykey Nom_Instance
--nic net-id=netname/netid
i- Superviser une instance
$ openstack server show Nom_Instance
a- Gérer une instance
Démarrer : $ openstack server start Nom_Instance
Arrêter : $ openstack server stop Nom_Instance
Redémarrer : $ openstack server reboot [--hard | --soft] Nom_Instance
Pause : $ openstack server pause Nom_Instance
Reprendre : $ openstack server unpause Nom_Instance
Renommer : $ openstack server set Nom_Instance –name Nouveau-Nom
Supprimer : $ openstack server delete Nom_Instance
Verrouiller : $ openstack server lock Nom_Instance
Déverrouiller : $ openstack server unlock Nom_Instance
Résumer : $ openstack server resume Nom_Instance
Restorer: $ openstack server restore Nom_Instance
Suspender: $ openstack server suspend Nom_Instance
Reconstruction: $ openstack server rebuild --image <image> --passwor <password> --wait Nom_Instance
Redimensionner : $ openstack server resize --flavor <flavor> Nom_Instance
2- Gérer un réseau
[Link]
[Link]
a- Lister les réseaux
$ openstack network list
b- Créer un réseau prive
$ openstack network create Nom_reseau
c- Créer un sous réseau (subnet)
$ openstack subnet create --network Nom_reseau --dns-nameserver [Link] --gateway
[Link] --subnet-range [Link]/24 Nom_subnet
d- Créer un réseau public
$ openstack network create --share --external --provider-physical-network public --
provider-network-type flat Nom_R_public
e- Créer un sous réseau (subnet) public
$ openstack subnet create --network Nom_R_public --allocation-pool
start=[Link], end=[Link] --dns-nameserver [Link] --gateway [Link] --
subnet-range [Link]/24 Nom_S_public
f- Créer un routeur
$ openstack router create Nom_router
g- Associer un port réseau au routeur
$ openstack router add subnet Nom_router Nom_subnet
h- Définir la passerelle par defaut au routeur
$ openstack router set Nom_router --external-gateway Nom_reseau_public
i- Lister les ip flottante
$ openstack floating ip list
j- Créer une ip flottante
$ openstack floating ip create adresse_ip_public
k- Associer une ip flottante a une instance
$ openstack server add floating ip Nom_instance adresse_ip_public
3- Gérer des images
[Link]
a. Lister toutes les images
$ openstack image list
[--public | --private | --shared]
[--property <key=value>]
[--long]
[--sort <key>[:<direction>]]
[--limit <limit>]
[--marker <marker>]
b. Créer une image :
$ openstack image create
[--id <id>]
[--store <store>]
[--container-format <container-format>]
[--disk-format <disk-format>]
[--size <size>]
[--min-disk <disk-gb>]
[--min-ram <ram-mb>]
[--location <image-url>]
[--copy-from <image-url>]
[--file <file>]
[--volume <volume>]
[--force]
[--checksum <checksum>]
[--protected | --unprotected]
[--public | --private]
[--property <key=value> [...] ]
[--tag <tag> [...] ]
[--project <project> [--project-domain <project-domain>]]
<image-name>
c. Affichier detail d’une image :
$ openstack image show <image>
d. Supprimer une image :
$ openstack image delete <image>
e. Associate project with image
openstack image add project
[--project-domain <project-domain>]
<image> <project>
f. Disassociate project with image
$ Openstack image remove
[--project-domain <project-domain>]
<image>
<project>
g. Save an image locally
$ openstack image save
--file <filename>
<image>
h. Set image properties
openstack image set
[--name <name>]
[--min-disk <disk-gb>]
[--min-ram <ram-mb>]
[--container-format <container-format>]
[--disk-format <disk-format>]
[--size <size>]
[--protected | --unprotected]
[--public | --private]
[--store <store>]
[--location <image-url>]
[--copy-from <image-url>]
[--file <file>]
[--volume <volume>]
[--force]
[--checksum <checksum>]
[--stdin]
[--property <key=value> [...] ]
[--tag <tag> [...] ]
[--architecture <architecture>]
[--instance-id <instance-id>]
[--kernel-id <kernel-id>]
[--os-distro <os-distro>]
[--os-version <os-version>]
[--ramdisk-id <ramdisk-id>]
[--activate|--deactivate]
[--project <project> [--project-domain <project-domain>]]
[--accept | --reject | --pending]
<image>
4- Gérer les identités
[Link]
[Link]
[Link]
a- Lister les projets
$ openstack project list
b- Lister les utilisateurs
$ openstack user list
c- Lister les rôles
$ openstack role list
d- Créer un projet
$ openstack project create --domain Nom_domain (default) --description “nouveau
projet“ Nom_projet
e- Créer un utilisateur
$ openstack user create --project Nom_projet --password mot-passe Nom_user
f- Créer un role
$ openstack role create Nom_role
g- Assigner un rôle a un utilisateur
$ openstack role add --user Nom_user --project Nom_project Nom_role
h- Vérification d’assignement d’un rôle
$ openstack role assignement list --user Nom_user --project Nom_project
5- Gestion des volumes
[Link]
a- Create new volume
$ openstack volume create
[--size <size>]
[--type <volume-type>]
[--image <image> | --snapshot <snapshot> | --source <volume> | --source-replicated
<replicated-volume>]
[--description <description>]
[--user <user>]
[--project <project>]
[--availability-zone <availability-zone>]
[--consistency-group <consistency-group>]
[--property <key=value> [...] ]
[--hint <key=value> [...] ]
[--multi-attach]
[--bootable | --non-bootable]
[--read-only | --read-write]
<name>
b- Delete volume(s)
$ openstack volume delete
[--force | --purge]
<volume> [<volume> ...]
c- List volumes
$ openstack volume list
[--project <project> [--project-domain <project-domain>]]
[--user <user> [--user-domain <user-domain>]]
[--name <name>]
[--status <status>]
[--all-projects]
[--long]
[--limit <limit>]
[--marker <marker>]
d- Migrate volume to a new host
$ openstack volume migrate
--host <host>
[--force-host-copy]
[--lock-volume | --unlock-volume]
<volume>
e- Set volume properties
$ openstack volume set
[--name <name>]
[--size <size>]
[--description <description>]
[--property <key=value> [...] ]
[--image-property <key=value> [...] ]
[--state <state>]
[--type <volume-type>]
[--retype-policy <retype-policy>]
[--bootable | --non-bootable]
[--read-only | --read-write]
<volume>
f- Unset volume properties
$ openstack volume unset
[--property <key>]
[--image-property <key>]
<volume>
[Link]
g- Create new volume backup
$ openstack volume backup create
[--container <container>]
[--name <name>]
[--description <description>]
[--snapshot <snapshot>]
[--force]
[--incremental]
<volume>
h- Delete volume backup
$ openstack volume backup delete
[--force]
<backup> [<backup> ...]
i- List volume backups
$ openstack volume backup list
[--long]
[--name <name>]
[--status <status>]
[--volume <volume>]
[--marker <marker>]
[--limit <limit>]
[--all-projects]
j- Restore volume backup
$ openstack volume backup restore
<backup>
<volume>
k- Set volume backup properties
$ openstack volume backup set
[--name <name>]
[--description <description>]
[--state <state>]
<backup>
l- Display volume backup details
$ openstack volume backup show
<backup>
6- Gestion des snapshots
[Link]
a. Create new volume snapshot
$ openstack volume snapshot create
[--volume <volume>]
[--description <description>]
[--force]
[--property <key=value> [...] ]
[--remote-source <key=value> [...]]
<snapshot-name>
b. Delete volume snapshot(s)
$ openstack volume snapshot delete
[--force]
<snapshot> [<snapshot> ...]
c. List volume snapshots
$ openstack volume snapshot list
[--all-projects]
[--project <project> [--project-domain <project-domain>]]
[--long]
[--limit <limit>]
[--marker <marker>]
[--name <name>]
[--status <status>]
[--volume <volume>]
d. Set volume snapshot properties
$ openstack volume snapshot set
[--name <name>]
[--description <description>]
[--no-property]
[--property <key=value> [...] ]
[--state <state>]
<snapshot>
e. Display volume snapshot details
$ openstack volume snapshot show
<snapshot>
f. Unset volume snapshot properties
$ openstack volume snapshot unset
[--property <key>]
<snapshot>
7- Gérer le stockage objet swift
[Link]
[Link]
a. Create new container
$ openstack container create
<container-name> [<container-name> ...]
b. Delete container
$ openstack container delete
[-r] | [--recursive]
<container> [<container> ...]
c. List containers
$ openstack container list
[--prefix <prefix>]
[--marker <marker>]
[--end-marker <end-marker>]
[--limit <limit>]
[--long]
[--all]
d. Save container contents locally
$ openstack container save
<container>
e. Set container properties
$ openstack container set
[--property <key=value> [...] ]
<container>
f. Display container details
$ openstack container show
<container>
g. Unset container properties
$ openstack container unset
[--property <key>]
<container>
h. Upload object to container
$ openstack object create
[--name <name>]
<container>
<filename> [<filename> ...]
i. Delete object from container
$ openstack object delete
<container>
<object> [<object> ...]
j. List objects
$ openstack object list
[--prefix <prefix>]
[--delimiter <delimiter>]
[--marker <marker>]
[--end-marker <end-marker>]
[--limit <limit>]
[--long]
[--all]
<container>
k. Save object locally
$ openstack object save
[--file <filename>]
<container>
<object>
l. Set object properties
$ openstack object set
[--property <key=value> [...] ]
<container>
<object>
m. Display object details
$ openstack object show
<container>
<object>
n. Unset object properties
$ openstack object unset
[--property <key>]
<container>
<object>
o. Set account properties
$ openstack object store account set
[--property <key=value> [...] ]
p. Display account details
$ openstack object store account show
q. Unset account properties
$ openstack object store account unset
[--property <key>]
8- Gestion des backup :
[Link]
a. Create new backup
$ openstack backup create
[--container <container>]
[--name <name>]
[--description <description>]
[--snapshot <snapshot>]
[--force]
[--incremental]
<volume>
b. Delete backup
$ openstack backup delete
[--force]
<backup> [<backup> ...]
c. List backups
$ openstack backup list
d. Restore backup
$ openstack backup restore
<backup>
<volume>
e. Display backup details
$ openstack backup show
<backup>
9- Gérer les bases de données :