Τεκμηρίωση παραδείγματος: Stateful Postgres
Στόχος
Εκτελέστε μια stateful εφαρμογή με persistent storage, initialization, service discovery και ένα backup Job.
Τι γίνεται
Το lab δημιουργεί μια PostgreSQL instance ως StatefulSet, εισάγει αρχικά δεδομένα μέσω ConfigMap, αποθηκεύει δεδομένα σε PVC και δημιουργεί backups μέσω CronJob.
Συνήθεις εντολές
kubectl apply -f manifests/
kubectl get pods,pvc,svc -n postgres-lab
kubectl describe statefulset postgres -n postgres-lab
kubectl create job manual-postgres-backup --from=cronjob/postgres-backup -n postgres-lab
Επιβεβαίωση επιτυχίας
- Το
postgres-0βρίσκεται σε κατάσταση Ready. - Το PVC
data-postgres-0βρίσκεται σε κατάσταση Bound. - Ένα χειροκίνητο backup Job φτάνει στην κατάσταση
Complete. - Οι NetworkPolicies επιτρέπουν την επικοινωνία του backup με την PostgreSQL χωρίς γενικευμένο Egress.
Συνηθισμένα λάθη
- Δεν υπάρχει default StorageClass στο Cluster.
- Τιμές από Secrets επαναχρησιμοποιούνται κατά λάθος σε production.
- Τα backup Pods δεν έχουν DNS ή Egress προς τη βάση δεδομένων.