다음을 통해 공유


Azure Arc 지원 PostgreSQL 서버의 구성 표시

이 문서에서는 서버의 구성을 표시하는 방법을 설명합니다. 문서에서는 사용자가 궁금해 할 수 있는 몇 가지 질문을 예상하여 설명하고 질문에 대한 답변을 제공합니다. 때로는 유효한 답변이 여러 개 있을 수 있습니다. 이 문서에서는 가장 일반적이거나 유용한 답변을 제공합니다. 다음과 같이 테마에 따라 질문을 그룹화합니다.

  • Kubernetes 관점에서
  • Azure Arc 지원 데이터 서비스 관점에서

참고 항목

미리 보기 기능으로, 이 문서에 제시된 기술에는 Microsoft Azure 미리 보기에 대한 보충 사용 약관이 적용됩니다.

최신 업데이트는 릴리스 정보에서 확인할 수 있습니다.

Kubernetes 관점에서

배포된 Postgres 서버는 무엇이며 얼마나 많은 Pod를 사용하고 있나요?

Postgres 형식의 Kubernetes 리소스를 나열합니다. 다음 명령을 실행합니다.

kubectl get postgresqls -n <namespace>

이 명령의 출력은 생성된 서버 그룹 목록을 보여 줍니다. 각각에 대해 Pod의 수를 나타냅니다. 예시:

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

이 예제에서는 하나의 서버가 만들어지는 것을 보여줍니다. 하나의 Pod에서 실행됩니다.

Azure Arc 지원 PostgreSQL 서버에서 어떤 Pod를 사용하나요?

다음을 실행합니다.

kubectl get pods -n <namespace>

명령은 Pod 목록을 반환합니다. 서버에 지정한 이름에 따라 서버에서 사용하는 Pod가 표시됩니다. 예시:

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

Pod의 상태는 어떤가요?

kubectl get pods -n <namespace>를 실행하고 STATUS 열을 확인합니다.

어떤 PVC(영구적 볼륨 클레임)를 사용 중인가요?

사용되는 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
...

서버에서 사용 중인 메모리 및 vCore는 얼마나 되나요?

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
    
  • 리소스 구성: 이 예제에서는 256Mi의 메모리를 보장합니다. 서버는 1Gi의 메모리보다 많이 사용할 수 없습니다. 하나의 vCore가 보장되며 두 개 이상의 vCore를 사용할 수 없습니다.

          Scheduling:
         Default:
           Resources:
              Limits:
                Cpu:     2
                Memory:  1Gi
              Requests:
                Cpu:     1
                Memory:  256Mi
    
  • 서버의 상태는 어떤가요? 네 애플리케이션에 사용할 수 있나요?

    예, Pod가 준비되었습니다.

    Ready Pods:                1/1
    

Azure Arc 지원 데이터 서비스 관점에서

Az CLI 명령을 사용합니다.

어떤 Postgres 서버가 배포되나요?

다음 명령을 실행합니다.

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

배포된 서버를 나열합니다.

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

사용 중인 메모리 및 vCore는 얼마나 되나요?

다음 명령 중 하나를 실행합니다.

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에서 반환하는 것과 비슷한 형식 및 내용으로 정보를 반환합니다. 선택한 도구를 사용하여 시스템과 상호 작용합니다.