Google Kubernetes Engine(GKE) 클러스터에서 실행되는 애플리케이션은 노드 업그레이드 및 기타 유지보수 이벤트와 같은 중단에 대비해야 합니다. I/O를 완전히 중지하고 스토리지에서 마운트 해제하는 데 시간이 필요한 스테이트풀(Stateful) 애플리케이션은 특히 중단에 취약합니다. 포드 중단 예산(PDB) 및 준비 프로브와 같은 Kubernetes 기능을 사용하여 업그레이드 중에 애플리케이션을 계속 사용할 수 있습니다.
GKE는은 클러스터를 모니터링하고 추천자 서비스를 사용하여 플랫폼 사용량을 최적화하는 방법을 안내합니다. GKE는 워크로드가 중단에 대비할 수 있도록 기회를 감지하고 워크로드의 복원력을 극대화하기 위해 PDB 또는 준비 프로브를 업데이트하는 방법을 안내합니다. 예를 들어 StatefulSet가 PDB로 보호되지 않으면 노드 업그레이드 중에 클러스터가 모든 포드를 한 번에 삭제할 수 있습니다. 이를 방지하기 위해 GKE는 대부분의 포드가 업그레이드 중에 계속 실행될 수 있도록 PDB를 만드는 방법을 제공합니다.
GKE는 클러스터의 중단에 취약한 워크로드를 식별하는 통계를 생성합니다. 이러한 통계를 가져오려면 Google Cloud CLI 또는 Recommender API를 사용하여 통계 및 추천 보기 지침을 따르세요. 다음 섹션에 나열된 하위유형을 사용하여 특정 통계를 필터링합니다. Google Cloud 콘솔에서는 이러한 통계를 사용할 수 없습니다.
GKE에서 중단에 취약한 워크로드를 식별하는 경우
GKE에서 통계 및 추천을 제공하는 시나리오와 관련 하위유형은 다음 표를 참조하세요.
통계 하위유형
설명
작업
PDB_UNPROTECTED_STATEFULSET
기존 PDB 라벨이 스테이트풀(Stateful) 세트의 포드 선택기 라벨과 일치하지 않는 스테이트풀(Stateful) 세트가 있으면 알림을 보냅니다. 즉, 노드 업그레이드와 같은 이벤트 중에 스테이트풀(Stateful) 세트의 모든 포드가 중단될 수 있습니다.
스테이트풀(Stateful) 세트의 포드 선택기 필드와 라벨이 일치하는 PDB를 추가합니다. PDB에서 스테이트풀(Stateful) 세트에서 허용할 수 있는 중단 수준을 지정하세요. 이 통계와 연결된 추천은 PDB가 언급된 스테이트풀(Stateful) 세트를 처리하기 위해 설정해야 하는 라벨을 제안합니다.
PDB_UNPERMISSIVE
포드와 일치하는 PDB가 노드 업그레이드와 같은 유지보수 활동을 준수할 수 없는 경우 알림을 제공합니다. PDB는 하나 이상의 포드가 중단될 수 있도록 허용해야 하므로 GKE는 1시간 후 필요한 유지보수를 위해 이 PDB를 위반합니다.
PDB의 minAvailable 설정을 총 포드 수보다 작게 조정하거나 maxUnavailable 설정을 0보다 크게 조정합니다.
PDB_STATEFULSET_WITHOUT_PROBES
스테이트풀(Stateful) 세트가 PDB로 구성되었지만 준비 프로브가 없으므로 PDB가 애플리케이션 준비를 측정하는 데 효과적이지 않을 때 알림을 표시합니다. PDB는 정상 상태로 간주될 수 있는 포드를 확인할 때 준비 프로브를 준수합니다. 따라서 PDB가 적용되는 포드에 준비 프로브가 구성되어 있지 않으면 PDB에서 포드가 정상 상태인지 또는 단순히 실행 중인지에 대한 공개 상태가 제한됩니다.
통계에 언급된 PDB용 StatefulSet의 포드에 준비 프로브를 추가합니다. 활성 프로브를 추가하는 것도 좋습니다.
DEPLOYMENT_MISSING_PDB
기존 PDB와 일치하지 않는 포드 선택기가 있는 배포가 있고 또한 배포에 복제본이 1개 이상 있거나 또는 수평형 포드 자동 확장이 사용 설정된 경우 알림을 제공합니다. 즉, 노드 업그레이드와 같은 이벤트 중에 배포의 모든 포드가 중단될 수 있습니다.
배포의 포드 선택기 필드에 있는 라벨과 일치하는 라벨이 있는 PDB를 추가합니다.
PDB에서 배포가 허용할 수 있는 중단 수준을 지정합니다. 이 통계와 연결된 추천은 PDB가 언급된 배포를 처리하기 위해 설정해야 하는 라벨을 제안합니다.
지침을 구현하여 중단에 대한 준비 상태 개선
클러스터의 워크로드에 대한 통계와 권장사항을 받았고 중단 준비 상태를 개선하려면 권장사항에 설명된 안내와 이전 섹션과 같이 통계 하위유형에 대한 작업을 구현하세요.
추천은 매일 한 번 평가되므로 변경사항이 적용된 후 해결되기까지 최대 24시간이 걸릴 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-01(UTC)"],[],[],null,["# Ensure workloads are disruption-ready\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nApplications running in Google Kubernetes Engine (GKE) clusters must be prepared for\ndisruptions such as node upgrades and other maintenance events. Stateful\napplications, which often need time to cleanly stop I/O and unmount from\nstorage, are especially vulnerable to disruptions. You can use Kubernetes\nfeatures such as [Pod Disruption\nBudgets](https://kubernetes.io/docs/tasks/run-application/configure-pdb/)\n(PDBs) and [Readiness\nProbes](https://cloud.google.com/blog/products/containers-kubernetes/kubernetes-best-practices-setting-up-health-checks-with-readiness-and-liveness-probes)\nto help keep applications available during upgrades.\n\nGKE monitors your clusters and uses the [Recommender\nservice](/recommender/docs/overview) to deliver guidance for how you can\noptimize your usage of the platform. GKE detects opportunities to\nprepare your workloads for disruption and provides guidance on how to update\nyour PDBs or readiness probes to maximize the resiliency of your workloads to\ndisruption. For example, if a StatefulSet is not protected by a PDB, your\ncluster might remove all Pods at once during a node upgrade. To avoid this,\nGKE delivers guidance to create a PDB so that most Pods can stay\nrunning during an upgrade.\n\nTo see the specific conditions where GKE delivers\ndisruption-related guidance, see [When GKE identifies workloads with vulnerability to disruption](#conditions-for-identification).\n\nTo learn more about how to manage insights and recommendations from Recommenders,\nsee [Optimize your usage of GKE with insights and recommendations](/kubernetes-engine/docs/how-to/optimize-with-recommenders).\n\nIdentify workloads with vulnerability to disruption\n---------------------------------------------------\n\nGKE generates insights identifying your cluster's\ndisruption-vulnerable workloads. To get these insights, follow the instructions\nto [view insights and\nrecommendations](/kubernetes-engine/docs/how-to/optimize-with-recommenders#view-insights-recs)\nusing the Google Cloud CLI, or the Recommender API. Use the subtypes listed\nin the following section to filter for specific insights. These insights are not\navailable in the Google Cloud console.\n\nWhen GKE identifies workloads with vulnerability to disruption\n--------------------------------------------------------------\n\nSee the following table for scenarios where GKE delivers an\ninsight and recommendation, and the relevant subtype:\n\nImplement the guidance to improve disruption readiness\n------------------------------------------------------\n\nIf you've received insights and recommendations for workloads in your cluster\nand you want to improve their disruption readiness, implement the instructions\ndescribed in the recommendation and the action for that insight subtype, as seen\nin the previous section.\n\nRecommendations are assessed once daily, so it may take up to 24 hours for them\nto resolve after changes have been implemented.\n\nIf you do not want to implement the recommendation, you can [dismiss\nit](/kubernetes-engine/docs/how-to/optimize-with-recommenders#dismiss-recommendation).\n\nWhat's next\n-----------\n\n- To learn more about ensuring reliability and uptime for your GKE cluster, see [GKE Day 2 Operations Best\n Practices](https://cloud.google.com/blog/products/containers-kubernetes/ensuring-reliability-and-uptime-for-your-gke-cluster).\n- To learn more about possible disruptions to Pods in Kubernetes, see [Disruptions](https://kubernetes.io/docs/concepts/workloads/pods/disruptions/)."]]