Antes de comenzar
Cuando actualizas el operador de AlloyDB Omni, la base de datos se reinicia, a menos que se cumplan todas las siguientes condiciones:
- Estás actualizando el operador de AlloyDB Omni de la versión 1.1.1 a una versión más reciente.
- Usas la versión 15.5.5 o posterior de la base de datos de AlloyDB Omni.
- AlloyDB AI no está habilitado. Para obtener más información, consulta Crea un clúster de base de datos con AlloyDB AI.
Si se reinicia la base de datos, no se espera una pérdida de datos.
A partir de la versión 15.7.1 de la base de datos de AlloyDB Omni, la alta disponibilidad (HA) en tus clústeres de base de datos de AlloyDB Omni basados en Kubernetes usa una arquitectura nueva para proporcionar más endurecimiento y mejoras para la configuración automática, la conmutación por error y las capacidades de recuperación de HA.
Si actualizas la versión de la base de datos de AlloyDB Omni de la 15.7.0 (o anterior) a la versión 15.7.1 (o posterior), o si cambias a versiones anteriores, debes inhabilitar la HA y volver a habilitarla después de que se complete el proceso.
Determina tus versiones actuales
Para verificar 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}'Realiza los siguientes reemplazos:
DB_CLUSTER_NAME: el nombre de tu clúster de base de datos. Es el mismo nombre de clúster de base de datos que declaraste cuando lo creaste. Para obtener más información, consulta Instala 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 posterior del operador de AlloyDB Omni, este comando imprime la versión de AlloyDB Omni que usa tu clúster de base de datos.
Para verificar la versión del operador de AlloyDB Omni instalado 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 posterior del operador de AlloyDB Omni, el resultado es el número de versión del operador de 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 que se indican en Actualiza desde un operador de AlloyDB Omni anterior a la versión 1.0.0. De lo contrario, verifica los números de versión de destino.
Verifica los números de versión de destino
Si ejecutas una versión del operador de AlloyDB Omni 1.0.0 o posterior, los siguientes pasos dependen de la versión de AlloyDB Omni a la que deseas 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
- El número de versión de parche de esta versión de AlloyDB Omni
Por ejemplo, la versión 18.1.0 de AlloyDB Omni admite la versión 15.7 de PostgreSQL y no tiene un parche de versión de AlloyDB Omni.
Elige la opción de instalación que funcione para tu versión de destino:
| Situación de instalación | Pasos de la actualización |
|---|---|
| Deseas actualizar a una versión de AlloyDB Omni que admita una versión más reciente de PostgreSQL. | Actualiza el operador de AlloyDB Omni y tu clúster de base de datos. Cada conjunto de versiones 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. Usa la tabla de compatibilidad de versiones del operador de AlloyDB Omni para verificar que tu versión del operador de AlloyDB Omni sea compatible con tu versión del operador. |
| Solo deseas actualizar a una versión de parche más reciente de AlloyDB Omni. | Actualiza solo tu clúster de base de datos. |
| Todas las demás situaciones | Sigue los pasos para actualizar el operador de AlloyDB Omni. |
Actualiza el operador de AlloyDB Omni
Para actualizar el operador de AlloyDB Omni, sigue estos pasos:
Helm Kubernetes
Para actualizar las definiciones de recursos personalizados (CRD), extrae el gráfico y aplícalo de forma manual:
helm pull oci://gcr.io/alloydb-omni/alloydbomni-operator --version 1.7.0 --untarkubectl apply -f ./alloydbomni-operator/crdsActualiza el gráfico de Helm del operador de 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
Durante la instalación, usas una estrategia de aprobación de actualización manual o automática. Si eliges una estrategia de actualización automática, OLM actualiza tu versión del operador a la versión más reciente cuando se lanza. Si eliges una estrategia de actualización manual, sigue las instrucciones de OLM para aprobar el plan de instalación cuando esté disponible un nuevo lanzamiento. Para obtener más información, consulta Cómo aprobar actualizaciones de forma manual a través de suscripciones.
OLM Red Hat OpenShift
Durante la instalación, usas una estrategia de aprobación de actualización manual o automática. Si eliges una estrategia de actualización automática, OLM actualiza tu versión del operador a la versión más reciente cuando se lanza. Si eliges una estrategia de actualización manual, sigue las instrucciones de OLM para aprobar el plan de instalación cuando esté disponible un nuevo lanzamiento. Para obtener más información, consulta Cómo aprobar actualizaciones de forma manual a través de suscripciones.
Puedes aprobar la actualización del operador con la consola web de OpenShift para la versión de OpenShift que usas.
Actualiza los clústeres de base de datos de OpenShift desde la versión 1.4.1 o anterior
A partir de la versión 1.5.0, el operador de AlloyDB Omni es compatible con la restricción de contexto de seguridad restricted-v2 predeterminada de OpenShift. Para los clústeres de base de datos nuevos
en OpenShift que ejecutan controlPlaneAgentsVersion 1.5.0 o
posterior, OpenShift inserta IDs de usuario arbitrarios
para las cargas de trabajo de la base de datos. Para los clústeres de base de datos que ejecutan una versión anterior, las cargas de trabajo de la base de datos deben seguir ejecutándose como el ID de usuario predeterminado 999.
Para actualizar un clúster de base de datos en OpenShift desde una controlPlaneAgentsVersion anterior a la 1.5.0, sigue estos pasos:
Otorga permiso a la cuenta de servicio del clúster de base de datos para usar la restricción de contexto de seguridad
anyuid. Esto permite que la carga de trabajo de la base de datos se ejecute como el ID de usuario predeterminado.oc adm policy add-scc-to-user anyuid system:serviceaccount:NAMESPACE:DB_CLUSTER_NAME-saAnota el clúster de base de datos con
openshift.io/scc=anyuid. El operador de AlloyDB Omni versión 1.5.0 o posterior reconoce esta anotación y ejecuta las cargas de trabajo de la base de datos como 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=anyuidContinúa con los pasos para actualizar el clúster de base de datos a la versión más reciente.
Actualiza los clústeres de base de datos
Para actualizar dbCluster, completa los siguientes pasos:
Si actualizas un clúster de base de datos de AlloyDB Omni con HA de la versión 15.7.0 (o anterior) a la versión 15.7.1 (o posterior), sigue estos pasos para inhabilitar la HA.
- Configura
numberOfStandbyscomo0en el manifiesto del clúster.
spec: availability: numberOfStandbys: 0- Para inhabilitar la HA, vuelve a aplicar el manifiesto.
- Configura
Actualiza las versiones
databaseVersionycontrolPlaneAgentsVersionen el manifiesto del clúster y vuelve a aplicar el manifiesto.Ejecuta el siguiente ejemplo, que forma parte de un archivo de manifiesto que especifica la versión 18.1.0 de
databaseVersiony la versión 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" ...Reemplaza la siguiente variable:
DB_CLUSTER_NAME: el nombre de tu clúster de base de datos. Es el mismo nombre de clúster de base de datos que declaraste cuando lo creaste. Para obtener más información, consulta Instala AlloyDB Omni en Kubernetes.NAMESPACE: el espacio de nombres de Kubernetes de tu clúster de base de datos.
Espera a que se complete la actualización.
Si inhabilitaste la HA antes de la actualización, completa los siguientes pasos.
Vuelve a configurar
numberOfStandbyscon el número anterior a la actualización en el manifiesto del clúster.Vuelve a aplicar el manifiesto para volver a habilitar la HA.
Actualiza 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 consumir 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 usas seconds como unidad para esta métrica, debes convertirla a us.
Para obtener más información, consulta las notas de la versión.