Nesta página, mostramos como colocar o banco de dados no modo de manutenção em um cluster do Kubernetes.
Se o banco de dados for executado em um cluster do Kubernetes, você poderá colocar o banco de dados no modo de manutenção desativando as sondagens de atividade e as sondagens de inicialização, que são executadas no aplicativo contêinerizado, para garantir que o pod do banco de dados esteja em um estado saudável. O modo de manutenção ajuda a colocar um pod em um estado em execução quando você precisa fazer uma atualização de manutenção ou reparar o pod.
Ativar o modo de manutenção
Verifique se as sondagens existem em um pod de banco de dados:
Sondagem de atividade:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].livenessProbe}'
Substitua:
NAMESPACE
: o nome de um namespace usado para executar o banco de dados, por exemplo,db
.DATABASE_POD_NAME
: o nome do pod do banco de dados, por exemplo,al-4017-dbcluster-sample-0
.
Confira a seguir um exemplo de saída com uma sondagem de atividade:
{"failureThreshold":3,"httpGet":{"path":"/healthz?","port":8090,"scheme":"HTTP"},"periodSeconds":10,"successThreshold":1,"timeoutSeconds":3}
Sondagem de inicialização:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].startupProbe}'
Confira a seguir um exemplo de saída com uma sondagem de inicialização:
{"exec":{"command":["/usr/lib/postgresql/15/bin/psql","-hlocalhost","-Ualloydbadmin","-c","SELECT 1"]},"failureThreshold":180,"periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}
Defina
mode
comomaintenance
na seçãospec
do manifesto do DBCluster:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME namespace: NAMESPACE spec: allowExternalIncomingTraffic: false isDeleted: false mode: maintenance primarySpec: ...
Substitua
DB_CLUSTER_NAME
pelo nome do cluster de banco de dados, por exemplo,my-db-cluster
.Aplique o manifesto:
kubectl apply -f DB_CLUSTER_YAML
Substitua
DB_CLUSTER_YAML
pelo nome do arquivo de manifesto do cluster do banco de dados, por exemplo,alloydb-omni-db-cluster.yaml
.Para verificar se o modo de manutenção está ativado, execute os seguintes comandos:
Sondagem de atividade:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].livenessProbe}'
Sondagem de inicialização:
kubectl get po -n NAMESPACE DATABASE_POD_NAME -o jsonpath='{.spec.containers[?(@.name=="database")].startupProbe}'
A saída não contém os campos
Liveness
eStartup
na seçãospec
do podPOD_NAME
.
Desativar o modo de manutenção
Para retornar ao comportamento padrão do cluster de banco de dados com sondas de inicialização e de atividade em execução, use o comando a seguir para remover maintenance
da seção spec
do manifesto do DBCluster:
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"mode":""}}' --type=merge -n DB_CLUSTER_NAMESPACE --type=merge
Exemplos de saídas:
Com uma sondagem de atividade:
{"failureThreshold":3,"httpGet":{"path":"/healthz?","port":8090,"scheme":"HTTP"},"periodSeconds":10,"successThreshold":1,"timeoutSeconds":3}
Com uma sondagem de inicialização:
{"exec":{"command":["/usr/lib/postgresql/15/bin/psql","-hlocalhost","-Ualloydbadmin","-c","SELECT 1"]},"failureThreshold":180, "periodSeconds":10,"successThreshold":1,"timeoutSeconds":1}