Mostrar la configuración de un servidor PostgreSQL habilitado para Azure Arc
En este artículo se explica cómo mostrar la configuración del servidor. Lo explica anticipando algunas preguntas que puede que se haga y que encuentre respuestas. En ocasiones, puede haber varias respuestas válidas. En este artículo se detallan las más comunes y otras de utilidad. Esas preguntas se agrupan por tema:
- Desde el punto de vista de Kubernetes
- Desde el punto de vista de los servicios de datos habilitados para Azure Arc
Nota:
Como característica en versión preliminar, la tecnología que se presenta en este artículo está sujeta a los términos de uso complementarios para las versiones preliminares de Microsoft Azure.
Las actualizaciones más recientes están disponibles en las notas de la versión.
Desde el punto de vista de Kubernetes
¿Cuáles son los servidores de Postgres implementados y cuántos pods usan?
Enumere los recursos de Kubernetes del tipo Postgres. Ejecute el comando:
kubectl get postgresqls -n <namespace>
La salida de este comando muestra la lista de grupos de servidores creados. Para cada uno, se indica el número de pods. Por ejemplo:
NAME STATE READY-PODS PRIMARY-ENDPOINT AGE
postgres01 Ready 1/1 20.101.12.221:5432 12d
En este ejemplo se muestra que se crea un servidor. Se ejecuta en un pod.
¿Qué pods se usan en servidores PostgreSQL habilitados para Azure Arc?
Ejecute:
kubectl get pods -n <namespace>
El comando devuelve la lista de pods. Verá los pods usados por servidores en función de los nombres asignados a esos servidores. Por ejemplo:
NAME READY STATUS RESTARTS AGE
bootstrapper-4jrtl 1/1 Running 0 12d
control-kz8gh 2/2 Running 0 12d
controldb-0 2/2 Running 0 12d
logsdb-0 3/3 Running 0 12d
logsui-qjkgz 3/3 Running 0 12d
metricsdb-0 2/2 Running 0 12d
metricsdc-4jslw 2/2 Running 0 12d
metricsdc-4tl2g 2/2 Running 0 12d
metricsdc-fkxv2 2/2 Running 0 12d
metricsdc-hs4h5 2/2 Running 0 12d
metricsdc-tvz22 2/2 Running 0 12d
metricsui-7pcch 2/2 Running 0 12d
postgres01-0 3/3 Running 0 2d19h
¿Cuál es el estado de los pods?
Ejecute kubectl get pods -n <namespace>
y examine la columna STATUS
.
¿Qué notificaciones de volumen persistente (PVC) se usan?
Para comprender qué PVC se usan, y cuáles se usan para datos y registros, ejecute:
kubectl get pvc -n <namespace>
De forma predeterminada, el prefijo del nombre de una PVC indica su uso:
data-
...: es una PVC que se usa para archivos de datos.logs-
...: es una PVC que se usa para los registros de transacciones y los archivos WAL.
Por ejemplo:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound local-pv-3c1a8cc5 1938Gi RWO local-storage 6d6h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound local-pv-8303ab19 1938Gi RWO local-storage 6d6h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound local-pv-55572fe6 1938Gi RWO local-storage 6d6h
...
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0 Bound local-pv-5e852b76 1938Gi RWO local-storage 6d6h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1 Bound local-pv-55d309a7 1938Gi RWO local-storage 6d6h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2 Bound local-pv-5ccd02e6 1938Gi RWO local-storage 6d6h
...
¿Cuánta memoria y núcleos virtuales usa un servidor?
Use kubectl para describir los recursos de Postgres. Para ello, necesita su tipo (nombre del recurso de Kubernetes, CRD, para Postgres en Azure Arc) y el nombre del grupo de servidores.
El formato general de este comando es:
kubectl describe <CRD name>/<server name> -n <namespace>
Por ejemplo:
kubectl describe postgresql/postgres01 -n arc
Este comando muestra la configuración del grupo de servidores:
Name: postgres01
Namespace: arc
Labels: <none>
Annotations: <none>
API Version: arcdata.microsoft.com/v1beta2
Kind: PostgreSql
Metadata:
Creation Timestamp: 2021-10-13T01:09:25Z
Generation: 29
Managed Fields:
API Version: arcdata.microsoft.com/v1beta2
Fields Type: FieldsV1
fieldsV1:
f:spec:
.:
f:dev:
f:scheduling:
.:
f:default:
.:
f:resources:
.:
f:limits:
.:
f:cpu:
f:memory:
f:requests:
.:
f:cpu:
f:memory:
f:services:
.:
f:primary:
.:
f:port:
f:type:
f:storage:
.:
f:data:
.:
f:volumes:
f:logs:
.:
f:volumes:
Manager: OpenAPI-Generator
Operation: Update
Time: 2021-10-22T22:37:51Z
API Version: arcdata.microsoft.com/v1beta2
Fields Type: FieldsV1
fieldsV1:
f:IsValid:
f:status:
.:
f:lastUpdateTime:
f:logSearchDashboard:
f:metricsDashboard:
f:observedGeneration:
f:primaryEndpoint:
f:readyPods:
f:state:
Manager: unknown
Operation: Update
Time: 2021-10-22T22:37:53Z
Resource Version: 1541521
UID: 23565e53-2e7a-4cd6-8f80-3a79397e1d7a
Spec:
Dev: false
Scheduling:
Default:
Resources:
Limits:
Cpu: 2
Memory: 1Gi
Requests:
Cpu: 1
Memory: 256Mi
Services:
Primary:
Port: 5432
Type: LoadBalancer
Storage:
Data:
Volumes:
Class Name: managed-premium
Size: 5Gi
Logs:
Volumes:
Class Name: managed-premium
Size: 5Gi
Status:
Last Update Time: 2021-10-22T22:37:53.000000Z
Log Search Dashboard: https://12.235.78.99:5601/app/kibana#/discover?_a=(query:(language:kuery,query:'custom_resource_name:postgres01'))
Metrics Dashboard: https://12.346.578.99:3000/d/postgres-metrics?var-Namespace=arc&var-Name=postgres01
Observed Generation: 29
Primary Endpoint: 20.101.12.221:5432
Ready Pods: 1/1
State: Ready
Events: <none>
Interpretación de la información de configuración
Vamos a explicar algunos puntos específicos de interés de la descripción del elemento server
mostrada anteriormente. ¿Qué nos informa sobre este servidor?
Se creó el 13 de octubre de 2021:
Metadata: Creation Timestamp: 2021-10-13T01:09:25Z
Configuración de recursos: en este ejemplo, se garantizan 256 Mi de memoria. El servidor no puede usar más de 1 Gi de memoria. Se le garantiza un núcleo virtual y no puede consumir más de dos núcleos virtuales.
Scheduling: Default: Resources: Limits: Cpu: 2 Memory: 1Gi Requests: Cpu: 1 Memory: 256Mi
¿Cuál es el estado del servidor? ¿Está disponible para mis aplicaciones?
Sí, los pods están listos.
Ready Pods: 1/1
Desde el punto de vista de los servicios de datos habilitados para Azure Arc
Use los comandos de la CLI de Az.
¿Cuáles son los servidores Postgres implementados?
Ejecute el siguiente comando:
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Enumera los servidores que hay implementados.
[
{
"name": "postgres01",
"state": "Ready"
}
]
¿Cuánta memoria y núcleos virtuales se usan?
Ejecute uno de los siguientes comandos:
az postgres server-arc show -n <server name> --k8s-namespace <namespace> --use-k8s
Por ejemplo:
az postgres server-arc show -n postgres01 --k8s-namespace arc --use-k8s
Devuelve la información en un formato y contenido similar al devuelto por kubectl. Use la herramienta que prefiera para interactuar con el sistema.
Contenido relacionado
- Obtenga información acerca de cómo escalar o reducir verticalmente (aumentar o reducir la memoria y/o los núcleos virtuales) de un grupo de servidores.
- Obtenga información sobre la configuración de almacenamiento.
- Consulte cómo supervisar una instancia de base de datos
- Configuración de la seguridad del servidor PostgreSQL habilitado para Azure Arc