Jetpack
A Jetpack a fürt minden csomópontján szükséges. Az Azure CycleCloud automatikusan telepíti minden olyan virtuális gépen, amely egy fürt csomópontjává válik. A Jetpack három fő funkciót biztosít:
- Csomópontkonfiguráció – A CycleCloud szkriptek és Chef használatával automatizálja a kiépített virtuális gép konfigurálását egy működő fürtcsomóponton. A Chef-ügyfél és a virtuális gép konfigurálásának szükséges erőforrásai a Jetpackbe vannak beágyazva.
- Elosztott szinkronizálás – A Jetpack kezeli a csomópont és a CycleCloud alkalmazáskiszolgáló közötti kommunikációt. Ez lehetővé teszi, hogy a CycleCloud monitorozza a kiépítési virtuális gépek állapotát, és szinkronizálja a fürt több csomópontjának vezénylését.
- HealthCheck – A Jetpack a HealthCheck használatával határozza meg a virtuális gépek állapotát a nem megfelelő állapotú virtuális gépek leállítása érdekében.
Jetpack telepítése
A Jetpack telepítő gyorsítótárazása az Azure Storage-fiókban történik, amikor először indít el fürtöt a CycleCloud használatával. A fürt virtuális gépeinek kiépítésekor a rendszer a rendszerindítási folyamat részeként végrehajt egy egyéni szkriptbővítményt , amely letölti a Jetpack telepítőt az Azure Storage-gyorsítótárból, majd telepíti azt a virtuális gépre.
A Jetpack telepítője:
- A Jetpack-fájlokat egyetlen könyvtárfára csomagolja ki:
- Windows: C:\cycle\jetpack
- Linux: /opt/cycle/Jetpack
- Rendszer init indítási szkriptjeinek létrehozása, amelyek fürtcsomópontként konfigurálnak egy virtuális gépet
- A HealthCheck szolgáltatás telepítése
- Telepíti a Jetpack parancssori eszközt a következőre:
- Windows: C:\cycle\jetpack\bin\jetpack
- Linux: /opt/cycle/jetpack/bin/jetpack
- Udev-szabályok létrehozása Linuxon
- Beállítja a környezeti változót
CYCLECLOUD_HOME
Megjegyzés
Ha a Jetpack előre telepítve van a lemezképen, az egyéni szkriptbővítmény nem telepíti újra a Jetpacket. Ehelyett egy inicializálási lépés lesz futtatva, amely ellenőrzi a csomópont és a CycleCloud közötti kapcsolatot, és elindítja a és jetpackd
a healthcheck
szolgáltatásokat, mielőtt folytatná a csomópont konfigurálását.
Jetpack alkönyvtárak
Címtár | Description |
---|---|
bin |
Hasznos bináris fájlok és szkriptek. |
config |
Felhasználó által definiált és fürtözött konfigurációs fájlok és szkriptek. |
logs |
A fürtök összekapcsolásával és a csomópont konvergensítésével létrehozott naplók különösen érdekesek a chef-client.log , amely az átszervezett Chef-receptek eredményeit tartalmazza. |
run |
A rendszer által létrehozott futtatókörnyezeti fájlok. Nem javasoljuk, hogy közvetlenül hozzáférjen ezekhez a fájlokhoz. |
system |
Belső fájlok. Nem javasoljuk közvetlenül a könyvtárban található fájlok használatát, mivel azok jelentősen változhatnak a kiadásról a kiadásra. |
Állapotellenőrzés
A HealthCheck szolgáltatás felhasználó által definiált szkripteket hajt végre a virtuális gép fürtcsomópontként való jelenlegi életképességének meghatározásához. További információért tekintse meg a HealthCheck dokumentációját.
Jetpack parancssori eszköz
A Jetpack parancssori eszköz hasznos alparancsokat biztosít az aktuális virtuális gép kezeléséhez és az Azure CycleCloud használatához.
Parancs | Leírás |
---|---|
jetpack autoscale |
Automatikusan skálázhatja azt a fürtöt, amelyhez ez a csomópont tartozik. |
jetpack config |
Konfigurációs érték lekérése. |
jetpack converge |
Futtass ki egy Chef-konvergenst. |
jetpack download |
Bloberőforrás letöltése egy azure storage-beli projektből. |
jetpack keepalive |
Késlelteti a rendszer leállását a HealthCheck szolgáltatással. |
jetpack log |
Üzenet naplózása a CycleCloud-fürt felhasználói felületén. |
jetpack run_on_shutdown |
Adjon hozzá egy szkriptet, amelyet a csomópont leállítása előtt kell meghívni. |
jetpack send |
Küldjön egy tetszőleges AMQP-üzenetet a CycleCloud-kiszolgálónak. |
jetpack shutdown |
Kérje le a virtuális gép CycleCloud általi leállítását. |
jetpack test |
Futtassa a virtuális géphez rendelt projektekhez társított teszteket. |
jetpack users |
Listázhatja azokat a felhasználókat, amelyeket a CycleCloud kezel ezen a virtuális gépen. |
jetpack report_issue |
Naplófájlok archiválása virtuális gépről az Azure Storage-ba |
jetpack automatikus skálázás
jetpack autoscale
beállítja annak a fürtnek az automatikus skálázási céljait, amelyhez a csomópont tartozik. A fürtök skálázhatók magok, példányok száma vagy egyéni definíciók szerint.
100 magos skálázás:
jetpack autoscale --corecount=100
A "gpu" csomópontarray 5 csomópontra való skálázása:
jetpack autoscale --instancecount 5 --name=gpu
Az automatikus skálázás testreszabásához json-fájlt kell írni a skálázni kívánt nodearray definíciót tartalmazó lemezre. 100 magos méretezés:
[
{
"Name": "execute",
"TargetCoreCount": 100
}
]
jetpack autoscale --file=custom-autoscale.json
jetpack-konfiguráció
jetpack config
beolvassa a Virtuális gépre a CycleCloud által átadott információkat. A következőket teszi elérhetővé:
- az Ohai-on keresztül elérhető összes rendszertulajdonság
- a virtuális gép Azure-metaadatainak egy részhalmaza
- információk a szülő CycleCloud-fürtről.
jetpack konvergens
jetpack converge
Letölti a csomóponthoz társított összes CycleCloud-projektet, és elindít egy Chef-konvergens folyamatot, amely futtatja a csomóponthoz tartozó Chef-recepteket és cluster-init szkripteket.
jetpack letöltés
jetpack download
Egy projekttel feltöltött blobot tölt le a csomópontra. Meg kell adnia azt a projektet, amelyhez a blob tartozik.
A projekt részeként feltöltött blob big-file.zip letöltése az example-project
aktuális könyvtárba:
jetpack download --project example-project big-file.zip .
jetpack keepalive
jetpack keepalive
a HealthCheck szolgáltatással együttműködve késlelteti a virtuális gép leállását egy sikertelen HealthCheck miatt. A felmondás határozott időre vagy határozatlan időre is késleltethető. Alapértelmezés szerint a leállítás egy órát késik.
A rendszer leállításának késleltetése egy órával:
jetpack keepalive
A rendszer leállításának késleltetése hat órával:
jetpack keepalive 6h
A HealthCheck szolgáltatás teljes letiltásához, azaz határozatlan időre történő késleltetéshez:
jetpack keepalive forever
Megjegyzés
Windows rendszerű virtuális gépeken csak a forever
HealthCheck beállítás érhető el
jetpack-napló
jetpack log
naplóüzenetet küld vissza a CycleCloudnak. Az üzenet megjelenik az alkalmazáskiszolgáló naplójában (általában az /opt/cycle_server/cycle_server.log), a fő eseménynaplóban és a Fürt felhasználói felületén.
Minden üzenet két tulajdonsággal rendelkezik: szint és prioritás.
A level tulajdonság az üzenet típusát jelzi. Az érvényes szintek a következők: "info", "warn" és "error". A szint nem jelzi egy adott üzenet fontosságát – egyes hibák például triviálisak, egyes tájékoztató üzenetek pedig kritikusak.
A prioritás az üzenet fontosságát jelzi. Az érvényes prioritási értékek a következők: "alacsony", "közepes" és "magas". Csak a közepes vagy magasabb prioritású üzenetek jelennek meg a Fürt felhasználói felületén, hogy elkerülje az alacsony prioritású üzeneteket tartalmazó lap elárasztását.
A Fürt felhasználói felületén megjelenő tájékoztató naplóüzenet küldése:
jetpack log 'system is now ready'
Alacsony prioritású naplóüzenet küldése, amelyet nem szeretne megjeleníteni a Fürt felhasználói felületén:
jetpack log 'system is now ready' --priority low
Alapértelmezés szerint a hibaszinttel rendelkező üzenetek prioritása magas. Hibaüzenet küldése:
jetpack log 'the machine cannot process jobs' --level error
Triviális hibaüzenet küldése:
jetpack log 'the machine cannot process jobs' --level error --priority low
jetpack run_on_shutdown
jetpack run_on_shutdown
regisztrál egy bash-szkriptet, amelyet a csomópont leállítása előtt kell meghívni.
A parancs argumentumként veszi a szkript abszolút elérési útját.
Ha a csomópontot az Azure leállítja, ha a Leállítási értesítések engedélyezve vannak, a Jetpack értesítést kap a leállításról, és megkísérli futtatni a szkriptet a csomópont leállítása előtt.
A csomópontoknak engedélyeznie kell a megszüntetési értesítéseket az engedélyezéséhez run_on_shutdown
.
jetpack run_on_shutdown /tmp/example.sh
Ez a parancs Windows-csomópontok esetében nem támogatott.
jetpack küldés
jetpack send
AMQP-üzenetet küld a CycleCloudnak. Ez egy speciális parancs, amely nem ajánlott, hacsak nem fejleszt beépülő modulokat a CycleCloudhoz.
Tetszőleges sztringeket vagy fájlokat küldhet a megadott AMQP-útválasztási kulcsokkal.
jetpack leállítása
jetpack shutdown
kéri, hogy a CycleCloud állítsa le a csomópontot. A parancsnak megadhatóak a beállítások a leállítási kérelem okának (tétlen vagy nem kifogástalan állapotú) megadásához, valamint a csomópont leállításának módjához (leállítás vagy felszabadítás).
Nem kifogástalan állapotú csomópont leállítása:
jetpack shutdown --unhealthy
A csomópont felszabadítása:
jetpack shutdown --deallocate
jetpack-teszt
jetpack test
futtatja a csomóponthoz rendelt projektekben található teszteket, és az eredményeket stdoutra nyomtatja.
jetpack-felhasználók
jetpack users
felsorolja azokat a felhasználókat, amelyeket a CycleCloud kezelni fog a csomóponton. Ez a lista idővel változhat a felhasználók fürthöz való hozzárendelése és eltávolítása során.
A csomóponthoz rendelt felhasználók felhasználóbarát nyomtatásának lekérése:
$ jetpack users
Username: test-user
Full Name: Test User
UID: 10201
Is Admin: True
Is Owner: True
Szkriptbarát JSON-kimenet lekérése:
$ jetpack users --json
[
{
"fullName": "Test User",
"isAdmin": true,
"isOwner": true,
"name": "test-user",
"publicKeys": [
"ssh-rsa public-key-goes-here\n"
],
"uid": 10201
}
]
jetpack report_issue
jetpack report_issue
archiválja a naplókönyvtárakat a virtuális gépről, opcionálisan feltölti őket az Azure Storage-ba, és létrehoz egy aláírt URL-címet a külső hozzáféréshez. A rendszer feltölti a naplókat a csomópont Lockerje által hivatkozott Azure Storage-fiókba. Ha az Azure Storage-ban aláír egy archívumot, az eredményül kapott SAS-jogkivonat csak olvasási hozzáféréssel rendelkezik 30 napig.
Használat
$ jetpack report_issue [LOG_PATH] [--upload/--no-upload] [--sign/--no-sign]
Az archiváláshoz töltse fel és írja alá az alapértelmezett Jetpack-naplókat ($JETPACK_HOME/logs):
$ jetpack report_issue
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-77777964-8b74-420d-ad44-094edf7695f2.zip?sv=2017-11-09&rsct=binary&sig=jBJUlYo10lRq0eW94I%2B6syzYVmgo1qcTFUc35D/q0Tg%3D&se=2020-12-04T15%3A15%3A00Z&spr=https&rscd=disposition%3Dfile%3B%20attachment&sp=r&sr=b
Signed URL will expire on: 2020-12-04T15:15:00Z
Az archiváláshoz töltse fel, de ne írja alá a nem alapértelmezett naplókönyvtárat:
$ jetpack report_issue /var/log/azure --no-sign
Logs can be found at: https://testaccount.blob.core.windows.net/cyclecloud/issues/TestCluster-execute-1-d67fe991-1dac-4644-9af7-50c835726f5e.zip
Ha egyszerűen archiválni szeretné a naplókat a helyi virtuális gépen:
$ jetpack report_issue --no-upload
Logs can be found at: /tmp/tmp4nscw705/TestCluster-execute-1-4249e973-3d87-4b14-94ed-6856a5267972.zip