Actualizar el operador de AlloyDB Omni Kubernetes a la versión 1.5.0

Selecciona una versión de la documentación:

En esta página se describe cómo actualizar el operador de AlloyDB Omni Kubernetes. Los pasos para actualizar AlloyDB Omni en Kubernetes dependen de la versión actual de AlloyDB Omni y de la versión a la que quieras actualizar.

Antes de empezar

Cuando actualizas el operador AlloyDB Omni, la base de datos se reinicia a menos que se cumplan todas las condiciones siguientes:

  • Vas a actualizar el operador AlloyDB Omni de la versión 1.1.1 a una versión más reciente.
  • Estás usando la versión 15.5.5 o una posterior de la base de datos AlloyDB Omni.
  • AlloyDB AI no está habilitado.

Si la base de datos se reinicia, no se espera que se pierdan datos.

A partir de la versión 15.7.1 de la base de datos AlloyDB Omni, la alta disponibilidad (HA) de tus clústeres de bases de datos AlloyDB Omni basados en Kubernetes usa una nueva arquitectura para ofrecer más protección y mejoras en las funciones de configuración automática, conmutación por error y recuperación de la alta disponibilidad.

Si vas a actualizar la versión de la base de datos AlloyDB Omni de la 15.7.0 (o una anterior) a la 15.7.1 (o una posterior), o si vas a cambiar a una versión anterior, debes inhabilitar la alta disponibilidad y volver a habilitarla cuando se complete el proceso.

Determinar las versiones actuales

Para comprobar la versión de AlloyDB Omni que usa tu clúster de base de datos, ejecuta el siguiente comando:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentDatabaseVersion}'

Haz las siguientes sustituciones:

  • DB_CLUSTER_NAME: el nombre de tu clúster de bases de datos. Es el mismo nombre de clúster de base de datos que declaraste al crearlo. Para obtener más información, consulta Instalar AlloyDB Omni en Kubernetes.

  • NAMESPACE: el espacio de nombres de Kubernetes de tu clúster de base de datos.

Si ejecutas la versión 1.0.0 o una posterior del operador AlloyDB Omni, este comando imprimirá la versión de AlloyDB Omni que utiliza tu clúster de base de datos.

Para comprobar la versión del operador de AlloyDB Omni instalada en tu clúster de Kubernetes, ejecuta el siguiente comando:

kubectl get dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE -o jsonpath='{.status.primary.currentControlPlaneAgentsVersion}'

Si ejecutas la versión 1.0.0 o una posterior del operador AlloyDB Omni, el resultado es el número de versión del operador AlloyDB Omni que se ejecuta en tu clúster de Kubernetes.

Si ejecutas una versión del operador de AlloyDB Omni anterior a la 1.0.0, sigue las instrucciones de Actualizar desde un operador de AlloyDB Omni anterior a la versión 1.0.0. De lo contrario, ve a Comprobar los números de versión de destino.

Comprobar los números de versión de destino

Si ejecutas una versión del operador de AlloyDB Omni 1.0.0 o posterior, los pasos que debes seguir dependen de la versión de AlloyDB Omni a la que quieras actualizar. El número de versión de AlloyDB Omni tiene los siguientes componentes:

  • El número de versión principal de su compatibilidad con PostgreSQL
  • El número de versión secundaria de su compatibilidad con PostgreSQL
  • Número de versión del parche de esta versión de AlloyDB Omni.

Por ejemplo, la versión 15.12.0 de AlloyDB Omni es compatible con la versión 15.7 de PostgreSQL y no tiene ningún parche de lanzamiento de AlloyDB Omni.

Elige la opción de instalación que se adapte a tu versión de destino:

Situación de instalación Pasos para actualizar
Quieres actualizar a una versión de AlloyDB Omni que admita una versión más reciente de PostgreSQL. Actualiza el operador AlloyDB Omni y tu clúster de base de datos. Cada conjunto de lanzamientos de AlloyDB Omni que admite una versión secundaria específica de PostgreSQL tiene su propio número de versión del operador de AlloyDB Omni. Consulta la tabla de compatibilidad de versiones del operador AlloyDB Omni para comprobar si la versión de tu operador AlloyDB Omni es compatible con la versión de tu operador.
Solo quieres actualizar a una versión de parche más reciente de AlloyDB Omni. Actualiza solo tu clúster de base de datos.
Todos los demás casos Sigue los pasos para actualizar el operador AlloyDB Omni.

Actualizar el operador de AlloyDB Omni

