GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un'istanza in OpenStack tramite riga di comando

Come tutti sappiamo, Openstack sta diventando popolare giorno dopo giorno. La maggior parte delle organizzazioni sta spostando la propria infrastruttura IT dalla virtualizzazione tradizionale al cloud privato come OpenStack. Openstack è disponibile in due versioni:

  • Community OpenStack – Come suggerisce il nome, è un cloud privato open source e basato sulla comunità. La community di solito rilascia una nuova versione di openstack ogni 6 mesi
  • Enterprise OpenStack – Come suggerisce il nome, è un openstack commerciale, diversi fornitori hanno creato il proprio openstack come Red Hat ha il proprio RHOSP (Red Hat Openstack Platform), Mirantis Openstack,  Canonical OpenStack, SUSE OpenStack Cloud e VIO (VMware Integrated OpenStack).

Essendo un amministratore cloud, generalmente creiamo ed eliminiamo macchine virtuali dalla GUI (dashboard Horizon). Ma un fanatico di Linux preferisce sempre usare la riga di comando per svolgere tutte le attività quotidiane di openstack, quindi in questo articolo dimostrerò come creare ed eliminare una macchina virtuale dalla riga di comando.

Creazione di una macchina virtuale da riga di comando

Per creare una macchina virtuale dalla riga di comando, prima accedi al nodo del controller. Crea un file di credenziali del progetto. In questo tutorial utilizzerò credenziali di progetto non di produzione.

~]# source  keystone_linuxtechi_rc

Per prima cosa trova i seguenti dettagli usando il comando openstack, avremmo richiesto questi dettagli durante la creazione della macchina virtuale.

  • Sapore
  • Immagine
  • Rete
  • Gruppo di sicurezza
  • Nome chiave

Ottieni l'elenco dei gusti utilizzando il comando openstack sottostante

[[email protected] ~]# openstack flavor list
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
| ID                                   | Name      |   RAM | Disk | Ephemeral | VCPUs | Is Public |
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
| 1                                    | m1.tiny   |   512 |    1 |         0 |     1 | True      |
| 1093ac5d-9383-4ffb-96d8-4fbf9e28fdbf | Size15    | 10240 |  100 |         0 |     4 | True      |
| 1cf5a2ec-b111-403f-97dc-5670836a1d03 | Size3     |  2048 |   50 |         0 |     1 | True      |
| 3                                    | m1.medium |  4096 |   40 |         0 |     2 | True      |
| 4                                    | m1.large  |  8192 |   80 |         0 |     4 | True      |
| 5                                    | m1.xlarge | 16384 |  160 |         0 |     8 | True      |
| 5109b174-7348-4b21-9f6b-785adc842cf0 | Size7     |  4096 |  100 |         0 |     2 | True      |
| 711b0acc-5a1a-4514-93d1-c11b8862cea1 | Size8     |  2096 |  100 |         0 |     2 | True      |
| 71e8b1b8-43a6-4328-a749-f065da988e8f | Size12    |  4096 |   50 |         0 |     2 | True      |
| 73ac76f9-026e-4038-b34a-bac542141351 | Size6     |  4096 |  100 |         0 |     2 | True      |
| 79e6456e-6238-4502-b086-222e97e2989c | Size11    |  8192 |  100 |         0 |     2 | True      |
| 85c9f8ef-e89d-4422-a8fc-88c29d0b8f97 | size10    |  6144 |   50 |         0 |     2 | True      |
| a9912a54-e389-4da5-9be8-c22b033d59f3 | Size2     |  8192 |  150 |         0 |     2 | True      |
| ae23d0a5-777b-4520-b2e5-d5776cb88a55 | Size14    |  7168 |  100 |         0 |     7 | True      |
| ce236593-7324-4408-945b-863932e70df9 | m1.small  |  2048 |   25 |         0 |     1 | True      |
| d7c2ff23-8f3d-424b-a42d-c3027ccd05d3 | Size4     |  4096 |   30 |         0 |     2 | True      |
| e02efedd-f9d4-42df-9c89-096a8093291f | Size16    | 16384 |  200 |         0 |     4 | True      |
| e323b927-411a-40a3-8d02-0dac446f6464 | Size13    |  8192 |  110 |         0 |     3 | True      |
| f6125634-93e5-4531-b678-e91b4d75aed9 | Size5     |  4096 |  200 |         0 |     1 | True      |
+--------------------------------------+-----------+-------+------+-----------+-------+-----------+
[[email protected] ~]#

