Mostrar a configuração de um servidor PostgreSQL habilitado para Azure Arc
Este artigo explica como exibir a configuração do seu servidor. Ele faz isso prevendo algumas perguntas que você pode estar fazendo e as responde. Às vezes, pode haver várias respostas válidas. Este artigo foca as mais comuns ou úteis. Ele agrupa essas perguntas por tema:
- De um ponto de vista do Kubernetes
- De um ponto de vista dos serviços de dados habilitados para Azure Arc
Observação
Como uma versão prévia do recurso, a tecnologia apresentada neste artigo está sujeita aos Termos de uso complementares para versões prévias do Microsoft Azure.
As atualizações mais recentes estão disponíveis nas notas sobre a versão.
De um ponto de vista do Kubernetes
Quais são os servidores Postgres implantados e quantos pods estão usando?
Liste os recursos do Kubernetes do tipo Postgres. Execute o comando:
kubectl get postgresqls -n <namespace>
A saída desse comando mostra a lista de grupos de servidores criados. Para cada um, indica o número de pods. Por exemplo:
NAME STATE READY-PODS PRIMARY-ENDPOINT AGE
postgres01 Ready 1/1 20.101.12.221:5432 12d
Este exemplo mostra que um servidor é criado. Ele é executado em um pod.
Quais pods são usados pelo servidores PostgreSQL habilitados para Azure Arc?
Correr:
kubectl get pods -n <namespace>
O comando retorna a lista de pods. Você verá os pods usados pelos seus servidores com base nos nomes que você forneceu a esses servidores. Por exemplo:
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
Qual é o status dos pods?
Execute kubectl get pods -n <namespace>
e examine a coluna STATUS
Quais PVCs (declarações de volume persistentes) estão sendo usadas?
Para entender quais PVCs são usadas, bem como quais são usadas para dados e logs, execute:
kubectl get pvc -n <namespace>
Por padrão, o prefixo do nome de uma PVC indica seu uso:
data-
...: é uma PVC usada para arquivos de dadoslogs-
...: é uma PVC usada para logs de transações/arquivos WAL
Por exemplo:
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
...
Quanta memória e vCores estão sendo usados por um servidor?
Use kubectl para descrever os recursos do Postgres. Para fazer isso, você precisa de seu tipo (nome do recurso Kubernetes [CRD] para postgres no Azure Arc) e o nome do grupo de servidores.
O formato geral desse comando é:
kubectl describe <CRD name>/<server name> -n <namespace>
Por exemplo:
kubectl describe postgresql/postgres01 -n arc
Esse comando mostra a configuração do 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>
Interpretar as informações de configuração
Vamos destacar alguns pontos de interesse específicos na descrição do server
mostrada acima. O que ela nos diz sobre este servidor?
Ele foi criado durante em 13 de outubro de 2021:
Metadata: Creation Timestamp: 2021-10-13T01:09:25Z
Configuração de recurso: neste exemplo, ele tem 256 Mi de memória garantidos. O servidor não pode usar mais que 1 Gi de memória. Ele tem garantia de um vCore e não pode consumir mais que dois vCores.
Scheduling: Default: Resources: Limits: Cpu: 2 Memory: 1Gi Requests: Cpu: 1 Memory: 256Mi
Qual é o status do servidor? Ele está disponível para meus aplicativos?
Sim, os pods estão prontos
Ready Pods: 1/1
De um ponto de vista dos serviços de dados habilitados para Azure Arc
Use os comandos CLI do AZ.
Quais são os servidores Postgres implantados?
Execute o comando a seguir.
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Ele lista os servidores que estão implantados.
[
{
"name": "postgres01",
"state": "Ready"
}
]
Quanta memória e vCores estão sendo usados?
Executar um dos comandos a seguir
az postgres server-arc show -n <server name> --k8s-namespace <namespace> --use-k8s
Por exemplo:
az postgres server-arc show -n postgres01 --k8s-namespace arc --use-k8s
Retorna as informações em um formato e conteúdo semelhante ao retornado por kubectl. Use a ferramenta de sua escolha para interagir com o sistema.