Share via


Anzeigen der Konfiguration eines Azure Arc-fähigen PostgreSQL-Servers

In diesem Artikel wird erläutert, wie Sie die Konfiguration Ihres Servers anzeigen. Dies geschieht durch die Beantwortung einiger Fragen, die Sie sich möglicherweise bereits selbst gestellt haben. Manchmal gibt es mehrere gültige Antworten. In diesem Artikel werden die gängigsten oder nützlichsten Artikel erläutert. Diese Fragen werden nach Themen gruppiert:

  • Aus Sicht von Kubernetes
  • Aus Sicht eines Datendiensts mit Azure Arc-Unterstützung

Hinweis

Als Previewfunktion unterliegt die in diesem Artikel vorgestellte Technologie den zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen.

Die neuesten Updates sind in den Versionshinweisenverfügbar.

Aus Sicht von Kubernetes

Welche Postgres-Server werden bereitgestellt und wie viele Pods verwenden sie?

Listen Sie die Kubernetes-Ressourcen vom Typ „Postgres“ auf. Führen Sie den folgenden Befehl aus:

kubectl get postgresqls -n <namespace>

In der Ausgabe dieses Befehls wird die Liste der erstellten Servergruppen angezeigt. Für jede Servergruppe wird die Anzahl der Pods angegeben. Beispiel:

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

Dieses Beispiel zeigt, dass ein Server erstellt wird. Er wird auf einem Pod ausgeführt.

Welche Pods werden von PostgreSQL-Servern mit Azure Arc-Unterstützung verwendet?

Führen Sie Folgendes aus:

kubectl get pods -n <namespace>

Der Befehl gibt die Liste der Pods zurück. Die Pods, die von Ihren Servern verwendet werden, werden basierend auf den Namen angezeigt, die Sie diesen Servern gegeben haben. Beispiel:

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

Wie lautet der Status der Pods?

Führen Sie kubectl get pods -n <namespace> aus, und sehen Sie sich die Spalte STATUS an.

Welche persistenten Volumeansprüche (Persistent Volume Claims, PVCs) werden verwendet?

Um zu verstehen, welche PVCs allgemein und welche PVCs für Daten und Protokolle verwendet werden, führen Sie Folgendes aus:

kubectl get pvc -n <namespace>

Standardmäßig gibt das Präfix des Namens eines PVCs seine Verwendung an:

  • data-...: ist ein für Datendateien verwendeter PVC
  • logs-...: ist ein für Transaktionsprotokolle/WAL-Dateien verwendeter PVC

Beispiel:

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

Wie viel Arbeitsspeicher und wie viele virtuelle Kerne werden von einem Server verwendet?

Verwenden Sie kubectl, um Postgres-Ressourcen zu beschreiben. Dazu benötigen Sie deren Art (Name der Kubernetes-Ressource (CRD) für Postgres in Azure Arc) sowie den Namen der Servergruppe.

Das allgemeine Format des Befehls lautet:

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

Beispiel:

kubectl describe postgresql/postgres01 -n arc

Mit diesem Befehl wird die Konfiguration der Servergruppe angezeigt:

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>

Interpretieren der Konfigurationsinformationen

Benennen wir einige bestimmte relevante Punkte in der Beschreibung der oben gezeigten server. Welche Informationen erhalten wir zu diesem Server?

  • Sie wurde am 13. Oktober 2021 erstellt:

       Metadata:
       Creation Timestamp:  2021-10-13T01:09:25Z
    
  • Ressourcenkonfiguration: In diesem Beispiel sind es garantiert 256 Mi Arbeitsspeicher. Der Server kann nicht mehr als 1 Gi an Arbeitsspeicher verwenden. Ihm ist ein virtueller Kern garantiert und er kann nicht mehr als zwei virtuelle Kerne nutzen.

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • Wie ist der Status des Servers? Ist sie für meine Anwendungen verfügbar?

    Ja, die Pods sind bereit

    Ready Pods:                1/1
    

Aus Sicht eines Datendiensts mit Azure Arc-Unterstützung

Verwenden Sie Az-CLI-Befehle.

Welche Postgres-Server wurden bereitgestellt?

Führen Sie den folgenden Befehl aus.

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

Er listet die bereitgestellten Server auf.

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

Wie viel Arbeitsspeicher und wie viele virtuelle Kerne werden verwendet?

Führen Sie einen der folgenden Befehlen aus.

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

Beispiel:

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

Gibt die Informationen in einem Format und als Inhalt zurück, die der von kubectl zurückgegebenen Ausgabe ähnlich sind. Verwenden Sie das Tool Ihrer Wahl, um mit dem System zu interagieren.