Ottieni il nome dell'immagine e il relativo ID,

[[email protected] ~]# openstack image list  | grep cirros
| 02fc6c59-8dc2-4a88-90fa-b811077b6df9 | cirros   | active |
[[email protected] ~]#

Ottieni i dettagli della rete virtuale privata, che verranno allegati alla VM

[[email protected] ~]# openstack network list | grep -i nonprod
| e0be93b8-728b-4d4d-a272-7d672b2560a6 | TnQ-NonProd-Internal | 02d5eec2-6ca1-4e73-b4a4-08a7a2d6a4e2 |
[[email protected] ~]#

Trova il gruppo di sicurezza

[[email protected] ~]# openstack security group list | grep SG
| 2266f789-3c4d-4751-8609-041c09625860 | LinuxTechi_SG | LinuxTechi SG | 49853ccef4864d6dbc62c024c10ca543 |
[[email protected] ~]#

Trova la coppia di chiavi, nel mio caso ho sotto ,

[[email protected] ~]# openstack keypair list | grep -i linuxtechi
| linuxtechi | e3:12:89:fd:97:75:75:be:8f:41:75:26:09:03:4d:9f |
[[email protected] ~]#

Nota: I dettagli di cui sopra saranno diversi per te in base al tuo progetto e ambiente.

Ora abbiamo tutti i dettagli, creiamo una macchina virtuale usando "creare server openstack comando ”

Sintassi :

# openstack server create --flavor {flavor-name} --image {Image-Name-Or-Image-ID}  --nic net-id={Network-ID} --security-group {Security_Group_ID} –key-name {Keypair-Name} <VM_Name>

Esempio:

[[email protected] ~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=e0be93b8-728b-4d4d-a272-7d672b2560a6 --security-group LinuxTechi_SG  --key-name linuxtechi pkumar_test_vm
+--------------------------------------+-----------------------------------------------+
| Field                                | Value                                         |
+--------------------------------------+-----------------------------------------------+
| OS-DCF:diskConfig                    | MANUAL                                        |
| OS-EXT-AZ:availability_zone          |                                               |
| OS-EXT-SRV-ATTR:host                 | None                                          |
| OS-EXT-SRV-ATTR:hypervisor_hostname  | None                                          |
| OS-EXT-SRV-ATTR:instance_name        | instance-000002b3                             |
| OS-EXT-STS:power_state               | 0                                             |
| OS-EXT-STS:task_state                | scheduling                                    |
| OS-EXT-STS:vm_state                  | building                                      |
| OS-SRV-USG:launched_at               | None                                          |
| OS-SRV-USG:terminated_at             | None                                          |
| accessIPv4                           |                                               |
| accessIPv6                           |                                               |
| addresses                            |                                               |
| adminPass                            | uUf3Nrq5P5ei                                  |
| config_drive                         |                                               |
| created                              | 2018-07-07T07:56:15Z                          |
| flavor                               | m1.tiny (1)                                   |
| hostId                               |                                               |
| id                                   | 056c0937-6222-4f49-8405-235b20d173dd          |
| image                                | cirros (02fc6c59-8dc2-4a88-90fa-b811077b6df9) |
| key_name                             | linuxtechi                                    |
| name                                 | pkumar_test_vm                                |
| os-extended-volumes:volumes_attached | []                                            |
| progress                             | 0                                             |
| project_id                           | 49853ccef4864d6dbc62c024c10ca543              |
| properties                           |                                               |
| security_groups                      | [{u'name': u'LinuxTechi_SG'}]                 |
| status                               | BUILD                                         |
| updated                              | 2018-07-07T07:56:15Z                          |
| user_id                              | 322c33b03c424563b43642994cae0709              |
+--------------------------------------+-----------------------------------------------+
[[email protected] ~]#

Nota : Per ottenere ulteriore assistenza su "creare server openstack ” comando , usa

# openstack -h server create

Ora verifica lo stato della macchina virtuale di prova usando i comandi seguenti,

[[email protected] ~]# openstack server list | grep pkumar
| 056c0937-6222-4f49-8405-235b20d173dd | pkumar_test_vm | ACTIVE | TnQ-NonProd-Internal=192.168.15.62               |
[[email protected] ~]#

o

[[email protected] ~]# openstack server show pkumar_test_vm

Associazione di un IP mobile alla VM

Per associare un IP mobile alla macchina virtuale, prima ottieni l'IP mobile inutilizzato usando il comando sotto,

[[email protected] ~]# openstack ip floating list | grep None | head -2
| 071f08ac-cd10-4b89-aee4-856ead8e3ead | 169.144.107.154 | None | None                                 |
| 1baf4232-9cb7-4a44-8684-c604fa50ff60 | 169.144.107.184 | None | None                                 |
[[email protected] ~]#

Ora associa il primo IP al server usando il seguente comando,

[email protected] ~]# openstack ip floating add  169.144.107.154  pkumar_test_vm
[[email protected] ~]#

