Share via


Azure Arc 対応 PostgreSQL サーバーの構成を表示する

この記事では、サーバーの構成を表示する方法について説明します。 そのために、あなたが自問する可能性がある質問をいくつか予測し、それらに答えます。 場合によっては、複数の有効な答えがあることがあります。 この記事では、最も一般的または有益なものを紹介します。 それらの質問をテーマ別にグループ化します。

  • Kubernetes の観点から
  • Azure Arc 対応データ サービスの観点から

Note

この記事で紹介しているテクノロジはプレビュー機能であり、「Microsoft Azure プレビューの追加利用規約」に従うことを条件として提供されます。

最新の更新プログラムについては、リリース ノートを参照してください。

Kubernetes の観点から

Postgres サーバーはどのようにデプロイされていますか? また、使用しているポッドの数はどのくらいですか?

Postgres の種類の Kubernetes リソースを一覧表示します。 次のコマンドを実行します。

kubectl get postgresqls -n <namespace>

このコマンドの出力では、作成されたサーバー グループの一覧が表示されます。 それぞれにポッド数が示されます。 次に例を示します。

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

この例は、1 つのサーバーが作成されていることを示しています。 これは 1 つのポッドで実行されます。

Azure Arc 対応 PostgreSQL サーバーではどのようなポッドが使用されますか?

次を実行します。

kubectl get pods -n <namespace>

コマンドによって、ポッドの一覧が返されます。 サーバーによって使用されているポッドが、それらのサーバーに付けた名前に基づいて表示されます。 次に例を示します。

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

ポッドの状態は何ですか?

kubectl get pods -n <namespace> を実行して、STATUS 列を確認します

どのような永続ボリューム要求 (PVC) が使用されていますか?

使用される PVC と、どれがデータとログに使用されるかを理解するには、次を実行します。

kubectl get pvc -n <namespace>

既定で、PVC の名前のプレフィックスはその使用法を示しています。

  • data-: データ ファイルに使用される PVC です
  • logs-: トランザクション ログ/WAL ファイルに使用される PVC です

次に例を示します。

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

サーバーで使用されるメモリと仮想コアの量はどれくらいですか?

Kubectl を使用して Postgres リソースを記述します。 これを行うには、その種類 (Azure Arc の Postgres の Kubernetes リソース (CRD) の名前) とサーバーグループの名前が必要です。

このコマンドの一般的な形式は次のとおりです。

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

次に例を示します。

kubectl describe postgresql/postgres01 -n arc

このコマンドによって、サーバー グループの構成が示されます。

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>

構成情報を解釈する

先述の server の説明のいくつかの特定の重要ポイントに注目してみましょう。 それにより、このサーバーについて何がわかりますか?

  • 2021 年 10 月 13 日に作成されました。

       Metadata:
       Creation Timestamp:  2021-10-13T01:09:25Z
    
  • リソース構成: この例では、256 Mi のメモリが保証されています。 サーバーでは、1 Gi を超えるメモリは使用できません。 仮想コアは 1 つは保証されますが、2 つを超える仮想コアは使用できません。

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • サーバーはどのような状態ですか? 自分のアプリケーションで使用できますか?

    はい、ポッドは準備できています

    Ready Pods:                1/1
    

Azure Arc 対応データ サービスの観点から

Az CLI コマンドを使用します。

Postgres サーバーでは何をデプロイしますか?

次のコマンドを実行します。

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

デプロイされているサーバーが一覧表示されます。

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

使用されるメモリと仮想コアの量はどれくらいですか?

次のコマンドのいずれかを実行します

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

次に例を示します。

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

kubectl によって返されるものとよく似た形式と内容で、以下の情報が返されます。 任意のツールを使用して、システムと対話します。