Mostrar a configuração de um servidor PostgreSQL habilitado para Azure Arc
Este artigo explica como exibir a configuração do seu servidor. Fá-lo antecipando algumas perguntas que poderá estar a fazer a si próprio e responde-lhes. Às vezes, pode haver várias respostas válidas. Este artigo apresenta os mais comuns ou úteis. Agrupa essas perguntas por tema:
- Do ponto de vista do Kubernetes
- Do ponto de vista dos serviços de dados habilitados para o Azure Arc
Nota
Como funcionalidade de pré-visualização, a tecnologia apresentada neste artigo está sujeita aos Termos de Utilização Suplementares para Pré-visualizações do Microsoft Azure.
As atualizações mais recentes estão disponíveis nas notas de versão.
Do ponto de vista do Kubernetes
Quais são os servidores Postgres implantados e quantos pods eles estão usando?
Liste os recursos do Kubernetes do tipo Postgres. Execute o comando:
kubectl get postgresqls -n <namespace>
A saída deste comando mostra a lista de grupos de servidores criados. Para cada um, indica o número de vagens. 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 foi criado. Ele roda em um pod.
Quais pods são usados pelos servidores PostgreSQL habilitados para Azure Arc?
Executar:
kubectl get pods -n <namespace>
O comando retorna a lista de pods. Você verá os pods usados por seus servidores com base nos nomes que você deu 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?
Corra kubectl get pods -n <namespace>
e olhe para a coluna STATUS
Que declarações de volume persistente (PVCs) estão sendo usadas?
Para entender quais PVCs são usados e quais são usados para dados e logs, execute:
kubectl get pvc -n <namespace>
Por padrão, o prefixo do nome de um PVC indica seu uso:
data-
...: é o PVC utilizado para ficheiros de dadoslogs-
...: é um PVC usado 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 deste comando é:
kubectl describe <CRD name>/<server name> -n <namespace>
Por exemplo:
kubectl describe postgresql/postgres01 -n arc
Este 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
mostrado acima. O que nos diz sobre este servidor?
Foi criado durante o dia 13 de outubro de 2021:
Metadata: Creation Timestamp: 2021-10-13T01:09:25Z
Configuração de recursos: neste exemplo, é garantido 256Mi de memória. O servidor não pode usar mais que 1Gi de memória. É garantido um vCore e não pode consumir mais de dois vCores.
Scheduling: Default: Resources: Limits: Cpu: 2 Memory: 1Gi Requests: Cpu: 1 Memory: 256Mi
Qual é o status do servidor? Está disponível para as minhas candidaturas?
Sim, os pods estão prontos
Ready Pods: 1/1
Do ponto de vista dos serviços de dados habilitados para o Azure Arc
Use os comandos Az CLI.
Quais são os servidores Postgres implantados?
Execute o seguinte comando.
az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Ele lista os servidores que são implantados.
[
{
"name": "postgres01",
"state": "Ready"
}
]
Quanta memória e vCores estão sendo usados?
Execute um dos seguintes comandos
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 semelhantes ao retornado pelo kubectl. Use a ferramenta de sua escolha para interagir com o sistema.