Share via


Visualizzare la configurazione di un server PostgreSQL abilitato per Azure Arc

Questo articolo illustra come visualizzare la configurazione del server. Lo fa anticipando alcune domande che potresti porre a te stesso e risponde a loro. A volte, potrebbero esserci diverse risposte valide. Questo articolo offre i più comuni o utili. Raggruppa queste domande in base al tema:

  • Dal punto di vista di Kubernetes
  • Da un punto di vista dei servizi dati abilitato per Azure Arc

Nota

In quanto funzionalità di anteprima, la tecnologia presentata in questo articolo è soggetta alle condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.

Gli aggiornamenti più recenti sono disponibili nelle note sulla versione.

Dal punto di vista di Kubernetes

Quali sono i server Postgres distribuiti e quanti pod usano?

Elencare le risorse Kubernetes di tipo Postgres. Eseguire il comando seguente:

kubectl get postgresqls -n <namespace>

L'output di questo comando mostra l'elenco dei gruppi di server creati. Per ognuno, indica il numero di pod. Ad esempio:

NAME         STATE   READY-PODS   PRIMARY-ENDPOINT     AGE
postgres01   Ready   1/1          20.101.12.221:5432   12d

Questo esempio mostra che viene creato un server. Viene eseguito su un pod.

Quali pod vengono usati dai server PostgreSQL abilitati per Azure Arc?

Terza fase

kubectl get pods -n <namespace>

Il comando restituisce l'elenco dei pod. Verranno visualizzati i pod usati dai server in base ai nomi forniti a tali server. Ad esempio:

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 è lo stato dei pod?

Eseguire kubectl get pods -n <namespace> e esaminare la colonna STATUS

Quali attestazioni di volume permanente (PVC) vengono usate?

Per comprendere quali schede di dati vengono usate e quali vengono usate per i dati e i log, eseguire:

kubectl get pvc -n <namespace>

Per impostazione predefinita, il prefisso del nome di un PVC indica il suo utilizzo:

  • data-...: è PVC usato per i file di dati
  • logs-...: è un PVC usato per i log delle transazioni/file WAL

Ad esempio:

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
...

Quanto memoria e vCore vengono usati da un server?

Usare kubectl per descrivere le risorse di Postgres. A tale scopo, è necessario il tipo (nome della risorsa Kubernetes per Postgres in Azure Arc) e il nome del gruppo di server.

Il formato generale di questo comando è:

kubectl describe <CRD name>/<server name> -n <namespace>

Ad esempio:

kubectl describe postgresql/postgres01 -n arc

Questo comando mostra la configurazione del gruppo di server:

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>

Interpretare le informazioni di configurazione

Si esaminino alcuni punti di interesse specifici nella descrizione dell'esempio server precedente. Che cosa ci dice di questo server?

  • È stato creato durante il 13 ottobre 2021:

       Metadata:
       Creation Timestamp:  2021-10-13T01:09:25Z
    
  • Configurazione della risorsa: in questo esempio è garantita la 256Mi di memoria. Il server non può usare più di 1Gi di memoria. È garantito un vCore e non può usare più di due vCore.

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • Qual è lo stato del server? È disponibile per le applicazioni?

    Sì, i pod sono pronti

    Ready Pods:                1/1
    

Da un punto di vista dei servizi dati abilitato per Azure Arc

Usare i comandi dell'interfaccia della riga di comando di Az.

Quali sono i server Postgres distribuiti?

Esegui il comando seguente:

az postgres server-arc list --k8s-namespace <namespace> --use-k8s

Elenca i server distribuiti.

[
  {
    "name": "postgres01",
    "state": "Ready"
  }
]

Quanta memoria e vCore vengono usati?

Eseguire uno dei comandi seguenti

az postgres server-arc show -n <server name>  --k8s-namespace <namespace> --use-k8s

Ad esempio:

az postgres server-arc show -n postgres01 --k8s-namespace arc --use-k8s

Restituisce le informazioni in un formato e contenuto simile a quello restituito da kubectl. Usare lo strumento preferito per interagire con il sistema.