다음을 통해 공유


Azure Arc 지원 PostgreSQL 서버 삭제

이 문서에서는 Azure Arc 설정에서 서버 그룹을 삭제하는 단계를 설명합니다.

참고 항목

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

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

서버 삭제

예를 들어, 아래 설정에서 postgres01 인스턴스를 삭제하려 한다고 가정해 보겠습니다.

az postgres server-arc list --k8s-namespace <namespace> --use-k8s
Name        State  
----------  -------
postgres01  Ready  

delete 명령의 일반 형식은 다음과 같습니다.

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

이 명령을 실행하면 서버 삭제를 확인하도록 요청됩니다. 스크립트를 사용하여 삭제를 자동화하는 경우에는 --force 매개 변수를 사용하여 확인 요청을 무시해야 합니다. 예를 들어, 다음과 같은 명령을 실행합니다.

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

delete 명령에 대한 자세한 내용을 보려면 다음을 실행합니다.

az postgres server-arc delete --help 

이 예제에 사용된 서버 삭제

az postgres server-arc delete -n postgres01 --k8s-namespace <namespace> --use-k8s

Kubernetes PVC(영구 볼륨 클레임) 회수

PVC(영구 볼륨 클레임)는 스토리지를 만들고 PostgreSQL 서버에 추가하는 동안 Kubernetes 클러스터에서 사용자가 스토리지를 요청하는 것입니다. 서버 그룹을 삭제해도 연결된 PVC는 제거되지 않습니다. 이것은 의도적인 것입니다. 인스턴스가 실수로 삭제된 경우 사용자가 데이터베이스 파일에 액세스하도록 도와줍니다. PVC는 반드시 삭제할 필요는 없습니다. 그러나 권장됩니다. 이러한 PVC를 회수하지 않으면 Kubernetes 클러스터에서 디스크 공간이 부족하다고 생각하게 되거나 새로 만드는 동안 동일한 PostgreSQL 서버 이름을 사용하면 일관성 오류가 발생할 수 있으므로 결국 오류가 발생합니다. PVC를 회수하려면 다음 단계를 수행합니다.

1. 삭제한 서버 그룹의 PVC 나열

PVC를 나열하려면 다음 명령을 실행합니다.

kubectl get pvc [-n <namespace name>]

PVC의 목록, 즉 삭제한 서버 그룹에 대한 PVC를 반환합니다. 예시:

kubectl get pvc
NAME                                         STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-72ccc225-dad0-4dee-8eae-ed352be847aa   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-ce6f0c51-faed-45ae-9472-8cdf390deb0d   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-5a863ab9-522a-45f3-889b-8084c48c32f8   5Gi        RWO            default        2d18h
data-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-00e1ace3-1452-434f-8445-767ec39c23f2   5Gi        RWO            default        2d15h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-0   Bound    pvc-8b810f4c-d72a-474a-a5d7-64ec26fa32de   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-1   Bound    pvc-51d1e91b-08a9-4b6b-858d-38e8e06e60f9   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-2   Bound    pvc-8e5ad55e-300d-4353-92d8-2e383b3fe96e   5Gi        RWO            default        2d18h
logs-few7hh0k4npx9phsiobdc3hq-postgres01-3   Bound    pvc-f9e4cb98-c943-45b0-aa07-dd5cff7ea585   5Gi        RWO            default        2d15h

이 서버 그룹에는 8개의 PVC가 있습니다.

2. 각 PVC 삭제

삭제한 PostgreSQL 서버의 데이터 및 로그 PVC를 삭제합니다.

이 명령의 일반적인 형식은 다음과 같습니다.

kubectl delete pvc <name of pvc>  [-n <namespace name>]

예시:

kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc data-few7hh0k4npx9phsiobdc3hq-postgres01-3
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-0
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-1
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-2
kubectl delete pvc logs-few7hh0k4npx9phsiobdc3hq-postgres01-3

각 kubectl 명령은 PVC가 성공적으로 삭제되었는지 확인합니다. 예시:

persistentvolumeclaim "data-postgres01-0" deleted

참고 항목

표시된 것처럼, PVC를 삭제하지 않으면 Kubernetes 클러스터에서 결국 오류가 발생할 수 있습니다. 해당 오류에는 Kubernetes API에서 리소스 만들기, 읽기, 업데이트, 삭제를 수행할 수 없거나 이 스토리지 문제로 인해 Kubernetes 노드에서 컨트롤러 Pod가 제거될 수 있으므로(정상적인 Kubernetes 동작) az arcdata dc export와 같은 명령을 실행할 수 있는 경우가 포함될 수 있습니다.

예를 들어 로그에 다음과 유사한 메시지가 표시될 수 있습니다.

Annotations:    microsoft.com/ignore-pod-health: true  
Status:         Failed  
Reason:         Evicted  
Message:        The node was low on resource: ephemeral-storage. Container controller was using 16372Ki, which exceeds its request of 0.

다음 단계

Azure Arc 지원 PostgreSQL 서버 만들기