Auf dieser Seite erfahren Sie, wie Sie die Datenbank in einem Kubernetes-Cluster in den Wartungsmodus versetzen.
Wenn Ihre Datenbank in einem Kubernetes-Cluster ausgeführt wird, können Sie sie in den Wartungsmodus versetzen, indem Sie die Aktivitätsprüfungen und Startprüfungen deaktivieren, die in Ihrer containerisierten Anwendung ausgeführt werden. So können Sie dafür sorgen, dass der Datenbank-Pod in einem fehlerfreien Zustand ist. Mit dem Wartungsmodus können Sie einen Pod in den Status „Laufend“ versetzen, wenn Sie ein Wartungsupdate durchführen oder den Pod reparieren müssen.
Wartungsmodus aktivieren
Prüfen Sie, ob es in einem Datenbank-Pod Prüfen gibt:
Aktivitätsprüfung:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].livenessProbe}'
Ersetzen Sie Folgendes:
NAMESPACE
: der Name eines Namespaces, der zum Ausführen Ihrer Datenbank verwendet wird, z. B.db
.DATABASE_POD_NAME
: der Name des Datenbank-Pods, z. B.al-4017-dbcluster-sample-0
.
Im Folgenden sehen Sie eine Beispielausgabe mit einem Liveness-Test:
{"failureThreshold":3,"httpGet":{"path":"/healthz?","port":8090,"scheme":"HTTP"},"periodSeconds":10,"successThreshold":1,"timeoutSeconds":3}
Startprüfung:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].startupProbe}'
Im Folgenden sehen Sie eine Beispielausgabe mit einer Startprüfung:
{"exec":{"command":["/usr/lib/postgresql/15/bin/psql","-hlocalhost","-Ualloydbadmin","-c","SELECT 1"]},"failureThreshold":180,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}
Legen Sie im Abschnitt
spec
des DBCluster-Manifestsmode
aufmaintenance
fest:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME namespace: NAMESPACE spec: allowExternalIncomingTraffic: false isDeleted: false mode: maintenance primarySpec: ...
Ersetzen Sie
DB_CLUSTER_NAME
durch den Namen dieses Datenbankclusters, z. B.my-db-cluster
.Wenden Sie das Manifest an:
kubectl apply -f DB_CLUSTER_YAML
Ersetzen Sie
DB_CLUSTER_YAML
durch den Namen der Manifestdatei dieses Datenbankclusters, z. B.alloydb-omni-db-cluster.yaml
.Führen Sie die folgenden Befehle aus, um zu prüfen, ob der Wartungsmodus aktiviert ist:
Aktivitätsprüfung:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].livenessProbe}'
Startprüfung:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].startupProbe}'
Die Ausgabe enthält im Abschnitt
spec
desPOD_NAME
-Pods nicht die FelderLiveness
undStartup
.
Wartungsmodus deaktivieren
Wenn Sie zum Standardverhalten des Datenbankclusters mit laufenden Liveliness- und Start-Prüfungen zurückkehren möchten, entfernen Sie maintenance
mit dem folgenden Befehl aus dem Abschnitt spec
des DBCluster-Manifests:
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"mode":""}}' --type=merge -n DB_CLUSTER_NAMESPACE --type=merge
Beispielausgaben:
Mit einer Aktivitätsprüfung:
{"failureThreshold":3,"httpGet":{"path":"/healthz?","port":8090,"scheme":"HTTP"},"periodSeconds":10,"successThreshold":1,"timeoutSeconds":3}
Mit einer Startprüfung:
{"exec":{"command":["/usr/lib/postgresql/15/bin/psql","-hlocalhost","-Ualloydbadmin","-c","SELECT 1"]},"failureThreshold":180, "periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}