Partilhar via


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 dados
  • logs-...: é 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.