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.