V tomto návode si ukážeme, ako vo vašom OpenStack tenantovi (VDC) prideliť virtuálnemu serveru (VM) statickú IP adresu z predvolenej siete (VXLAN sieť) cez webové rozhranie Horizon. Výhodou statickej IP je, že sa nemení po redeploymente VM, čo môže byť dôležité pre aplikácie, ktoré vyžadujú stabilnú IP adresu.
Pre metódu cez CLI odporúčame najskôr pozrieť tento návod https://www.websupport.sk/podpora/kb/pristup-a-manazment-cez-cli-do-vdc v ktorom sa dozviete, ako manažovať VDC pomocou príkazového riadka.
Čo je predvolená (VXLAN) sieť?
Každý nový VDC projekt má vytvorenú predvolenú privátnu sieť, ktorá používa technológiu VXLAN (Virtual Extensible LAN). Ide o izolovanú virtuálnu sieť medzi vašimi VM. VM v tejto sieti štandardne získavajú IP adresu pomocou DHCP.
Prečo nepoužiť DHCP?
DHCP prideľuje adresy dynamicky – to znamená, že IP adresa sa môže zmeniť po redeploymente VM alebo iných operáciách. Ak potrebujete stabilnú IP (napr. pre DNS záznamy, firewall pravidlá, alebo závislosti medzi službami), je vhodné použiť statickú IP adresu.
Web GUI
Vytvorenie nového portu
Po prihlásení sa do webového dashboardu VDC sa presunieme do časti Network → Networks a klikneme na default-network, čo je sieť v ktorej chceme vytvoriť nový port. viď obrázok č. 1.

Následne sa preklikneme v hornom menu na sekciu Ports. Uvidíme zoznam aktuálne vytvorených portov a ich priradených IP a MAC adries, a taktiež či daný port je priradený k nejakej VM (stĺpec Attached Device). V prípade, že nie je port pridelený, bude mať hodnotu Detached a teda je dostupný pre priradenie k novej alebo existujúcej VM. Ak chceme zistiť k akej VM je existujúci port pridelený, klikneme na jeho meno, a následne v novom okne uvidíme túto informáciu v časti Attached Device, Device ID. Ak chcem vytvoriť nový port, v hlavnom menu klikneme na tlačidlo CREATE PORT, viď obrázok č. 2.

V novom okne, vyplníme sekcie Name, t.j meno portu, sekciu Specify IP address or subnet, zmeníme na “FIXED IP ADDRESS”, a následne do sekcie Fixed IP Address, zadáme (voľnú) IP adresu, ktorú chceme prideliť novo vytvorenému portu. Keď všetko vyplníme, klikneme na CREATE, viď obrázok č. 3.

Kedže už máme vytvorený port (v našom prípade s IP adresou 10.1.1.66), v nasledujćej sekcii, si ukážeme, ako pripojíme k existujúcej VM ale aj ako vytvoriť novú VM s daným portom.
Priradenie portu k existujúcej VM
Presunieme do časti Compute → Instances a klikneme na šípku pri VM ku ktorej chceme priradiť náš port. V našom prípade chceme priradiť port (port-66, IP 10.1.1.66) k VM s názvom gitlab, viď obrázok č. 4.

Následne nám vyskočí okno, kde zmeníme sekciu The way to specify an interface na BY PORT a v sekcii PORT vyberieme požadovaný port, v našom prípade port s menom “port-66”, kt. Má IP 10.1.1.66 a úkon ukončime kliknutím na ATTACH INTERFACE, viď obrázok č. 5.

Priradenie portu k novej VM
Ak by sme chceli použiť náš port, pri vytváraní novej VM, viď obrázok č. 6.

V tomto prípade stačí preskočiť sekciu Networks, resp. nevybrať sieť default-network, a v sekcii Network Ports vybrať náš port, viď obrázok č. 7.

CLI
Pri použití rozhrania CLI predpokladáme, že používateľ ovláda základné znalosti práce so shellom. Preto si v tomto návode ukážeme len tie najdôležitejšie príkazy, ktoré sú potrebné na navýšenie diskového priestoru cez príkazový riadok.
Vytvorenie nového portu
V našom príklade vytvoríme port s názvom port-77, ktorý bude mať priradenú statickú IP adresu 10.1.1.77.
Najprv potrebujeme zistiť network_id a subnet_id
openstack network show default-network
Následne vytvoríme port
openstack port create --network <network_id> --fixed-ip subnet=<subnet_id>,ip-address='<id_address>' <port_name>
openstack port create --network 2c390f94-f88c-48e6-b298-19e80f89471a --fixed-ip subnet=b726d692-d037-4e43-ac23-646fca0c501f,ip-address='10.1.1.77' port-77
Priradenie portu k existujúcej VM
V našom príklade priradíme port-77 k VM s názvom gitlab.
openstack server add port <server_id> <port_id>
alebo
openstack server add port <server_name> <port_name>
openstack server add port gitlab port-77
Priradenie portu k novej VM
Dôležitý je argument --port
.
openstack server create --flavor --port <port_name> <server_name>
Keďže príkaz openstack server create
je komplexnejší, odporúčame si najskôr pozrieť jeho dostupné argumenty cez:
openstack server create -h