![GKE 클러스터에서 데이터가 손실됨](https://rvso.com/image/761000/GKE%20%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EC%97%90%EC%84%9C%20%EB%8D%B0%EC%9D%B4%ED%84%B0%EA%B0%80%20%EC%86%90%EC%8B%A4%EB%90%A8.png)
저는 GCP를 처음 접했기 때문에 무지함을 용서해 주세요.
데이터베이스 애플리케이션을 실행하는 3노드 GKE 클러스터가 있습니다. 각 노드에는 100GB의 표준 영구 디스크가 할당되어 있습니다. 그러나 부팅하면 데이터가 손실되고 설정된 모든 방화벽 규칙이 기본값으로 재설정되는 경우가 너무 자주 발생합니다(8월 이후 최소 3번 발생).
맙소사, 내가 할 수 있는 것:
- DB의 데이터가 삭제되는 것을 중지합니다.
- 방화벽 규칙이 재설정되지 않도록 방지
인프라 업그레이드 때문인가요?
답변1
이 답변을 커뮤니티 위키에 질문의 기본 주제로 게시하는 것은 약간 광범위할 수 있습니다.
자유롭게 확장해 보세요.
클러스터에서 데이터가 손실될 수 있는 이유는 무엇입니까 GKE
?
애플리케이션/워크로드가 GKE
클러스터에 얼마나 정확하게 배포되었는지에 대한 구체적인 정보가 없으면 실제 문제를 정확히 찾아내기 어려울 수 있습니다.
다음 사항을 언급할 가치가 있습니다.
- 데이터(예: 데이터베이스)를 저장할 것으로 예상되는 워크로드는 다음을 사용해야 합니다.
Persistent Volumes
. 노드에 장애가 발생하더라도 A에 저장된 데이터는PV
다른 엔터티에 저장되므로 손실되지 않습니다.
PersistentVolume
리소스는 클러스터의 내구성 있는 스토리지를 관리하는 데 사용됩니다. 에서GKE
a는PersistentVolume
일반적으로 영구 디스크의 지원을 받습니다.
영구 디스크 및 Cloud SQL을 사용하여 GKE에 WordPress를 배포하기 위한 가이드가 있습니다. PVC
(영구 디스크) 를 사용하여 워크로드를 배포하는 예시로 사용할 수 있습니다 .
Pods
구성 되지 않은 상태 로 저장된 데이터는Volumes
포드를 다시 생성하는 경우 손실됩니다.노드 부팅 디스크 에 저장된 데이터
GKE
는 업데이트 후에도 지속되지 않습니다.
노드 VM의 부팅 디스크 수정 사항은 노드를 다시 생성해도 유지되지 않습니다.. 노드 재생성 전반에 걸쳐 수정 사항을 유지하려면 DaemonSet를 사용하십시오.
Cloud.google.com: Kubernetes Engine: Docs: 방법: 노드 자동 업그레이드: 개요
질문하신 내용을 참고하여
저는 GCP를 처음 접했기 때문에 무지함을 용서해 주세요.
GCP
및 의 공식 문서를 방문해 보시기 바랍니다 GKE
. 따라야 할 정보/가이드 및 예제가 많이 있습니다.
각 노드에는 100GB의 표준 영구 디스크가 할당되어 있습니다.
이 디스크는 특별히 GKE
노드의 부팅 디스크로 사용되며 데이터를 저장하는 장소로 사용해서는 안 됩니다. 앞서 언급한 대로 사용하거나 Persistent Volumes
아래 링크를 따라 자세한 내용을 읽을 수 있는 로컬 SSD를 선택할 수 있습니다.
하지만 너무 자주(8월 이후 최소 3번 발생) 부팅하고 데이터가 손실되는 것을 발견했습니다.
GKE
클러스터와 노드는 끌 수 없습니다. 할 수 있는 작업은 노드 풀의 노드 양을 줄이는(확장) 것입니다. 연결했다는 뜻인가요?
설정된 모든 방화벽 규칙은 기본값으로 재설정됩니다.
노드 의 방화벽 규칙을 재구성하면 안 됩니다 GKE
. 대신 Cloud Console
(웹 UI) -> VPC Network
-> 에 있는 GCP 방화벽을 사용해야 합니다 Firewall
. 노드 업그레이드 또는 장애로 인해 노드를 다시 생성하면 방화벽 규칙이 재설정됩니다.
맙소사, 내가 할 수 있는 것:
- DB의 데이터가 삭제되는 것을 중지합니다.
- 방화벽 규칙이 재설정되지 않도록 방지
인프라 업그레이드 때문인가요?
GCE
클러스터 대신 인스턴스 사용을 고려할 수 있습니다(정확한 사용 사례에 따라) GKE
. GKE
컨테이너화된 작업 부하를 실행하도록 설계된 관리형 Kubernetes 클러스터이며 그 중 일부는 Google에서 관리합니다(예: 제어 영역).
인프라 업그레이드에 관해서는 아래 링크를 따라 클러스터가 업그레이드될 때 어떤 일이 발생하는지 확인할 수 있습니다.
- Cloud.google.com: Kubernetes Engine: Docs: 개념: 클러스터 업그레이드
- Cloud.google.com: Kubernetes Engine: Docs: 개념: 방법: 클러스터 업그레이드
추가 참조:
- 쿠버네티스.io
- Cloud.google.com: SQL
DB
<- GCP에서 실행할 대체 솔루션