Migrer vers la dernière version de l'opérateur Kubernetes AlloyDB Omni

Cette page explique comment mettre à niveau l'opérateur AlloyDB Omni. La procédure de mise à niveau d'AlloyDB Omni dans Kubernetes dépend de la version actuelle d'AlloyDB Omni et de la version vers laquelle vous effectuez la mise à niveau.

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 passez de la version 1.1.1 de l'opérateur AlloyDB Omni à une version plus récente.
  • Vous utilisez la version 15.5.5 ou ultérieure de la base de données AlloyDB Omni.
  • AlloyDB AI n'est pas activé.

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 base de données AlloyDB Omni basés sur Kubernetes utilise une nouvelle architecture pour renforcer et améliorer les fonctionnalités de configuration, de basculement et de réparation automatiques de la HA.

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é avant la mise à niveau, puis la réactiver une fois la mise à niveau terminée.

Déterminer vos versions actuelles

Pour vérifier la version d'AlloyDB Omni utilisée par votre cluster de base 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 base de données. Il s'agit du même nom de cluster de base de données que celui que vous avez déclaré lors de sa création.

  • NAMESPACE: espace de noms Kubernetes de votre cluster de base de données.

Si vous exécutez la version 1.0.0 ou ultérieure de l'opérateur AlloyDB Omni, cette commande affiche la version d'AlloyDB Omni utilisée par votre cluster de base 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 ultérieure de l'opérateur AlloyDB Omni, la sortie 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 à partir d'un opérateur AlloyDB Omni antérieur à la version 1.0.0. Sinon, passez à la section Vérifier vos numéros de version cible.

Vérifier les numéros de version cibles

Si vous exécutez une version de l'opérateur AlloyDB Omni 1.0.0 ou 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 la 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, la version 15.7.1 d'AlloyDB Omni est compatible avec la version 15.7 de PostgreSQL et ne dispose pas d'un correctif de version AlloyDB Omni.

Choisissez l'option d'installation adaptée à 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 base de données. Chaque ensemble de versions AlloyDB Omni compatibles avec une version mineure PostgreSQL spécifique possède son propre numéro de version de l'opérateur AlloyDB Omni, que vous trouverez dans les notes de version de la version AlloyDB Omni. Utilisez 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 ne souhaitez effectuer la mise à niveau que vers une version de correctif plus récente d'AlloyDB Omni. Mettez à niveau uniquement votre cluster de base de données. Consultez le tableau de compatibilité des versions de l'opérateur AlloyDB Omni et les notes de version avant de procéder à la mise à niveau pour déterminer si vous devez également mettre à jour l'opérateur AlloyDB Omni.
Tous les autres scénarios Suivez la procédure décrite dans 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:

  1. Définissez les variables d'environnement:

    export GCS_BUCKET=alloydb-omni-operator
    export OPERATOR_VERSION=OPERATOR_VERSION
    export HELM_PATH=$OPERATOR_VERSION/alloydbomni-operator-$OPERATOR_VERSION.tgz

    Remplacez OPERATOR_VERSION par la version de l'opérateur AlloyDB Omni vers laquelle vous passez, par exemple 1.4.0.

  2. Téléchargez le dernier opérateur AlloyDB Omni:

    gsutil cp -r gs://$GCS_BUCKET/$HELM_PATH ./
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. Appliquez les dernières définitions de ressources personnalisées de l'opérateur AlloyDB Omni:

    kubectl apply -f alloydbomni-operator/crds
  4. Mettez à niveau le chart Helm de l'opérateur AlloyDB Omni:

    helm upgrade alloydbomni-operator alloydbomni-operator-${OPERATOR_VERSION}.tgz \
    --namespace alloydb-omni-system \
    --atomic \
    --timeout 5m

Mettre à jour les clusters de base de données

Pour mettre à jour le dbCluster, procédez comme suit:

  1. Si vous mettez à niveau un cluster de base de données AlloyDB Omni HA de la version 15.7.0 (ou antérieure) vers la version 15.7.1 (ou ultérieure), définissez numberOfStandbys sur 0 dans le fichier manifeste du cluster et réappliquez le fichier manifeste pour désactiver la haute disponibilité:

    spec:
      availability:
        numberOfStandbys: 0
    

    Vous n'avez pas besoin de désactiver la HA si vous passez d'une version antérieure à la version 15.7.0 (ou version antérieure) ou de la version 15.7.1 (ou version ultérieure) à une version plus récente.

  2. Mettez à jour les versions databaseVersion et controlPlaneAgentsVersion dans le fichier manifeste du cluster, puis réappliquez le fichier manifeste.

    Voici une partie d'un fichier manifeste qui spécifie la version 15.7.1 de databaseVersion et la version 1.4.0 de controlPlaneAgentsVersion:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
    spec:
      databaseVersion: "15.7.1"
      controlPlaneAgentsVersion: "1.4.0"
    ...
  3. Attendez que la mise à niveau soit terminée.

  4. Si vous avez désactivé la haute disponibilité avant la mise à niveau, vous pouvez rétablir le nombre numberOfStandbys avant la mise à niveau dans le fichier manifeste du cluster et réappliquer 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 mettre à jour vers alloydb_omni_instance_postgresql_wait_time_us_total. Pour consommer les deux métriques, utilisez l'opérateur OR Prometheus.

(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.