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!