Administra los roles de los usuarios
AlloyDB Omni usa el mismo conjunto de roles de usuario predefinidos de PostgreSQL que incluye AlloyDB, con las siguientes diferencias:
AlloyDB Omni incluye un rol de superusuario llamado
alloydbadminy un rol que no es de superusuario llamadoalloydbmetadata.El usuario
postgrespredeterminado tiene un rol de superusuario.Todos los demás roles de usuario predefinidos no tienen privilegios. Se reservan para posibles usos en el futuro.
Al igual que con AlloyDB, se recomienda seguir estos pasos cuando configures una base de datos:
Define o importa tus bases de datos con el rol de usuario
postgres. En una instalación nueva, este rol tiene privilegios de superusuario y no requiere contraseña.Crea roles de usuario nuevos que tengan el nivel de acceso correcto a las tablas de tu aplicación, nuevamente con el rol de usuario
postgres.Configura tu aplicación para que se conecte a la base de datos con estos roles nuevos de acceso limitado.
Puedes crear y definir tantos roles de usuario nuevos como necesites. No modifiques ni borres ninguno de los roles de usuario con los que se envía AlloyDB Omni.
Para obtener más información, consulta Administra los roles de usuario de AlloyDB.
Supervisa AlloyDB Omni
La supervisión de tu instalación de AlloyDB Omni incluye la lectura y el análisis de los archivos de registro de AlloyDB Omni.
AlloyDB Omni que se ejecuta en Kubernetes proporciona un conjunto de métricas básicas disponibles como extremos de Prometheus. Para obtener una lista de las métricas disponibles, consulta Métricas de AlloyDB Omni.
Además, AlloyDB Omni que se ejecuta en Kubernetes expone métricas de recursos personalizados que aprovechan kube-state-metrics (KSM). Para habilitar las métricas de recursos personalizados, consulta Supervisa los recursos personalizados del operador de Kubernetes de AlloyDB Omni.
Servidor único
De forma predeterminada, para recuperar los registros de AlloyDB Omni, ejecuta lo siguiente:
Docker
docker logs CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Para configurar el comportamiento de registro de AlloyDB Omni, consulta Personaliza tu instalación de AlloyDB Omni.
Podman
podman logs CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Para configurar el comportamiento de registro de AlloyDB Omni, consulta Personaliza tu instalación de AlloyDB Omni.
Podman
podman logs CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Para configurar el comportamiento de registro de AlloyDB Omni, consulta Personaliza tu instalación de AlloyDB Omni.
Kubernetes
Busca los archivos de registro del clúster de base de datos
Los archivos postgresql.audit y postgresql.log se encuentran en el sistema de archivos del pod de la base de datos. postgresql.audit solo está presente si
habilitaste pgaudit.
Sigue estos pasos para acceder a estos archivos:
Define una variable de entorno que contenga el nombre del pod de la base de datos.
export DB_POD=`kubectl get pod -l alloydbomni.internal.dbadmin.goog/dbcluster=DB_CLUSTER_NAME,alloydbomni.internal.dbadmin.goog/task-type=database -o jsonpath='{.items[0].metadata.name}'`Reemplaza
DB_CLUSTER_NAMEpor el nombre de tu clúster de base de datos. Es el mismo nombre de clúster de base de datos que declaraste cuando tú lo creaste.Ejecuta un shell en el pod de la base de datos como raíz.
kubectl exec ${DB_POD} -it -- /bin/bashBusca los archivos de registro en el directorio
/obs/diagnostic/:/obs/diagnostic/postgresql.audit/obs/diagnostic/postgresql.log
Enumera los servicios de supervisión
v1.0
Cuando creas un clúster de base de datos, AlloyDB Omni crea el siguiente servicio de supervisión para cada CR de instancia del clúster de base de datos en el mismo espacio de nombres:
al-INSTANCE_NAME-monitoring-system
Para enumerar los servicios de supervisión, ejecuta el siguiente comando.
kubectl get svc -n NAMESPACE | grep monitoring
Reemplaza NAMESPACE por un espacio de nombres al que pertenece tu clúster.
En la siguiente respuesta de ejemplo, se muestran los servicios al-1060-dbc-monitoring-system, al-3de6-dbc-monitoring-system y al-4bc0-dbc-monitoring-system. Cada servicio corresponde a una instancia.
al-1060-dbc-monitoring-system ClusterIP 10.0.15.227 <none> 9187/TCP 7d20h
al-3de6-dbc-monitoring-system ClusterIP 10.0.5.205 <none> 9187/TCP 7d19h
al-4bc0-dbc-monitoring-system ClusterIP 10.0.15.92 <none> 9187/TCP 7d19h
Versión < 1.0
Cuando creas un clúster de base de datos, AlloyDB Omni crea los siguientes servicios de supervisión en el mismo espacio de nombres que el clúster de base de datos:
DB_CLUSTER-monitoring-dbDB_CLUSTER-monitoring-system
Para enumerar los servicios de supervisión, ejecuta el siguiente comando.
kubectl get svc -n NAMESPACE | grep monitoring
Reemplaza NAMESPACE por un espacio de nombres al que pertenece tu clúster.
En la siguiente respuesta de ejemplo, se muestran los servicios al-2953-dbcluster-foo7-monitoring-system y al-2953-dbcluster-foo7-monitoring-db.
al-2953-dbcluster-foo7-monitoring-db ClusterIP 10.36.3.243 <none> 9187/TCP 44m
al-2953-dbcluster-foo7-monitoring-system ClusterIP 10.36.7.72 <none> 9187/TCP 44m
Visualiza las métricas de Prometheus desde la línea de comandos
El puerto 9187 se denomina metricsalloydbomni para todos los servicios de supervisión.
Configura el reenvío de puertos desde tu entorno local al servicio de supervisión.
kubectl port-forward service/MONITORING_SERVICE -n NAMESPACE MONITORING_METRICS_PORT:metricsalloydbomniReemplaza lo siguiente:
MONITORING_SERVICE: Es el nombre del servicio de supervisión que deseas reenviar, por ejemplo,al-1060-dbc-monitoring-system.NAMESPACE: Es el espacio de nombres al que pertenece tu clúster.MONITORING_METRICS_PORT: Es un puerto TCP local disponible.
En la siguiente respuesta, se muestra que los servicios se están reenviando.
Forwarding from 127.0.0.1:9187 -> 9187 Forwarding from [::1]:9187 -> 9187Mientras se ejecuta el comando anterior, puedes acceder a las métricas de supervisión a través de HTTP en el puerto que especificaste. Por ejemplo, puedes usar
curlpara ver todas las métricas como texto sin formato:curl http://localhost:MONITORING_METRICS_PORT/metrics
Visualiza las métricas con la API de Prometheus
La clave de etiqueta alloydbomni.internal.dbadmin.goog/task-type y el puerto metricsalloydbomni están disponibles como valores predeterminados para todos los servicios de supervisión en AlloyDB Omni. Puedes usarlos junto con un solo serviceMonitor recurso personalizado para seleccionar todos los servicios de todos los espacios de nombres de tu clúster de base de datos.
Para obtener más información sobre el uso de la API de Prometheus, consulta la documentación del operador de Prometheus.
A continuación, se muestra un ejemplo del campo spec del recurso personalizado serviceMonitor que incluye la clave de etiqueta alloydbomni.internal.dbadmin.gdc.goog/task-type y el puerto metricsalloydbomni. El recurso personalizado serviceMonitor supervisa y recopila todos los servicios de Kubernetes en todos los espacios de nombres.
Para obtener más información sobre la definición completa de ServiceMonitor, consulta la definición del recurso personalizado ServiceMonitor .
v1.0
spec:
selector:
matchLabels:
alloydbomni.internal.dbadmin.goog/task-type: monitoring
namespaceSelector:
any: true
endpoints:
- port: metricsalloydbomni
Versión < 1.0
spec:
selector:
matchExpressions:
- key: alloydbomni.internal.dbadmin.gdc.goog/task-type
operator: Exists
values: []
namespaceSelector:
any: true
endpoints:
- port: metricsalloydbomni
Actualiza AlloyDB Omni
Para actualizar de AlloyDB Omni 15.5.2 o versiones anteriores a 15.5.4, sigue las instrucciones en Migra de una versión anterior de AlloyDB Omni a la versión más reciente.
Para actualizar de 15.5.4 y versiones posteriores, haz lo siguiente:
Reinicia AlloyDB Omni con una versión de imagen nueva.
Asegúrate de especificar tu directorio de datos para que coincida con la misma ruta de acceso que se usó en versiones anteriores de AlloyDB Omni.
Desinstala AlloyDB Omni
Servidor único
Para desinstalar AlloyDB Omni, detén y borra el contenedor de AlloyDB Omni con el siguiente comando:
Docker
docker container stop CONTAINER_NAME
docker container rm CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Podman
podman container stop CONTAINER_NAME
podman container rm CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Podman
podman container stop CONTAINER_NAME
podman container rm CONTAINER_NAMEReemplaza CONTAINER_NAME por el nombre de tu contenedor de AlloyDB Omni.
Puedes mover, archivar o borrar un directorio de datos externo según si deseas conservar tus datos después de desinstalar AlloyDB Omni y cómo deseas hacerlo.
Kubernetes
Borra el clúster de base de datos
Para borrar tu clúster de base de datos, establece isDeleted en true en su manifiesto.
Puedes hacerlo con el siguiente comando.
kubectl patch dbclusters.alloydbomni.dbadmin.goog DB_CLUSTER_NAME -p '{"spec":{"isDeleted":true}}' --type=mergeReemplaza DB_CLUSTER_NAME por 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.
Desinstala el operador de AlloyDB Omni
Para desinstalar el operador de Kubernetes de AlloyDB Omni de tu clúster de Kubernetes, sigue estos pasos:
Borra todos tus clústeres de base de datos:
for ns in $(kubectl get dbclusters.alloydbomni.dbadmin.goog --all-namespaces -o=jsonpath='{range .items[*]}{.metadata.namespace}{"\n"}{end}'); do for cr in $(kubectl get dbclusters.alloydbomni.dbadmin.goog -n $ns -o=jsonpath='{range .items[*]}{.metadata.name}{"\n"}{end}'); do kubectl patch dbclusters.alloydbomni.dbadmin.goog $cr -n $ns --type=merge -p '{"spec":{"isDeleted":true}}' done doneEspera a que el operador de Kubernetes de AlloyDB Omni borre todos tus clústeres de base de datos. Usa el siguiente comando para verificar si quedan recursos de base de datos:
kubectl get dbclusters.alloydbomni.dbadmin.goog --all-namespacesBorra otros recursos que creó el operador de Kubernetes de AlloyDB Omni:
kubectl delete failovers.alloydbomni.dbadmin.goog --all --all-namespaceskubectl delete restores.alloydbomni.dbadmin.goog --all --all-namespaceskubectl delete switchovers.alloydbomni.dbadmin.goog --all --all-namespacesDesinstala el operador de Kubernetes de AlloyDB Omni:
helm uninstall alloydbomni-operator --namespace alloydb-omni-systemLimpia los secretos, las descripciones de recursos personalizados y los espacios de nombres relacionados con el operador de Kubernetes de AlloyDB Omni:
kubectl delete certificate -n alloydb-omni-system --allkubectl get secrets --all-namespaces -o custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,ANNOTATION:.metadata.annotations.cert-manager\.io/issuer-name | grep -E 'alloydbomni|dbs-al' | awk '{print $1 " " $2}' | xargs -n 2 kubectl delete secret -nkubectl delete crd -l alloydb-omni=truekubectl delete ns alloydb-omni-system
Cambia el tamaño de tu clúster de base de datos basado en Kubernetes
Para cambiar el tamaño de la CPU, la memoria o el almacenamiento de tu clúster de base de datos basado en Kubernetes, actualiza el campo resources de los manifiestos que definen su pod. El operador de AlloyDB Omni aplica las nuevas especificaciones a tu pod de base de datos de inmediato.
Para obtener más información sobre la sintaxis del manifiesto del operador de AlloyDB Omni, consulta Crea un clúster de base de datos.
Se aplican las siguientes restricciones a la modificación de los recursos de un clúster de base de datos en ejecución:
- Solo puedes aumentar el tamaño de un disco si el
storageClassespecificado admite la expansión del volumen. - No puedes disminuir el tamaño de un disco.