A szolgáltatások végrehajtási módjainak folytatása
A runtime sikeres indítás után rögzíti az egyes szolgáltatások development vagy production módját. A restartDevServers.sh, a devstack.sh restart SERVICE és a devstack.sh start SERVICE a mentett módokat folytatja. Ezért egy development worker mellett futhat production BFF is.
A quickStarter.sh az előkészített, leállított konténereket indítja. Nem építi újra őket, és nem változtatja meg a végrehajtási módot.
| Parancs | Hatás |
|---|---|
bash restartDevServers.sh --prod | Production artifactokat épít, és production végrehajtást választ az összes kiválasztott szolgáltatásra |
bash devstack.sh start SERVICE --prod | Egy már leállított, előkészített szolgáltatást production módban épít és indít. Futó konténert elutasít. |
bash devstack.sh restart SERVICE | A szolgáltatás mentett módját folytatja. Ne add hozzá a --prod opciót. |
bash startDevServers.sh | Development végrehajtást választ új teljes indításhoz |
bash startDevServers.sh --prod | Production végrehajtást választ új teljes indításhoz |
A teljes újraindítás --prod nélkül megőrzi a mentett szolgáltatásmódokat. Nem építi újra a production artifactokat, és nem futtat adatbázis- vagy sémainicializálást. Kódkiadáshoz használd a teljes és célzott kiadási eljárásokat. Ez nem garantált átkapcsolás production módról development módra. A mentett állapotban nem szereplő szolgáltatás normál folytatáskor alapértelmezés szerint development módot kap.
Ne szerkeszd kézzel a runtime-állapotot. Egy sikertelen indítás nem hoz létre sikeres, előkészített állapotot. A módváltás nem törli az adatokat vagy a volume-okat.
A példány határairól és az indítási előfeltételekről olvasd el a Docker development útmutatót.
Infrastruktúra-elhelyezés módosítása
Használd ezt az eljárást olyan meglévő setupnál, amelynek valós partialRemote elhelyezésből fulllocal állapotba kell visszatérnie.
A végrehajtási mód (development vagy production) és az infrastruktúra-elhelyezés külön beállítás.
A távoli irányhoz használd a kiválasztott távoli infrastruktúra útmutatót.
Tartsd meg a helyi Kafka- és Qdrant-volume-okat. Váltás előtt ellenőrizd a frissességüket a távoli írásokhoz képest.
Minden szükséges fordított átvitelt leállított alkalmazás-írók mellett fejezz be. A runtime ellenőrzi a volume-ok meglétét, de nem igazolja az adatok frissességét.
Az elhelyezés módosításához ne használj resetet, --reset kapcsolót, cleanupot vagy volume-törlést.
A parancsokat a célzott példányhoz tartozó motherrepo gyökeréből futtasd. Hideg bootstrap alatt csak egy teljes stack maradjon aktív. Indítás előtt ellenőrizd a host memóriáját és az aktív példányokat. Használd a Docker-előfeltételeket.
- Az eredeti beállításokkal futtasd a
bash stopDevServer.shparancsot. Ez leállítja a példány konténereit, és megtartja a volume-okat. - A gyökér
.envfájlban állítsd be azECS_DEPLOYMENT_MODE=fulllocalés azECS_REMOTE_SIMULATION=falseértéket. Őrizd meg a példány azonosságát és a meglévő helyi kapcsolati beállításokat. - Futtasd a
bash devstack.sh validateparancsot. Folytatás előtt javíts ki minden jelzett konfigurációs vagy készenléti hibát. - Futtasd a
bash restartDevServers.shparancsot. Ez alkalmazza az új elhelyezést, és megőrzi a mentett szolgáltatás-végrehajtási módokat. - Ellenőrizd az endpointokat, majd végezd el az alábbi lifecycle-elfogadási ellenőrzéseket.
A gyökérkonfiguráció irányítja az elhelyezést. A shell-felülbírálások nem helyettesítik ezeket a kiválasztókat.
Ha az elhelyezés-kiválasztó hiányzik, a fulllocal az alapértelmezett. A szimuláció alapértelmezett értéke false.
A fulllocal és a true szimuláció együtt érvénytelen. Az inaktív távoli mezők megmaradhatnak, de nem választanak távoli elhelyezést.
Ha a megtartott helyi Kafka/Qdrant volume-ok hiányoznak, a valós távoli elhelyezésből való visszatérés leáll az indítás előtt.
Folytatás előtt rendezd a migrációs készenlétet. Ne hozz létre pótló adatot az ellenőrzés megkerüléséhez.
Ha nincs előkészített runtime, a setup-előfeltételek teljesítése után használd a bash startDevServers.sh parancsot.
Újraindítás vagy quick-start
A normál újraindítás az aktuális konfigurációval újra létrehozza a runtime-konténereket. Megőrzi a volume-okat és a mentett végrehajtási módokat. Elhelyezés- vagy endpoint-módosítás után ezt használd. A célzott szolgáltatás-újraindítás nem alkalmazhat globális elhelyezésváltást.
A quick-start megköveteli, hogy az előkészített konfiguráció és a konténerazonosítók egyezzenek a mentett állapottal. Inicializálás, build vagy újralétrehozás nélkül indítja a meglévő, leállított konténereket. Konfigurációmódosítás után a quick-start elutasítja az elavult állapotot, és a normál újraindításhoz irányít. Ne szerkeszd a mentett runtime-állapotot az ellenőrzés megkerüléséhez.
Az elhelyezés és a lifecycle-viselkedés ellenőrzése
Az átállás után ellenőrizd a bash devstack.sh status kimenetét. Teljesen helyi elhelyezésnél a helyi Kafka brokereknek és a Qdrantnak meg kell jelenniük.
Ellenőrizd a kiválasztott endpoint-mezőket egy futó consumeren belül is. A konténer egészsége vagy a módcímke önmagában nem igazolja az endpoint-kiválasztást.
Futtasd például a bash devstack.sh shell queue parancsot, majd a konténeren belül ezt a parancsot:
printenv KAFKA_NETWORK KAFKA_LAN_BOOTSTRAP_SERVERS KAFKA_TAILSCALE_BOOTSTRAP_SERVERS QDRANT_URL KNOWLEDGE_EXTRACTOR_URL
Teljesen helyi elhelyezésnél a Kafka bootstrap-listák a broker1:9092,broker2:9092,broker3:9092 értéket használják.
A szabványos helyi endpointok a http://qdrant:6333 és a http://knowledge-extractor:9998.
Ellenőrizd a többi érintett consumert is a tervezett elhelyezés alapján. Csak a kiválasztott mezőket vizsgáld, teljes környezeti vagy konfigurációs kiírás nélkül.
A következő parancs előtt lépj ki a konténer shellből.
Egyeztetett karbantartási ablakban mind a négy lifecycle-scriptnek sikeresen kell lefutnia:
| Parancs a motherrepo gyökeréből | Elvárt eredmény |
|---|---|
bash startDevServers.sh | A teljes indítás development végrehajtással lefut. Ha production végrehajtás a cél, használd a --prod kapcsolót. |
bash restartDevServers.sh | Az újraindítás lefut, és megőrzi az előkészített végrehajtási módokat és az adatokat. |
bash stopDevServer.sh | A példány konténerei leállnak, a helyi infrastruktúrát is beleértve. A volume-ok megmaradnak. |
bash quickStarter.sh | A leállított, előkészített konténerek változatlan konfigurációval és végrehajtási módokkal folytatják a futást. |
Futtasd ezeket az ellenőrzéseket a táblázat sorrendjében. Hiba esetén állj meg, és újabb próba előtt vizsgáld meg a diagnosztikát. A quick-start után ismételd meg az endpoint-ellenőrzéseket, és olvass be meglévő alkalmazásadatot. Ellenőrizz egy engedélyezett alkalmazásműveletet és annak mentett eredményét. Az egészséges konténerek önmagukban nem teljesítik az elfogadást. Az elhelyezés-ellenőrzések nem állapítanak meg késleltetési okot vagy teljesítmény-benchmarkot.
Őrizd meg az izolált futtatókörnyezet tulajdonosjelölőjét
Forrásfrissítés előtt ellenőrizd az izolált példány .docker-state/owner azonosságát a fájljogosultságoktól külön. Ehhez a karbantartáshoz az üzemeltető tulajdonában lévő fizikai fájlra van szükség, 0600 jogosultságokkal.
Csak egy ellenőrzött, leállított, tulajdonolt izolált példány jogosultságait javítsd. Őrizd meg a jelölő tartalmát és a példány azonosságát. Őrizd meg az összes környezeti fájlt, kulcsot és adatot. Utasítsd el a javítást, ha a tulajdonjog vagy az azonosság bizonytalan. Ne módosítsd másik klón jelölőjét, és ne másold annak futtatókörnyezeti állapotát.
Ezek üzemeltetői védelmi intézkedések. A futtatókörnyezet ellenőrzi a jelölő azonosságát, de nem kényszeríti ki automatikusan a jelölő 0600 jogosultságait vagy az üzemeltetői tulajdonjogot. Az izolált pillanatkép-ellenőrzések elutasítják a szimbolikus és a hardlinkeket. A jogosultság-javításnak változatlanul kell hagynia az azonosságot.