이 페이지에서는 맞춤 허용 오차 및 라벨을 적용하여 GKE 연결 클러스터에서 Google 소유 시스템 구성요소를 맞춤설정하는 방법을 설명합니다. 이러한 구성요소를 맞춤설정하면 환경 내에서 이러한 구성요소가 작동하는 위치와 방식을 더 정확하게 관리할 수 있습니다.
개요
클러스터를 Google Cloud에 연결하면 기본적으로 Google 소유 시스템 구성요소에는 허용차와 같은 맞춤설정 가능한 필드가 포함되지 않습니다. 따라서 사용 가능한 노드에 포드를 예약하지 못하는 등의 문제가 발생하여 전체 클러스터 연결 및 기능에 영향을 미칠 수 있습니다. 또한 조직 및 운영 목적으로 맞춤 라벨을 적용하는 기능을 포함하여 특정 노드에 구성요소를 배치하고 관리하는 기능을 제어해야 할 수도 있습니다.
시스템 구성요소를 맞춤설정하면 이러한 문제가 해결되고 클러스터에서 이러한 구성요소가 작동하는 방식을 더 세부적으로 제어하고 유연하게 관리할 수 있습니다. Google 소유 시스템 구성요소에 맞춤 허용 및 라벨을 적용할 수 있습니다.
톨러레이션을 사용하면 Google 구성요소가 특정 Kubernetes taint가 있는 노드에 예약할 수 있으므로 워크로드 분리를 적용하거나 특수 노드 풀을 사용할 수 있습니다. 맞춤 톨러레이션은 수정할 수 없는 테인트로 인해 구성요소가 적절하게 배치되지 않는 문제를 직접 해결합니다.
라벨을 사용하면 자체 운영 표준에 따라 Google 시스템 구성요소를 유연하게 분류하고 식별할 수 있습니다. 맞춤 라벨을 사용하면 기존 모니터링, 로깅, 정책 시행 도구와 더 잘 통합할 수 있습니다.
GOOGLE_CLOUD_REGION: 클러스터를 관리할 Google Cloud 리전입니다.
COMPONENT_LABEL: 추가할 하나 이상의 라벨이 쉼표로 구분된 목록입니다. key=value 형식으로 라벨과 값을 제공합니다. 예를 들면 env=production,region=us-east-1입니다. 모든 라벨에는 키가 있어야 하지만 해당 키와 연결된 값은 비어 있을 수 있습니다. 예를 들면 backend=""입니다.
[[["이해하기 쉬움","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-07-14(UTC)"],[],[],null,["# Customize system components on AKS clusters\n\n| **Preview**\n|\n|\n| This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n| of the [Service Specific Terms](/terms/service-terms#1).\n|\n| Pre-GA features are available \"as is\" and might have limited support.\n|\n| For more information, see the\n| [launch stage descriptions](/products#product-launch-stages).\n\nThis page describes how to customize Google-owned system components in your\nGKE attached clusters by applying custom tolerations and labels. When you\ncustomize these components, you have more precise management of where and how\nthese components operate within your environment.\n\nOverview\n--------\n\nWhen you attach a cluster to Google Cloud, by default, Google-owned system\ncomponents don't include customizable fields such as tolerations. As a result,\nyou might experience issues such as Pods failing to schedule on available nodes, which\nimpact overall cluster attachment and functionality. Additionally, you might require\ncontrol over placing and managing components on specific nodes that include the\nability to apply custom labels for organizational and operational purposes.\n\nCustomizing system components resolves these issues and lets you have more\ncontrol and flexibility over how these components operate in your cluster. You\ncan apply custom *tolerations* and *labels* to Google-owned system components:\n\n- **Tolerations** provide the ability for Google's components to schedule onto\n nodes that have specific Kubernetes taints, which lets you enforce workload\n separation or use specialized node pools. Custom tolerations directly resolve\n issues where unmodifiable taints prevent proper component placement.\n\n- **Labels** offer a flexible way for you to categorize and identify Google's\n system components according to your own operational standards. Custom labels\n enable better integration with your existing monitoring, logging, and policy\n enforcement tools.\n\nRestrictions and limitations\n----------------------------\n\nThe following restrictions and limitations apply:\n\n- You can only add custom tolerations and labels when you [register your cluster](/kubernetes-engine/multi-cloud/docs/attached/aks/how-to/attach-cluster#attach_your_aks_cluster).\n- You can add up to 10 custom tolerations and 10 custom labels to your cluster.\n- You *can't* use the following labels:\n\n - `name`\n - `component`\n - `app`\n - Any label which includes `k8s.io` or `kubernetes.io` since they belong to reserved labels in Kubernetes\n - Any label which includes `google`\n - Any label which includes `gke.io`\n\nAdd custom tolerations\n----------------------\n\nGoogle-owned system component Pods always include the following toleration: \n\n - key: components.gke.io/gke-managed-components\n operator: Exists\n\nTo specify custom tolerations, add the `--system-component-tolerations` flag to the\n[`gcloud container attached clusters register`](/sdk/gcloud/reference/container/attached/clusters/register) command: \n\n gcloud container attached clusters register \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --location=\u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_REGION\u003c/var\u003e \\\n ...\n --system-component-tolerations=\u003cvar translate=\"no\"\u003eCOMPONENT_TOLERATION\u003c/var\u003e \\\\\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of your cluster.\n- \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_REGION\u003c/var\u003e: the Google Cloud region to administer your cluster from.\n- \u003cvar translate=\"no\"\u003eCOMPONENT_TOLERATION\u003c/var\u003e: the comma-separated list of the\n tolerations that you want to add. You can provide a key, value, operator, and\n effect in the following formats:\n\n - **For the `Equal` operator** : use the format `key=value:operator:effect`, for example, `workload=hpc:Equal:NoSchedule`. This setting means that the Pod tolerates a taint only if the taint has the exact key and value of `workload=hpc`.\n - **For the `Exists` operator** : use the format `key:operator:effect`, for example, `workload:Exists:NoSchedule`. This setting means that the Pod tolerates any taint with the `workload` key on the node, regardless of the value.\n - **For scheduling on any node** : use the format `:operator:effect`, for example, `:Exists:NoSchedule`. This setting means that the Pod tolerates any taint on the node that has the effect `NoSchedule`, and ignores the key or value of the taint.\n\n For a list of operators and effects that you\n can use, see [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/)\n in the Kubernetes documentation.\n\nAdd custom labels\n-----------------\n\nTo specify custom labels, add the `--system-component-labels` flag to the\n`gcloud container attached clusters register` command: \n\n gcloud container attached clusters register \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --location=\u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_REGION\u003c/var\u003e \\\n ...\n --system-component-labels=\u003cvar translate=\"no\"\u003eCOMPONENT_LABEL\u003c/var\u003e \\\\\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of your cluster.\n- \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_REGION\u003c/var\u003e: the Google Cloud region to administer your cluster from.\n- \u003cvar translate=\"no\"\u003eCOMPONENT_LABEL\u003c/var\u003e: the comma-separated list of one or more labels that you want to add. You provide a label and value in the format of `key=value`. For example, `env=production,region=us-east-1`. Although every label must have a key, the value associated with that key can be empty. For example, `backend=\"\"`.\n\nWhat's next\n-----------\n\n- Learn more about [Taints and Tolerations](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) in the Kubernetes documentation.\n- Learn how to [attach your AKS cluster](/kubernetes-engine/multi-cloud/docs/attached/aks/how-to/attach-cluster)."]]