Share via


De configuratie van een PostgreSQL-server met Azure Arc weergeven

In dit artikel wordt uitgelegd hoe u de configuratie van uw server kunt weergeven. Dit doet u door te anticiperen op enkele vragen die u mogelijk aan uzelf stelt en het beantwoordt ze. Soms kunnen er verschillende geldige antwoorden zijn. In dit artikel worden de meest voorkomende of nuttige plaatsen beschreven. Deze vragen worden gegroepeerd op thema:

  • Vanuit een Kubernetes-oogpunt
  • Vanuit het oogpunt van gegevensservices met Azure Arc

Notitie

Omdat het om een preview-functie gaat, is de technologie die in dit artikel wordt behandeld onderhevig aan de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews.

De meest recente updates zijn beschikbaar in de releaseopmerkingen.

Vanuit een Kubernetes-oogpunt

Wat zijn de Postgres-servers geïmplementeerd en hoeveel pods gebruiken ze?

Geef de Kubernetes-resources van het type Postgres weer. Voer de opdracht uit:

kubectl get postgresqls -n <namespace>

In de uitvoer van deze opdracht ziet u de lijst met servergroepen die zijn gemaakt. Voor elk item wordt het aantal pods aangegeven. Bijvoorbeeld:

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

In dit voorbeeld ziet u dat er één server wordt gemaakt. Het wordt uitgevoerd op één pod.

Welke pods worden gebruikt door PostgreSQL-servers met Azure Arc?

Run:

kubectl get pods -n <namespace>

De opdracht retourneert de lijst met pods. U ziet de pods die door uw servers worden gebruikt op basis van de namen die u aan deze servers hebt gegeven. Bijvoorbeeld:

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

Wat is de status van de pods?

De kubectl get pods -n <namespace> kolom uitvoeren en bekijken STATUS

Welke permanente volumeclaims (PVC's) worden gebruikt?

Voer de volgende opdracht uit om te begrijpen welke PVC's worden gebruikt en welke worden gebruikt voor gegevens en logboeken:

kubectl get pvc -n <namespace>

Standaard geeft het voorvoegsel van de naam van een PVC het gebruik aan:

  • data-...: is PVC gebruikt voor gegevensbestanden
  • logs-...: is een PVC dat wordt gebruikt voor transactielogboeken/WAL-bestanden

Bijvoorbeeld:

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

Hoeveel geheugen en vCores worden door een server gebruikt?

Gebruik kubectl om Postgres-resources te beschrijven. Hiervoor hebt u het type (naam van de Kubernetes-resource (CRD) voor Postgres in Azure Arc en de naam van de servergroep nodig.

De algemene indeling van deze opdracht is:

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

Bijvoorbeeld:

kubectl describe postgresql/postgres01 -n arc

Met deze opdracht wordt de configuratie van de servergroep weergegeven:

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>

De configuratie-informatie interpreteren

Laten we een aantal specifieke nuttige punten noemen in de beschrijving van de server bovenstaande beschrijving. Wat vertelt het ons over deze server?

  • Het werd gemaakt op 13 oktober 2021:

       Metadata:
       Creation Timestamp:  2021-10-13T01:09:25Z
    
  • Resourceconfiguratie: in dit voorbeeld is het gegarandeerde 256Mi aan geheugen. De server kan niet meer dan 1Gi geheugen gebruiken. Het is gegarandeerd één vCore en kan niet meer dan twee vCores verbruiken.

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • Wat is de status van de server? Is deze beschikbaar voor mijn toepassingen?

    Ja, de pods zijn klaar

    Ready Pods:                1/1
    

Vanuit het oogpunt van gegevensservices met Azure Arc

Gebruik Az CLI-opdrachten.

Wat zijn de Postgres-servers geïmplementeerd?

Voer de volgende opdracht uit.

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

Hierin worden de servers vermeld die zijn geïmplementeerd.

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

Hoeveel geheugen en vCores worden gebruikt?

Voer een van de volgende opdrachten uit

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

Bijvoorbeeld:

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

Retourneert de informatie in een indeling en inhoud die vergelijkbaar is met de inhoud die wordt geretourneerd door kubectl. Gebruik het hulpprogramma van uw keuze om met het systeem te communiceren.