Módosítások

Cloud for Education

3 211 bájt hozzáadva, 2020. november 16., 14:21
a
C4E (Openstack) Publikus API
A táblázatban látható root lemezek mérete természetesen a virtuális gép létrehozásakor változtatható.
 
===Régiók - Zónák===
A C4E nemrég véghezvitt bővítései miatt a felhasználóknak lehetőségük van földrajzilag elosztani (Régiók) és géptermen belül izolálni (Zónák) az igényelt erőforrásokat.
 
Jelenleg két régiónk van: "RegionOne" és "RegionTwo".
 
Mindkét fenti régióban elérhető 2-2 zóna: "Zone1" és "Zone2"
===Felhasználói felület bemutatása===
Az általunk megépített rendszerben végül két fajta hálózat kapott helyet:
* Az egyik típus, amit Flat néven kereszteltünk el. Ennek lényege, hogy a létrehozott virtuális gépek egy előre meghatározott publikus IP tartományból DHCP segítségével felvesznek egy címet, majd a csomagok haladásának iránya közvetlenül a compute gépek felé történik, ezzel nem terhelve a network gépeket.
** <small>A '''Flat1''' névre keresztelt hálózathoz tartozó szabad IPv4 címek száma '''nagyon kevés''', ezért kérjük a felhasználóinkat, hogy lehetőség szerint, amennyiben FLAT típusú hálózatot szeretnének hozzáadni az újonnan létrehozott virtuális gépekhez, a '''Flat2 és Flat3''' nevű hálózatot válasszák. Megértésüket és együttműködésüket köszönjük!</small>
* A másik hálózati típus, amely az Smart nevet kapta. Ez a hálózati típus nagyban különbözik az előző megoldástól, mivel ennél a típusnál a felhasználóknak lehetőségük van egy, vagy akár több privát hálózat, valamint egy vagy több ezekhez tartozó virtuális router létrehozására. A virtuális router-hez lehetőség van hozzárendelni IP címeket a privát, valamint egy publikus hálózatból is és ennek következtében a virtuális gépek forgalmában egy úgynevezett hálózati címfordítás történik. Ennek előnye az előző megoldással szemben, hogy kevésbé IP cím pazarló a publikus címek tekintetében, valamint a neutron funkciójának köszönhetően képes több network gép között tartalékolt lenni.
====External (L3) hálózat létrehozása====
A „Project” menüpont alatt található „Network” lehetőséget választva láthatók a hálózattal kapcsolatos lehetőségeink. A Segédlet L3 (SMART) hálózat létrehozásához első lépésként a „Networks” lehetőséget kell választanunk, ahol láthatók a már korábban létrehozott hálózatok, valamint itt érhetők el a Flat típusú hálózatok is, amennyiben egy admin jogosultságú felhasználó megosztott, vagy a projekthez rendelt egy ilyen típusú hálózatot. Új hálózat létrehozásához a jobb felső sarokban válasszuk a „Create Network” lehetőséget, majd a következő képeken látható módon töltsük ki a szükséges mezőket.az alábbi oldalon tekinthető meg:
[[File:Create_network1.png|727px|hálózat létrehozása]] [[File:Create_network2.png|723px|hálózat létrehozása]] A fentebb látható menüben az átjáró IP címét nem kötelező megadni, ilyenkor automatikusan a megadott tartomány első IP címét fogja átjárónak beállítani. Ebben az esetben 192.168.66.1 címet. [[File:Create_network3.png|723pxCloud for Education/network l3|L3 hálózat létrehozása]] Ha minden szükséges és kötelező mezőt kitöltöttünk, akkor a „create” gombra kattintva a rendszer létrehozza a hálózatot a kívánt paramétereinkkel, amelyet a Networks menüpont alatt megtekinthetünk.
====Router létrehozása és Interfészek hozzáadása====
A hálózat sikeres elkészítése után szükség van egy virtuális router létrehozására, amelyen keresztül fog a hálózati címfordítás történni. A router létrehozása a következő képeken látható
[[File:Create_router1Create_router.png|727px|Router létrehozás]]
A Virtuális router létrehozásánál az „External Network”, azaz a külső hálózatok listájánál a rendelkezésre álló Smart hálózatok közül van lehetőség választani. Miután ez megtörtént, a router-hez szükség van egy másik interfész hozzáadására is, az előzőleg létrehozott belső hálózatból. Ennek hozzáadásához a „Routers” menüpontot választva, a forgalomirányítók listájából válasszuk ki az előbbiekben létrehozott „Internal_Router”„Internal-Router”-t, majd az „Interfaces” fülön az „Add Interface” lehetőséget választva, adjunk hozzá egy interfészt a következő ábrán látható módon.
[[File:Create_router2Add_if.png|723px|Router létrehozás]]
====Security group-ok====
A lenti példa szemlélteti, hogy hogyan engedélyezhetjük az SSH és ICMP forgalmakat minden külső hálózatból:
[[File:Sec_gr1Add_rule1.png|723px|Szabály létrehozása]]
[[File:Sec_gr2Add_rule2.png|723px|Szabály létrehozása]]
[[File:Sec_gr3Sec_grp.png|723px|Szabály létrehozása]]
====LBaaS====
A C4E az "OpenStack Octavia" alapú LoadBalancer-t kínálja a felhasználóknak, HAProxy backenddel.Az LBaaS funkció jelenleg nem elérhetőesetleges titkosított kapcsolatok terminálásakor a "Barbican" tanúsítvány manager eszköz biztosítja a privát kulcsok biztonságos tárolását. A terheléselosztó konfigurációs beállításai két fajta módon tehető meg: 1. Horizon grafikus felületen a NETWORK menüpont alatt, 2. CLI használatával, amelyhez a standard OpenStack CLI eszközön felül az alábbi csomagok telepítése is szükséges. (Debian/Ubuntu rendszeren)<pre>$ apt install python-barbicanclient python3-octaviaclient</pre> [[Cloud for Education#C4E_.28Openstack.29_Publikus_API|Általános CLI használati információk]] '''Rövid ismertető:''' [[File: Octavia-component-overview.jpg |724px|Octavia component overview]]
====FWaaS====Az Octavia LBaaS rendszer az alábbi főbb komponensekből áll: Egy másik hálózati lehetőség a tűzfal alkalmazása. Alapértelmezetten a már bemutatott Security Group felel a * Amphorae: Különálló virtuális gépek elérhetőségének szabályozásáról, azonban lehetőségünk van amik egy sokkal részletesebben szabályozható technika alkalmazására is. A tűzfal működéséhez fontosUbuntu alapú Amphora image-ből példányosodnak, hogy mikor a Default Security Groupfelhasználó új terheléselosztót hoz létre** A sablon image-ban engedélyezni kell ből létrehozott virtuális gépek nem számítanak bele a ki és bemenő forgalmat bárhonnanfelhasználói kvótába, azok flavor-je specifikus, mivel a korlátozásokat és a konkrét szabályokat belépni rájuk a tűzfal modulban vehetjük fel.felhasználó nem tud * Octavia&Barbican APIA tűzfal létrehozásához és konfigurálásához válasszuk a „Network” menüpont alatt található „Firewalls” lehetőséget. Mint ahogy * Controller Worker (az API kérések alapján vezérli a menüstruktúrában is látszik, a tűzfal három részből tevődik össze:háttérkomponenseket)* Firewall RulesHealth Manager (figyeli a már létrehozott "Amphorae" virtuális gépeket, és azok állapotát, hiba esetén failover műveleteket hajt végre)* Firewall PoliciesHousekeeping Manager (a hibás/törölt maradványok eltávolításáért felel)* FirewallsDriver Agent (információkat fogad az egyes amphora példányokon futó Haproxy drivertől) Első lépésként létre A fentiek közül a felhasználónak csupán az API-val kell hoznunk a szabályokatkommunikálnia, majd akár a szabályokat egy csoportba kell foglalniHorizon felületén, végül létre kell hozni egy tűzfalat, majd hozzárendelni akár a szabálycsoporthoz CLI-ből szeretné létrehozni és managelni a virtuális routerLoadBalancer-hez. Szabályok létrehozásához válasszuk a „Firewall Rules” lehetőséget, majd az alábbi ábrán látható módon hozzunk létre egy minden befelé jövő forgalmat tiltó szabályt egy előre létrehozott virtuális gépre nézve, amely példánkban a 192.168.66.14 címet kaptat.
'''Segédlet a létrehozáshoz példákkal illusztrálva:'''* Példa [[File:Fwaas1.pngCloud for Education/LBaaS gui|726pxGUI]] igénybevételével* Példa [[Cloud for Education/LBaaS cli|Szabály létrehozásaCLI]]használatával
'''Működés/Hibatűrés:'''
A szabály létrehozása után szükség van egy csoportrendszerrerendszer alapvető elosztottsága miatt nincs központi "leállás", minden egyes terheléselosztó pont annyira stabil, amely mint a szabályokat fogja tartalmazniC4E-ben futó többi virtuális gép. Ehhez válasszuk a „Firewall Policies” lehetőségetAlapvetően egy adott projekt egy adott terheléselosztójához tartozó amphora image hibája (virtuális gép leáll, majd az alábbi ábrákon látható módon hozzuk létre lefagy) esetén a csoportot és adjuk hozzá az előbb létrehozott mindent tiltó szabályt.[[File:Fwaas2Health Managerre hagyatkozunk.png|724px|Szabályrendszer létrehozása]]
[[File:Fwaas3A gép újraindításán túl akár egy '''új amphorae virtuális gép'''et is létre tud hozni a háttérben, és a már '''meglévő konfiguráció'''t alkalmazni rá.Arra azonban figyelni kell, hogy egy újraindítás, vagy egy új image létrehozása néhány perces kiesést jelenthet az adott projekthez tartozó terheléselosztó szolgáltatásban, de ilyenre alapvetően nem számítunk.png|723px|Szabály hozzárendelés]]
Fontos, hogy egy korábbi tervezett leállításkor (ahol kézzel többször leállítottuk a már meglévő terheléselosztókat) a Health Manager sajnálatos módon nem tudta a többszöri leállítást és újraindítást (egymásra futva) megfelelően kezelni.
Itt a karbantartás végén adminisztrátori beavatkozásra volt szükség, kézzel kellett failovert kérni minden terheléselosztóra.
Erre a forgatókönyvre se számítunk üzemszerű használat mellett (maximum egy esetleges tervezett leálláskor, nem várt komolyabb hiba javításakor) de erre minden esetben nagy figyelmet fordítanak a karbantartást/javítást végző kollégák.
A szabályok érvényre juttatásához szükség van egy tűzfal létrehozására'''Amennyiben beragadt/hibás terheléselosztót észlelnek, amelyhez hozzárendeljük a szabályrendszerünket és a virtuális átjárónkat. Ezt az alábbi módon hozzuk létre.[[File:Fwaas4.png|728px|Tűzfal létrehozása]]kérjük forduljanak ügyfélszolgálatunkhoz!'''
[[File'''Terheléselosztó törlése:Fwaas5.png|728px|Router hozzárendelés tűzfalhoz]]'''
Sajnálatos módon előfordulhat, hogy egy-egy terheléselosztó nem törölhető és hibaüzenet figyelmeztet erre. ('''CLI-n van rá force opció!''')
Ezzel elértükEnnek a megoldása, hogy minden bejövő forgalmat eldobjon "szét kell szedni" a tűzfalunk. Ha engedélyezni szeretnénk egy befelé irányuló kapcsolatotterheléselosztót, példánkban az SSH protokolltamelyhez a következő lépésekre van szükség:* törölni kell a pool-t, akkor első lépésben a már megismert módon hozzunk létre egy szabálytlistener-t, de ezúttal engedélyezőt.a monitort[[File:Fwaas6.png|724px|További szabály létrehozása]]* majd végül magát a terheléselosztót
====FWaaS====
Az FWaaS funkció jelenleg nem elérhető.
A szabály létrehozása után hozzá kell adni a létező szabályrendszerhez===Lemez típusok=== {| class="wikitable" border="1" |- | Lemez típus| Sebesség| Méret| Technológia| Javasolt használat|- | SDS-Nearline| +| +++| Skálázódó szoftveres tároló| Tömeges adattárolás, alacsony kihasználtságú VM lemeze. A szabályok értelmezése lineáris|- | SDS-SAS| ++| ++| Skálázódó szoftveres tároló| Általános célú adattárolás, tehát minél később található meg a listában egy adott szabályváltozó adatok, a csomag annál később jut el odáignormál kihasználtságú VM lemeze. Abban az esetben|-| SAN-Nearline| +| +++| Klasszikus SAN storage| Tömeges adattárolás, ha a lista bármely szabálya illeszkedik az adott csomagraalacsony kihasználtságú VM lemeze.|- | SAN-SAS| ++| ++| Klasszikus SAN storage| Általános célú adattárolás, az adott szabály függvényében a csomag eldobásraváltozó adatok, vagy átengedésre kerülnormál kihasználtságú VM lemeze. Ennek értelmében a következő ábrán látható módon szúrjuk be a szabályrendszerbe a létrehozott szabályt|- | SAN-SSD| +++| +| Klasszikus SAN storage| Gyakran változó adatok, magas kihasználtságú VM lemeze.[[File:Fwaas7.png|726px- |Szabály beszúrása]]}
==Virtuális gép indítása==
Az előfeltételek teljesítése után elkészíthető a kívánt virtuális gép. Ehhez válasszuk a bal oldali menüből a „Compute”, azon belül pedig az „Instances” lehetőséget, majd a bal jobb felső sarokban válasszuk a „Launch Instance” gombot és az alábbi képeken látható módon készítsük el a gépet.
[[File:Launch1===VM elenevezése===Első lépésben válasszunk egy nevet az újonnan létrehozni kívánt virtuális gépnek, majd adjuk ezt meg az "Instance Name" mező értékének.png|726px|VM indítása]]
===Kulcspár és security group társítása===A következő ábrán látható módon a [[File:Li1.png|726px|VM létrehozásakor kiválaszthatjuk az előzőleg feltöltött publikus kulcsunkat, vagy feltölthetünk egy teljesen újat is a létrehozás közben, valamint megadhatjuk, hogy melyik Security Group vonatkozzon a virtuális gépünkre.Name]]
===Image választás===A "Next" gombra kattintva, a VM forrásával kapcsolatos beállításokat szükséges elvégezni. A következő ábrán látható módon válasszunk ki a rendelkezésre álló lemezképfájlok közül egyet, valamint állítsuk be a kívánt lemez méretet. [[File:Li2.png|726px|VM Source]] ===Flavor választás=== [[File:launch2Li3.png|726px|SecurityGroup kiválasztásaVM Select flavor]]
===Hálózat kiválasztása===
Következő lépésként meg kell adni a használni kívánt hálózatot. Ez legyen a példában létrehozott „Internal” hálózat.
[[File:launch3Li4.png|726px|Hálózat kiválasztásaVM Select network]] ===Security group társítása===Az ábrán látható módon megadhatjuk, hogy mely Security Group(-ok) vonatkozzon a virtuális gépünkre. [[File:Li5.png|726px|VM Select sec_grp]] ===Publikus kulcs társítása===Az ábrán látható módon a VM létrehozásakor kiválaszthatjuk az előzőleg feltöltött publikus kulcsunkat, vagy feltölthetünk egy teljesen újat is a létrehozás közben.
[[File:Li6.png|726px|VM Select pub_key]]
A „Launch” lehetőséget választva elkezdhetjük a virtuális gép létrehozását. A folyamat elkészültekor az „Instances” fül alatt láthatjuk az eddig létrehozott virtuális gépeinket és azok állapotát.
 [[File:launch4Li7.png|726px|Létrehozott VM lista]]
A folyamat elvégzése után elkészült az első virtuális gép, amelynek elérése több féle módon történhet.
* A virtuális géphez hozzárendelünk egy publikus IP címet, majd a virtuális router segítségével háttérben a neutron 1:1 NAT alkalmazásával ennek megfelelően konfigurálja a virtuális routert, és így távolról is bejelentkezhetünk rá, Linux disztribúció esetén például SSH, Windows esetén RDP szolgáltatás segítségével.
* A weboldalba ágyazott VNC konzol segítségével vezérelhetjük gépünket, azonban egyes előre gyártott lemezképfájlból készített virtuális gépek nem támogatják csak a kulcsos autentikációt, így sajnos ezeknél a gépeknél ez a módszer nem elérhető.
Az előzőekben létrehozott Ubuntu operációs rendszerrel ellátott virtuális gépünk a második lehetőséget nem támogatja, így szükségünk van a gép eléréséhez egy publikus IP címre, amelynek allokálása és géphez rendelése a következőképpen történik.
Első lépésben válasszuk a „Compute” „Project” alatt található „Access & Security” „Network” lehetőséget, majd azon belül a „Floating IPs” menüpontot és kattintsunk a jobb felső sarokban lévő „Allocate IP To Project” gombra. A megjelenő ablakban ki kell választani a kívánt Smart hálózatot, amelyből a publikus IP címet szeretnénk használni (Ez nyilván az a hálózat, amelyiket a router átjárójának is választottunk), majd az „Allocate IP” lehetőséget kell választani.
[[File:Allocate1Allocate_ip1.png|726px|Floating IP igénylése]]
A következő ábrán látható a Projekthez allokált IP címek listája, amelyek következő lépésként hozzárendelhetők 1-1 virtuális géphez. Ehhez válasszuk az ábrán látható IP cím mellett található „Associate” lehetőséget, majd válasszuk ki a listából azt a virtuális gépet, amelyiken az IP címet használni szeretnénk.
[[File:Allocate2Allocate_ip2.png|726px|Rendelkezésre álló IP címek listája]]
 [[File:Allocate3Allocate_ip3.png|726px|Floating IP géphez rendelése]]
A sikeres hozzárendelés után a gépünk már rendelkezik publikus IP címmel, amelyen keresztül külső hálózatokból is elérhetjük a gépet, amennyiben ezt a Security Group-ban, vagy a Firewall alatt engedélyezzük.
# Igennel kell válaszolni, hogy automatikusan elinduljon az iSCSI a továbbiakban
# A megnyitott ablakban a "Konfiguráció" fül alatt a "Kezdeményező neve:" részhez be kell állítani az IQN-t, amit a storage igénylésekor megadtunk (ehhez az alatta lévő módosítás gombra kell kattintani)
 
===Virtuális gépek migrálása Régiók között===
A migráláshoz CLI elérés, és elegendő tárhely szükséges! A jobb teljesítmény érdekében a migrálást végző gép akár a felhőben is futtatható, így nem limitál az otthoni sávszélesség.
 
# A virtuális gépről először snapshot-ot kell készíteni
# Az elkészült snapshot-ból újra létre kell hozni egy volume-ot (virtuális gép nélkül)
# A létrejött új volume-nál megjenik egy opció: Upload to Image (ez a diszk méretétől hosszú ideig is eltarthat!)
# A létrejött image innentől letölthető a CLI-n keresztül:<pre> glance image-download --file $FILENAME $UUID</pre>
# A letöltött file-t például így kell feltölteni: <pre>openstack image create --min-disk 5 --disk-format raw --container-format bare --file /tmp/valami.raw --property murano_image_info='{"title": "Migralt virtualis gep", "type": "linux"}' NewVM </pre>
== C4E (Openstack) Publikus API ==
Amennyiben az IP valóban hazai cím, és még nem szerepel a tűzfalban, rövid távon permanensen az egész alhálózat számára elérhetővé tesszük az API-t.
<big> '''FONTOS!''' </big> Minden itt leírt dokumentáció a C4E openstack jelenlegi (MitakaRocky) verziójához készült!
Kialakításra került a C4E publikus API elérése. Ahhoz, hogy a felhasználók ezt igénybe tudják venni, az alábbiak szükségesek:
* Első lépésben küldeni Meg kell egy levelet az alábbiakkal nyitni a '''cloud@: https://keystone.c4e.niif.hu''' címre:/regsite/apipwgen oldalt.** C4E projekt(ek) neveÚj jelszó beállítását kérni.** C4E usernév (ez szinte biztosan az eppn)A kapott jelszót felírni.** Privát kezelésben lévő belföldi mobiltelefon száma, ahova SMS formájában küldjük el az eléréshez szükséges Ajánlott a kapott jelszót A levélnek arról az e-mail címről kell származnia, ami az adott intézmény IdP-je adott át utólag a C4Ewebfelületen (vagy CLI-nek az eppn mellettből) módosítani!
=== Kezdő lépések: környezet kialakítása (Debian/Ubuntu) ===
Első körben hozzá kell adni a repository-t az apt konfigurációjához, frissíteni a csomaglistát, majd telepíteni a szükséges csomagokat:
Debian:Ubuntu 18.04 (ajánlott)
<pre>
echo "deb http://http.debian.net/debian jessieadd-backports main" >>/etc/apt/sources.list.d/openstack.list-repository cloud-archive:rocky
apt-get update
apt-get install python-openstackclient
</pre>
Ubuntu (A 16.04-es verziótól Mitaka verziót tölt le az eredeti konfigurációval)Debian Buster:
<pre>
curl http://osbpo.debian.net/osbpo/dists/pubkey.gpg | sudo apt-key add -
echo "deb http://osbpo.debian.net/osbpo buster-rocky-backports main" >>/etc/apt/sources.list.d/openstack.list
echo "deb http://osbpo.debian.net/osbpo buster-rocky-backports-nochange main" >>/etc/apt/sources.list.d/openstack.list
apt-get update
apt-get install python-openstackclient
* Az <big>''' Access & Security -> API Access '''</big> oldalon a <big>''' Download OpenStack RC File v3 '''</big> opciót választani
* Az rc file-t a kezelő gépre juttatni (ha nem ott lenne)
* <big>Fel kell venni</big> az rc file-ba az alábbi sort: '''export OS_VOLUME_API_VERSION=3'''
* Az rc file-ban specifikálni <big>kell</big> a régiót, pl.: '''export OS_REGION_NAME="RegionTwo"''' (vagy RegionOne)
A harmadik lépés, hogy betöltjük az rc file-t, majd a jelszó beírása után elérhetővé válik a C4E API

Navigációs menü