Utilizza il comando sottostante per verificare se l'ip mobile è assegnato o meno alla macchina virtuale

[[email protected] ~]# openstack server list | grep pkumar_test_vm
| 056c0937-6222-4f49-8405-235b20d173dd | pkumar_test_vm | ACTIVE  | TnQ-NonProd-Internal=192.168.15.62, 169.144.107.154 |
[[email protected] ~]#

Ora puoi accedere a questa VM dall'esterno utilizzando l'IP mobile.

Crea una macchina virtuale nella zona di disponibilità specifica e calcola l'host

Supponiamo di voler creare una macchina virtuale di prova su compute-02 nella zona di disponibilità non di produzione. Per ottenere questo passaggio "–zona-disponibilità" parametro nel comando di creazione del server openstack,

La sintassi sarebbe qualcosa del tipo di seguito:

# openstack server create --flavor {flavor-name} --image {Image-Name-Or-Image-ID}  --nic net-id={Network-ID} --security-group {Security_Group_ID} --key-name {Keypair-Name} --availability-zone {Availbility-Zone-Name}:{Compute-Host}    <VM_Name>

Esempio:

[[email protected] ~]# openstack server create --flavor m1.tiny --image cirros --nic net-id=e0be93b8-728b-4d4d-a272-7d672b2560a6 --security-group LinuxTechi_SG  --key-name linuxtechi --availability-zone NonProduction:compute-02  nonprod_test_vm

Eliminazione della macchina virtuale dalla riga di comando

Usa "cancella server openstack ” comando per eliminare le macchine virtuali, supponiamo di voler eliminare la vm di prova sopra creata.

[[email protected] ~]# openstack server delete  pkumar_test_vm
[[email protected] ~]#

Con questo conclude il nostro articolo, spero che tu abbia un'idea di base su come creare ed eliminare la macchina virtuale dalla riga di comando in openstack.


Linux
  1. Come modificare autorizzazioni e proprietari tramite riga di comando

  2. Come creare un database in MySQL utilizzando la riga di comando

  3. Come creare un file che si chiama come un argomento della riga di comando?

  4. Come posso creare un file con una dimensione specifica da una riga di comando?

  5. Come scoprire se httpd è in esecuzione o meno tramite la riga di comando?

Come avviare un'istanza OpenStack utilizzando Horizon Dashboard

Come utilizzare il proxy sulla riga di comando di Linux?

Come creare una macchina virtuale in KVM dalla riga di comando

Come creare un alias in Linux

Come creare una finestra di messaggio dalla riga di comando?

Procedura:Linux Generale – IPTable di base tramite riga di comando