-
Komentorivi
OpenStackin komentoriviasiakasohjelmat Poutaan
Tässä artikkelissa kuvataan Poudan käyttöä komentorivillä. Jos et ole vielä tehnyt sitä, aloita asentamalla OpenStack-työkalut.
Voit tehdä useimmat tarvitsemasi toiminnot cPoudan ja ePoudan OpenStackin (Horizon) selainkäyttöliittymässä. Joskus komentorivityökalujen käyttö on kuitenkin kätevämpää tai jopa välttämätöntä. OpenStack jakautuu alikomponentteihin, joista kukin huolehtii tietyistä tehtävistä, kuten virtuaalikoneiden, taltioiden tai levyvedosten hallinnasta. Jokaisella näistä alikomponenteista on oma API, jota voidaan käyttää joko ohjelmallisesti tai komentorivityökaluilla päätteessä, kuten tässä luvussa esitellään.
Komentorivityökaluja käytetään palvelun käytön hallintaan, joten ne kannattaa asentaa joko omalle kannettavalle/pöytäkoneelle tai toiselle palvelimelle, jota käytät palvelun hallintaan.
Poudan käyttö komentoriviltä
Tässä artikkelissa luetellaan joitakin peruskomentoja OpenStackin yleisimpiin toimintoihin. Kunkin toiminnon kohdalla näytämme komennon, joka käyttää yleistä OpenStackin komentorivikäyttöliittymää.
Nämä suositellut OpenStack-komentojen versiot toimivat nykyisen ePoudan ja cPoudan version (Yoga) kanssa.
- python-openstackclient==5.8.1
- python-cinderclient==8.3.0
- python-glanceclient==3.6.0
- python-heatclient==2.5.1
- python-keystoneclient==4.4.0
- python-neutronclient==7.8.0
- python-novaclient==17.7.0
- python-swiftclient==3.13.1
Lisätietoja: OpenStackClientin pip-moduuli
Info
Voit asentaa OpenStackClientin pip-moduulin uusimmat versiot, sillä ne ovat taaksepäin yhteensopivia.
OpenStack-komennot ja ohje
openstack -h
Saat luettelon käytettävissä olevista OpenStackin alikomennoista lisäämällä openstack-komennon perään "-h". Jos haluat nähdä tietyn alikomennon valinnat, lisää komennon nimi sanan "help" jälkeen. Esimerkiksi:
openstack help server create
Avainparin lisääminen
openstack keypair create --public-key <file> <name>
Ensimmäinen asia, joka sinun kannattaa tehdä, on luoda avainpari. Sitä käytetään virtuaalikoneille kirjautumiseen. Voit myös halutessasi määrittää aiemmin luomasi julkisen avaimen, jolloin yksityinen avain on se, jonka loit julkista avainta luotaessa.
Luo avain nimeltä "test", jonka yksityinen avain tallennetaan tiedostoon "test.pem":
openstack keypair create test > test.pem
Listaa käytettävissä olevat levyvedokset
openstack image list
Tämä komento listaa käyttäjän käytettävissä olevat levyvedokset. Näihin kuuluvat julkiset levyvedokset ja käyttäjän lisäämät levyvedokset.
Listaa käytettävissä olevat flavorit
openstack flavor list
Virtuaalikoneen flavor määrittää sen virtuaalisen laitteiston: kuinka monta ydintä, kuinka paljon muistia ja niin edelleen.
Käynnistä virtuaalikone
openstack server create --flavor <flavor> --image <image id> --key-name <key name> <name for machine>
Tämä komento sisältää vähimmäismäärän tietoja toimivan virtuaalikoneen käynnistämiseen.
Info
Komennon "openstack server create" tuloste näyttää myös salasanan nimeltä adminPass. Tätä salasanaa ei tarvitse tallentaa, koska sitä ei käytetä virtuaalikoneelle yhdistettäessä. Virtuaalikone sallii pääsyn käyttäjälle vain, jos käyttäjä käyttää SSH-avaimia.
Mukauta virtuaalikonetta ennen käynnistystä
openstack server create --flavor <flavor> --image <image id> --key-name <key name> --user-data user-data.sh <name for machine>
Tiedosto user-data.sh voi sisältää lisäkomentoja, jotka suoritetaan automaattisesti instanssin käynnistämisen jälkeen.
Alla on esimerkkisisältö skriptitiedostosta, joka lisäisi mukautetun käyttäjän flavoriin ja antaisi sille sudo-oikeudet:
#!/bin/sh
# Add a new user called boss
useradd -m boss
# Add the user to sudoers. No password is needed for sudo.
echo 'boss ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/boss
Skriptitiedosto voi sisältää mitä tahansa komentoja, joten varovaisuutta suositellaan.
Note
Huomaa, että esimerkki ei sisällä käyttäjän tunnistautumisen lisäämistä (julkinen SSH-avain).
Listaa instanssit
openstack server list
Tämä antaa luettelon käyttäjän instansseista ja niihin liittyvistä tiedoista.
Lopeta instanssit
openstack server delete <server>
Tämä komento sammuttaa ja poistaa koneen. Käynnissä oleva virtuaalikone poistetaan, eikä sitä voi palauttaa.
Liitä julkinen osoite
openstack floating ip create public
Julkinen osoite on ensin varattava osoitepoolista. Tässä vaiheessa IP-osoitetta ei ole vielä liitetty mihinkään isäntään.
openstack server add floating ip <server> <address>
Tämä komento liittää juuri varatun osoitteen virtuaalikoneeseen.
Kun et enää tarvitse julkista osoitetta, voit vapauttaa sen julkiseen pooliin poistamalla sen.
openstack floating ip delete <address>
Näin säästät pilven laskutusyksiköitä (BUs) ja ylläpidät julkisten IP-osoitteiden tehokasta käyttöä.
Valtuutus yhteyden muodostamiseen virtuaalikoneisiin
Luo uusi tietoturvaryhmä:
openstack security group create <security group name>
Lisää tähän uuteen ryhmään sääntö, joka sallii pingin tietystä lähdeverkosta:
openstack security group rule create --proto icmp --remote-ip <source network> --dst-port 0 <security group name>
Lisää sääntö, joka sallii SSH-yhteyden tietystä lähdeverkosta:
openstack security group rule create --proto tcp --remote-ip <source network> --dst-port 22 <security group name>
Liitä juuri luotu tietoturvaryhmä virtuaalipalvelimeesi:
openstack server add security group <server> <security group name>
Oletuksena kaikki yhteydet virtuaalikoneisiin on estetty. Tämä komento sallii pingin ja SSH-yhteyden.
Palvelinryhmät ja affiniteetti
OpenStackissa on mahdollista luoda niin sanottuja palvelinryhmiä, joilla on tietyt affiniteetti- ja anti-affiniteettisäännöt. Voit määrittää, että tiettyä ryhmää käytetään palvelinta käynnistettäessä.
Affiniteettisäännöllä varustettu palvelinryhmä takaa, että kaikki ryhmässä käynnistetyt virtuaalikoneet käynnistetään samalla fyysisellä palvelimella. Anti-affiniteettisäännöllä varustettu palvelinryhmä takaa, että kaikki ryhmän palvelimet käynnistetään eri fyysisillä palvelimilla. Jos sopivaa fyysistä palvelinta ei löydy, virtuaalikonetta ei luoda.
openstack server group create --policy <affinity or anti-affinity> <server group name>
Tämän jälkeen voit käynnistää virtuaalikoneita ryhmässä määrittämällä ryhmän tunnisteen hint-parametrissa.
openstack server create --flavor <flavor> --image <image id> --key-name <key name> --hint group=<server group id> <name for machine>
Tarkista, mitkä virtuaalikoneet kuuluvat palvelinryhmään:
openstack server group show <server group id>