Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

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ää.

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>

Ulkoinen dokumentaatio

Laajempi OpenStack CLI -viite.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta