Avant de commencer
Lorsque vous mettez à niveau l'opérateur AlloyDB Omni, la base de données redémarre, sauf si toutes les conditions suivantes sont remplies :
- Vous mettez à niveau l'opérateur AlloyDB Omni version 1.1.1 vers une version plus récente.
- Vous utilisez la version 15.5.5 ou une version ultérieure de la base de données AlloyDB Omni.
- AlloyDB AI n'est pas activé. Pour en savoir plus, consultez Créer un cluster de bases de données avec AlloyDB AI.
Si la base de données redémarre, aucune perte de données n'est attendue.
À partir de la version 15.7.1 de la base de données AlloyDB Omni, la haute disponibilité (HA) sur vos clusters de bases de données AlloyDB Omni basés sur Kubernetes utilise une nouvelle architecture pour offrir plus de renforcement et d'améliorations pour la configuration automatique de la haute disponibilité, le basculement et les capacités de réparation.
Si vous mettez à niveau la version de la base de données AlloyDB Omni de la version 15.7.0 (ou antérieure) vers la version 15.7.1 (ou ultérieure), ou si vous rétrogradez des versions, vous devez désactiver la haute disponibilité, puis la réactiver une fois le processus terminé.
Déterminer vos versions actuelles
Pour vérifier la version d'AlloyDB Omni utilisée par votre cluster de bases de données, exécutez la commande suivante :
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'Effectuez les remplacements suivants :
DB_CLUSTER_NAME: nom de votre cluster de bases de données. Il s'agit du même nom de cluster de bases de données que celui que vous avez déclaré lorsque vous l'avez créé. Pour en savoir plus, consultez Installer AlloyDB Omni sur Kubernetes.NAMESPACE: espace de noms Kubernetes de votre cluster de bases de données.
Si vous exécutez la version 1.0.0 ou une version ultérieure de l'opérateur AlloyDB Omni, cette commande affiche la version d'AlloyDB Omni utilisée par votre cluster de bases de données.
Pour vérifier la version de l'opérateur AlloyDB Omni installé sur votre cluster Kubernetes, exécutez la commande suivante :
kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'Si vous exécutez la version 1.0.0 ou version ultérieure de l'opérateur AlloyDB Omni, le résultat correspond au numéro de version de l'opérateur AlloyDB Omni exécuté sur votre cluster Kubernetes.
Si vous exécutez une version de l'opérateur AlloyDB Omni antérieure à la version 1.0.0, suivez les instructions de la section Mettre à niveau depuis un opérateur AlloyDB Omni antérieur à la version 1.0.0. Sinon, vérifiez les numéros de version cible.
Vérifier les numéros de version cible
Si vous exécutez une version de l'opérateur AlloyDB Omni 1.0.0 ou version ultérieure, les étapes suivantes dépendent de la version d'AlloyDB Omni vers laquelle vous souhaitez effectuer la mise à niveau. Le numéro de version d'AlloyDB Omni comprend les composants suivants :
- Numéro de version majeure de sa compatibilité avec PostgreSQL
- Numéro de version mineure de sa compatibilité avec PostgreSQL
- Numéro de version du correctif de cette version d'AlloyDB Omni
Par exemple, AlloyDB Omni version 18.1.0 est compatible avec PostgreSQL version 15.7 et ne dispose pas de correctif de version AlloyDB Omni.
Choisissez l'option d'installation qui correspond à votre version cible :
| Scénario d'installation | Étapes de mise à jour |
|---|---|
| Vous souhaitez passer à une version d'AlloyDB Omni compatible avec une version plus récente de PostgreSQL. | Mettez à niveau l'opérateur AlloyDB Omni et votre cluster de bases de données. Chaque ensemble de versions AlloyDB Omni compatibles avec une version mineure spécifique de PostgreSQL possède son propre numéro de version d'opérateur AlloyDB Omni. Consultez le tableau de compatibilité des versions de l'opérateur AlloyDB Omni pour vérifier que votre version de l'opérateur AlloyDB Omni est compatible avec votre version de l'opérateur. |
| Vous souhaitez effectuer une mise à niveau uniquement vers une version de correctif plus récente d'AlloyDB Omni. | Mettez à niveau uniquement votre cluster de bases de données. |
| Tous les autres scénarios | Suivez les étapes de la section Mettre à niveau l'opérateur AlloyDB Omni. |
Mettre à niveau l'opérateur AlloyDB Omni
Pour mettre à niveau l'opérateur AlloyDB Omni, procédez comme suit :
Helm Kubernetes
Mettez à jour les définitions de ressources personnalisées (CRD) en extrayant le chart et en les appliquant manuellement :
helm pull oci://gcr.io/alloydb-omni/alloydbomni-operator --version 1.7.0 --untarkubectl apply -f ./alloydbomni-operator/crdsMettez à niveau le chart Helm de l'opérateur AlloyDB Omni :
helm upgrade alloydbomni-operator oci://gcr.io/alloydb-omni/alloydbomni-operator \ --version 1.7.0 \ --namespace alloydb-omni-system \ --atomic \ --timeout 5m
OLM OperatorHub.io
Lors de l'installation, vous utilisez une stratégie d'approbation de mise à niveau manuelle ou automatique. Si vous choisissez une stratégie de mise à niveau automatique, OLM met à niveau votre version d'opérateur vers la dernière version lorsqu'elle est publiée. Si vous choisissez une stratégie de mise à niveau manuelle, suivez les instructions OLM pour approuver le plan d'installation lorsqu'une nouvelle version est disponible. Pour en savoir plus, consultez Approuver manuellement les mises à niveau via des abonnements.
OLM Red Hat OpenShift
Lors de l'installation, vous utilisez une stratégie d'approbation de mise à niveau manuelle ou automatique. Si vous choisissez une stratégie de mise à niveau automatique, OLM met à niveau votre version d'opérateur vers la dernière version lorsqu'elle est publiée. Si vous choisissez une stratégie de mise à niveau manuelle, suivez les instructions OLM pour approuver le plan d'installation lorsqu'une nouvelle version est disponible. Pour en savoir plus, consultez Approuver manuellement les mises à niveau via des abonnements.
Vous pouvez approuver la mise à niveau de l'opérateur à l'aide de la console Web OpenShift pour la version OpenShift que vous utilisez.
Mettre à jour les clusters de bases de données OpenShift à partir de la version 1.4.1 ou antérieure
À partir de la version 1.5.0, l'opérateur AlloyDB Omni est compatible avec la contrainte de contexte de sécurité restricted-v2 par défaut d'OpenShift. Pour les nouveaux
clusters de bases de données sur OpenShift exécutant controlPlaneAgentsVersion 1.5.0 ou
version ultérieure, OpenShift injecte des ID utilisateur arbitraires
pour les charges de travail de la base de données. Pour les clusters de bases de données exécutant une version antérieure, les charges de travail de la base de données doivent continuer à s'exécuter en tant qu'ID utilisateur par défaut 999.
Pour mettre à jour un cluster de bases de données sur OpenShift à partir d'une controlPlaneAgentsVersion antérieure à la version 1.5.0, procédez comme suit :
Accordez au compte de service du cluster de bases de données l'autorisation d'utiliser la contrainte de contexte de sécurité
anyuid. Cela permet à la charge de travail de la base de données de s'exécuter en tant qu'ID utilisateur par défaut.oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-saAnnotez le cluster de bases de données avec
openshift.io/scc=anyuid. L'opérateur AlloyDB Omni version 1.5.0 ou ultérieure reconnaît cette annotation et exécute les charges de travail de la base de données en tant qu'ID utilisateur par défaut sur OpenShift au lieu d'autoriser la plate-forme à injecter un ID arbitraire.kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE openshift.io/scc=anyuidSuivez les étapes pour mettre à jour le cluster de bases de données vers la dernière version.
Mettre à jour les clusters de bases de données
Pour mettre à jour le dbCluster, procédez comme suit :
Si vous mettez à niveau un cluster de bases de données AlloyDB Omni à haute disponibilité à partir de la version 15.7.0 (ou antérieure) vers la version 15.7.1 (ou ultérieure), suivez ces étapes pour désactiver la haute disponibilité.
- Définissez
numberOfStandbyssur0dans le fichier manifeste du cluster.
spec: availability: numberOfStandbys: 0- Pour désactiver la haute disponibilité, appliquez à nouveau le fichier manifeste.
- Définissez
Mettez à jour les versions
databaseVersionetcontrolPlaneAgentsVersiondans le fichier manifeste du cluster, puis appliquez à nouveau le fichier manifeste.Exécutez l'exemple suivant, qui fait partie d'un fichier manifeste spécifiant la version 18.1.0 de
databaseVersionet la version 1.7.0 decontrolPlaneAgentsVersion:apiVersion: alloydbomni.dbadmin.goog/v1 kind: DBCluster metadata: name: DB_CLUSTER_NAME namespace: NAMESPACE spec: databaseVersion: "18.1.0" controlPlaneAgentsVersion: "1.7.0" ...Remplacez la variable suivante :
DB_CLUSTER_NAME: nom de votre cluster de bases de données. Il s'agit du même nom de cluster de bases de données que celui que vous avez déclaré lorsque vous l'avez créé. Pour en savoir plus, consultez Installer AlloyDB Omni sur Kubernetes.NAMESPACE: espace de noms Kubernetes de votre cluster de bases de données.
Attendez la fin de la mise à niveau.
Si vous avez désactivé la haute disponibilité avant la mise à niveau, procédez comme suit.
Redéfinissez
numberOfStandbyssur le nombre précédent la mise à niveau dans le fichier manifeste du cluster.Appliquez à nouveau le fichier manifeste pour réactiver la haute disponibilité.
Mettre à jour alloydb_omni_instance_postgresql_wait_time_second_total
Si vous utilisez la métrique alloydb_omni_instance_postgresql_wait_time_second_total, vous devez la remplacer par alloydb_omni_instance_postgresql_wait_time_us_total. Pour utiliser les deux métriques, utilisez l'opérateur Prometheus OR.
(promQL A) OR (promQL A, but replace all occurrences of alloydb_omni_instance_postgresql_wait_time_second_total to alloydb_omni_instance_postgresql_wait_time_us_total)
Si vous utilisez seconds comme unité pour cette métrique, vous devez la convertir en us.
Pour en savoir plus, consultez les notes de version.