Partager via


Afficher la configuration d’un serveur PostgreSQL avec Azure Arc

Cet article explique comment afficher la configuration de votre serveur. Pour cela, il anticipe certaines questions que vous pourriez vous poser et y répond. Il peut parfois y avoir plusieurs réponses valides. Cet article présente les réponses les plus courantes ou les plus utiles. Il regroupe ces questions par thème :

  • Du point de vue de Kubernetes
  • Du point de vue des services de données activés pour Azure Arc

Remarque

En tant que fonctionnalité en préversion, la technologie présentée dans cet article est soumise aux conditions d’utilisation supplémentaires des préversions de Microsoft Azure.

Les dernières mises à jour sont disponibles dans les notes de publication.

Du point de vue de Kubernetes

Quels sont les serveurs Postgres déployés et combien de pods utilisent-ils ?

Listez les ressources Kubernetes de type Postgres. Exécutez la commande suivante :

kubectl get postgresqls -n <namespace>

La sortie de cette commande montre la liste des groupes de serveurs créés. Pour chacun, il indique le nombre de pods. Par exemple :

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

Cet exemple montre qu’un serveur est créé. Il s’exécute sur un pod.

Combien de pods les serveurs PostgreSQL avec Azure Arc utilisent-ils ?

Run :

kubectl get pods -n <namespace>

La commande retourne la liste des pods. Vous voyez les pods utilisés par vos serveurs grâce aux noms que vous leur avez donnés. Par exemple :

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

Quel est l’état des pods ?

Exécutez kubectl get pods -n <namespace> et examinez la colonne STATUS.

Quelles revendications de volume persistant sont utilisées ?

Pour comprendre quelles revendications de volume persistant sont utilisées, et lesquelles sont utilisées spécifiquement pour les données et les journaux, exécutez :

kubectl get pvc -n <namespace>

Par défaut, le préfixe du nom d’une revendication de volume persistant indique son utilisation :

  • data-... : est une revendication de volume persistant utilisée pour les fichiers de données
  • logs-... : est une revendication de volume persistant utilisée pour les journaux de transactions/les fichiers WAL

Par exemple :

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

Quelle quantité de mémoire et de vCores un serveur utilise-t-il ?

Utilisez kubectl pour décrire une ressource Postgres. Pour ce faire, vous avez besoin de son genre (nom de la ressource Kubernetes (CRD) pour Postgres dans Azure Arc) et du nom du groupe de serveurs.

Le format général de cette commande est le suivant :

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

Par exemple :

kubectl describe postgresql/postgres01 -n arc

Cette commande montre la configuration du groupe de serveurs :

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>

Interpréter les informations de configuration

Détaillons quelques points d’intérêt spécifiques dans la description du server présentée ci-dessus. Que nous dit-elle de ce serveur ?

  • Il a été créé le 13 octobre 2021 :

       Metadata:
       Creation Timestamp:  2021-10-13T01:09:25Z
    
  • Configuration des ressources : dans cet exemple, 256 Mi de mémoire sont garantis. Le serveur ne peut pas utiliser plus de 1 Gi de mémoire. Un vCore est garanti et il ne peut pas en utiliser plus de deux.

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • Quel est l’état du serveur ? Est-il disponible pour mes applications ?

    Oui, le pod est prêt

    Ready Pods:                1/1
    

Du point de vue des services de données activés pour Azure Arc

Utilisez les commandes Az CLI.

Quels sont les serveurs Postgres déployés ?

Exécutez la commande suivante :

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

Elle répertorie les serveurs déployés.

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

Quelle est la quantité de mémoire et de vCores utilisée ?

Exécutez une des commandes suivantes.

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

Par exemple :

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

Retourne les informations dans un format et avec un contenu similaire à celui retourné par kubectl. Utilisez l’outil de votre choix pour interagir avec le système.