Para actualizar el operador AlloyDB Omni, sigue estos pasos:

  1. Define las variables de entorno:

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

    Sustituye OPERATOR_VERSION por la versión del operador AlloyDB Omni a la que vas a actualizar (por ejemplo, 1.5.0).

  2. Descarga el operador de AlloyDB Omni más reciente:

    gcloud storage cp gs://$GCS_BUCKET/$HELM_PATH ./ --recursive
    tar -xvzf alloydbomni-operator-${OPERATOR_VERSION}.tgz
  3. Aplica las definiciones de recursos personalizados del operador AlloyDB Omni más recientes:

    kubectl apply -f alloydbomni-operator/crds
  4. Actualiza el gráfico de Helm del operador AlloyDB Omni:

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

Actualizar clústeres de bases de datos de OpenShift desde la versión 1.4.1 o anterior

A partir de la versión 1.5.0, el operador AlloyDB Omni es compatible con la restricted-v2restricción de contexto de seguridad predeterminada de OpenShift. En los nuevos clústeres de bases de datos de OpenShift que ejecuten controlPlaneAgentsVersion 1.5.0 o versiones posteriores, OpenShift inserta IDs de usuario arbitrarios para las cargas de trabajo de la base de datos. En el caso de los clústeres de bases de datos que ejecuten una versión anterior, las cargas de trabajo de la base de datos deben seguir ejecutándose con el ID de usuario predeterminado 999.

Para actualizar un clúster de base de datos en OpenShift desde una versión controlPlaneAgentsVersion anterior a la 1.5.0, sigue estos pasos:

  1. Concede a la cuenta de servicio del clúster de bases de datos permiso para usar la restricción de contexto de seguridad anyuid. De esta forma, la carga de trabajo de la base de datos se ejecuta con el ID de usuario predeterminado.

    oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-sa
  2. Anota el clúster de base de datos con openshift.io/scc=anyuid. La versión 1.5.0 o posterior del operador AlloyDB Omni reconoce esta anotación y ejecuta las cargas de trabajo de la base de datos con el ID de usuario predeterminado en OpenShift en lugar de permitir que la plataforma inserte un ID arbitrario.

    kubectl annotate dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -n NAMESPACE openshift.io/scc=anyuid
  3. Actualiza el clúster de la base de datos a la versión más reciente.

Actualizar los clústeres de bases de datos

Para actualizar el dbCluster, sigue estos pasos:

  1. Si vas a actualizar un clúster de base de datos de alta disponibilidad de AlloyDB Omni de la versión 15.7.0 (o una anterior) a la 15.7.1 (o una posterior), sigue estos pasos para inhabilitar la alta disponibilidad.

    1. Asigna el valor 0 a numberOfStandbys en el archivo de manifiesto del clúster.
    spec:
      availability:
        numberOfStandbys: 0
    
    1. Para inhabilitar la alta disponibilidad, vuelve a aplicar el manifiesto.
  2. Actualice las versiones databaseVersion y controlPlaneAgentsVersion en el archivo de manifiesto del clúster y vuelva a aplicar el manifiesto.

    A continuación, se muestra una parte de un archivo de manifiesto que especifica la versión 15.12.0 de databaseVersion y la versión 1.5.0 de controlPlaneAgentsVersion:

    apiVersion: alloydbomni.dbadmin.goog/v1
    kind: DBCluster
    metadata:
      name: DB_CLUSTER_NAME
      namespace: NAMESPACE
    spec:
      databaseVersion: "15.12.0"
      controlPlaneAgentsVersion: "1.5.0"
    ...
    

    Sustituye la siguiente variable:

    • DB_CLUSTER_NAME: el nombre de tu clúster de bases de datos. Es el mismo nombre de clúster de base de datos que declaraste al crearlo. Para obtener más información, consulta Instalar AlloyDB Omni en Kubernetes.
    • NAMESPACE: el espacio de nombres de Kubernetes de tu clúster de base de datos.
  3. Espera a que se complete la actualización.

  4. Si has inhabilitado la alta disponibilidad antes de la actualización, sigue estos pasos.

    1. Vuelve a definir el numberOfStandbys con el número anterior a la actualización en el manifiesto del clúster.

    2. Vuelve a aplicar el manifiesto para volver a habilitar la alta disponibilidad.

Actualizar alloydb_omni_instance_postgresql_wait_time_second_total

Si usas la métrica alloydb_omni_instance_postgresql_wait_time_second_total, debes actualizarla a alloydb_omni_instance_postgresql_wait_time_us_total. Para usar ambas métricas, usa el operador OR de 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 usa seconds como unidad de esta métrica, debe convertirla a us.

Para obtener más información, consulta las notas de la versión.