( ricpet | 2022. 12. 09., p – 04:29 )

Azt jól gondolom, hogy ugyanaz az alkalmazás fut sok példányban? Tehát ez egy multitenant-os alkalmazás, ahol a multitenancy úgy lett megoldva, hogy nem az alkalmazás kezeli, hanem magából az alkalmazásból van sok példány?

NodePort jó lehet arra, hogy a DB pod-okat publikáld a kubernetesen kívülre.

Viszont a kubernetesben való skálázásra nem az a tipikus use case, hogy a stateful pod-okat leállítod és nagyobb CPU/memory request-tel és limit-tel újraindítod őket reggel (ugye ezt a stateless esetben inkább úgy oldják meg, hogy több pod-ot indítanak). Ha az van, hogy a terhelés mindegyik db pod-ra pont ugyanakkor érkezik, akkor persze mást nem igazán lehet tenni ezen az újraindítás dolgon kívül, ha este spórolni akarsz.

Viszont kérdés, hogy tényleg mindig pont ugyanakkor van-e terhelés? Nem oszlik el napközben? Nem lenne célszerű úgy futtatni inkább, hogy kevesebb de nagyméretű worker node-ok, és egyszerűen azáltal oszlik el a terhelés, hogy a worker node-on belül melyik DB pod futtat éppen query-ket? Persze ezzel önmagában nem spórolsz éjszakára, ahhoz mindenképp kell az említett rövid leállás a stateful pod-ok újraindítása miatt.

Ami még egy limitáció AWS-ben és belefuthatsz, ha nagy worker node-jaid vannak, hogy egy adott worker node - EC2 típustól függően - legfeljebb 20-30 EBS volume-ot tud attacholni, mint PVC. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/volume_limits.html Ezt mindenképp vedd figyelembe tervezésnél!