이 페이지의 일부 또는 전체 정보는 S3NS의 신뢰할 수 있는 클라우드에 적용되지 않을 수 있습니다.
동시 작업 문제 해결
이 페이지는 Google Kubernetes Engine(GKE)에서 동시 작업으로 인해 발생하는 오류를 해결하는 데 도움이 됩니다.
이 페이지는 Cluster is running incompatible operation
오류와 같은 배포 실패의 원인을 파악하려는 애플리케이션 개발자를 대상으로 합니다. 또한 클러스터 또는 노드 풀 수준에서 이러한 동시 작업 오류를 진단하고 해결하려는 플랫폼 관리자 및 운영자를 위한 것입니다.Trusted Cloud by S3NS 콘텐츠에서 참조하는 일반적인 역할 및 예시 태스크에 대해 자세히 알아보려면 일반 GKE 사용자 역할 및 태스크를 참조하세요.
동시 작업 오류 이해하기
GKE에서 클러스터 작업은 클러스터의 컨트롤 플레인 또는 노드 풀의 상태를 수정하는 작업입니다. 이러한 작업은 GKE에서 관리하며 사용자가 시작하거나 유지보수 목적으로 GKE에서 시작할 수 있습니다. 일반적인 클러스터 작업은 다음과 같습니다.
- 클러스터 생성 또는 삭제
- 클러스터의 컨트롤 플레인 버전 업그레이드
- 노드 풀 생성, 업데이트, 크기 조절 또는 삭제
- 기능 사용 설정 또는 중지와 같은 클러스터 수준 설정 수정
- GKE에서 자동으로 수행하는 컨트롤 플레인 복구 작업
클러스터에서 작업을 실행할 때 다음과 유사한 오류 메시지가 표시될 수 있습니다.
Cluster is running incompatible operation OPERATION_NAME
Cluster is currently being created, deleted, updated or repaired and cannot be updated
Operation OPERATION_NAME is currently ACTIONING cluster CLUSTER_NAME. Please wait and try again once it is done
이러한 오류에는 다음 값이 포함될 수 있습니다.
OPERATION_NAME
: 클러스터에서 이미 실행 중인 작업의 고유 ID입니다. 이 이름을 사용하여 새 작업의 시작을 차단하는 기존 작업의 상태를 추적합니다.
ACTIONING
: 클러스터에서 실행되는 작업입니다. 예를 들면 Creating
또는 Updating
입니다.
CLUSTER_NAME
: 작업의 타겟 클러스터 이름입니다.
이러한 오류는 GKE가 충돌을 방지하기 위해 동시에 실행할 수 있는 작업 수를 제한하기 때문에 발생합니다. 일반적으로 GKE는 클러스터 수준에서 하나의 작업 또는 노드 풀당 하나의 작업만 동시에 실행하도록 허용합니다. GKE는 컨트롤 플레인 업그레이드와 같은 자체 자동 작업을 실행하며, 이러한 작업은 이 한도에 포함되고 새 태스크를 시작하는 것을 일시적으로 차단할 수 있습니다.
동시 작업 오류 해결
다른 작업이 진행 중임을 나타내는 오류가 표시되면 진행 중인 태스크를 식별하고 완료될 때까지 기다립니다.
차단 작업의 이름을 모르는 경우 클러스터의 진행 중인 작업과 대기 중인 작업을 모두 나열합니다.
gcloud container operations list \
--location=LOCATION \
--filter '(targetLink~/clusters/CLUSTER_NAME$ OR targetLink~/clusters/CLUSTER_NAME/) AND status!=DONE' \
--format json
다음을 바꿉니다.
LOCATION
: 클러스터가 리전 클러스터인지 영역 클러스터인지에 따라 클러스터의 Compute Engine 리전 또는 영역(예: us-central1
또는 us-central1-a
)입니다.
CLUSTER_NAME
: 실패한 작업이 있는 클러스터의 이름입니다.
출력은 다음과 비슷합니다.
{
"name": "operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff",
"operationType": "UPDATE_CLUSTER",
"selfLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff",
"startTime": "2001-01-01T00:00:00.000000000Z",
"status": "RUNNING",
"targetLink": "https://container.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/clusters/CLUSTER_NAME/nodePools/NODE_POOL_NAME",
"zone": "LOCATION"
}
출력에서 각 작업의 name
필드를 검토합니다. 이 값은 새 작업의 시작을 차단하는 작업의 이름입니다.
다음 단계에서 이 값이 필요합니다.
출력의 다른 필드에 관한 자세한 내용은 projects.locations.operations
API 문서를 참조하세요.
작업이 완료될 때까지 기다립니다.
gcloud container operations wait OPERATION_NAME \
--location=LOCATION
OPERATION_NAME
을 오류 메시지 또는 이전 단계의 차단 작업 이름으로 바꿉니다.
이 명령어는 작업을 적극적으로 모니터링하고 작업이 완료되면 종료됩니다.
차단 작업의 상태가 DONE
이면 오류를 일으킨 작업을 다시 시도합니다.
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-08(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-08-08(UTC)"],[],[],null,["# Troubleshoot concurrent operations\n\n[Autopilot](/kubernetes-engine/docs/concepts/autopilot-overview) [Standard](/kubernetes-engine/docs/concepts/choose-cluster-mode)\n\n*** ** * ** ***\n\nWhen you try to modify your Google Kubernetes Engine (GKE) cluster or its node\npools, your action might be temporarily blocked because another operation is\nrunning. This issue can delay critical updates, cluster administration, and\napplication deployments.\n\nUse this page to learn how to identify the operation\nthat's running. Understanding the active operation helps you estimate the delay\nand determine when to retry your action.\n\nThis information is important for both Application developers, who might\nencounter these limits when deploying or modifying applications, and for\nPlatform admins and operators, who manage the overall cluster lifecycle,\nupgrades, and need to troubleshoot blocked administrative tasks. For more\ninformation about the common roles and example tasks that we reference in\nGoogle Cloud content, see\n[Common GKE user roles and tasks](/kubernetes-engine/enterprise/docs/concepts/roles-tasks).\n\nUnderstand concurrent operation errors\n--------------------------------------\n\nIn GKE, a cluster operation is an action that modifies the state\nof your cluster's control plane or its node pools. These operations are managed\nby GKE and can be initiated by you or by GKE for\nmaintenance purposes. Common cluster operations include the following:\n\n- Creating or deleting the cluster.\n- Upgrading the cluster's control plane version.\n- Creating, updating, resizing, or deleting node pools.\n- Modifying cluster-level settings, such as enabling or disabling features.\n- Automatic control plane repairs initiated by GKE.\n\nWhen you perform operations on your clusters, you might see error messages\nsimilar to the following: \n\n Cluster is running incompatible operation \u003cvar translate=\"no\"\u003eOPERATION_NAME\u003c/var\u003e\n\n Cluster is currently being created, deleted, updated or repaired and cannot be updated\n\n Operation \u003cvar translate=\"no\"\u003eOPERATION_NAME\u003c/var\u003e is currently \u003cvar translate=\"no\"\u003eACTIONING\u003c/var\u003e cluster \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e. Please wait and try again once it is done\n\nThese errors can include the following values:\n\n- \u003cvar translate=\"no\"\u003eOPERATION_NAME\u003c/var\u003e: the unique ID for an operation that's already running on your cluster. Use this name to track the status of this pre-existing operation that's blocking your new operation from starting.\n- \u003cvar translate=\"no\"\u003eACTIONING\u003c/var\u003e: the action that is being performed on the cluster. For example, `Creating` or `Updating`.\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster that the operation is targeting.\n\nThese errors occur because GKE limits how many operations can run\nat the same time to prevent conflicts. Generally, GKE permits\nonly one operation at the cluster level or one operation per node pool to run\nconcurrently. GKE also performs its own automatic actions, such\nas control plane upgrades, which count toward this limit and can temporarily\nblock you from starting a new task.\n\nResolve concurrent operation errors\n-----------------------------------\n\nIf you receive an error that indicates that another operation is in progress,\nidentify the ongoing task and wait for it to finish:\n\n1. If you don't know the name of the blocking operation, list all ongoing and\n pending operations for your cluster:\n\n gcloud container operations list \\\n --location=\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e \\\n --filter '(targetLink~/clusters/\u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e$ OR targetLink~/clusters/\u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e/) AND status!=DONE' \\\n --format json\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: the Compute Engine region or zone (for example, `us-central1` or `us-central1-a`) for the cluster, depending on whether your cluster is regional or zonal.\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster with the\n failing operation.\n\n The output is similar to the following: \n\n {\n \"name\": \"operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff\",\n \"operationType\": \"UPDATE_CLUSTER\",\n \"selfLink\": \"https://container.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e/operations/operation-0978307200000-00112233-4455-6677-8899-aabbccddeeff\",\n \"startTime\": \"2001-01-01T00:00:00.000000000Z\",\n \"status\": \"RUNNING\",\n \"targetLink\": \"https://container.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e/clusters/\u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e/nodePools/\u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e\",\n \"zone\": \"\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e\"\n }\n\n In the output, review the `name` field for each operation. This value is\n the name of the operation that's blocking your new operation from starting.\n You need this value for the next step.\n\n For more information about the other fields in the output, see the API\n documentation for\n [`projects.locations.operations`](/kubernetes-engine/docs/reference/rest/v1/projects.locations.operations).\n2. Wait for the operation to complete:\n\n gcloud container operations wait \u003cvar translate=\"no\"\u003eOPERATION_NAME\u003c/var\u003e \\\n --location=\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e\n\n Replace \u003cvar translate=\"no\"\u003eOPERATION_NAME\u003c/var\u003e with the name of a blocking\n operation from an error message or the preceding step.\n\n This command actively monitors the operation and exits when the operation\n is complete.\n3. After the blocking operation has a status of `DONE`, retry the\n operation that caused the error.\n\nWhat's next\n-----------\n\n- If you can't find a solution to your problem in the documentation, see\n [Get support](/kubernetes-engine/docs/getting-support) for further help,\n including advice on the following topics:\n\n - Opening a support case by contacting [Cloud Customer Care](/support-hub).\n - Getting support from the community by [asking questions on StackOverflow](http://stackoverflow.com/questions/tagged/google-kubernetes-engine) and using the `google-kubernetes-engine` tag to search for similar issues. You can also join the [`#kubernetes-engine` Slack channel](https://googlecloud-community.slack.com/messages/C0B9GKTKJ/) for more community support.\n - Opening bugs or feature requests by using the [public issue tracker](/support/docs/issue-trackers)."]]