Personaliza los componentes del sistema en clústeres de AKS
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En esta página, se describe cómo personalizar los componentes del sistema propiedad de Google en tus clústeres adjuntos de GKE aplicando tolerancias y etiquetas personalizadas. Cuando personalizas estos componentes, tienes una administración más precisa de dónde y cómo operan estos componentes en tu entorno.
Descripción general
Cuando conectas un clúster a Google Cloud, de forma predeterminada, los componentes del sistema propiedad de Google no incluyen campos personalizables, como las tolerancias. Como resultado, es posible que experimentes problemas, como la imposibilidad de programar Pods en nodos disponibles, lo que afecta la funcionalidad y la vinculación general del clúster. Además, es posible que necesites controlar la colocación y la administración de componentes en nodos específicos, lo que incluye la capacidad de aplicar etiquetas personalizadas para fines organizativos y operativos.
La personalización de los componentes del sistema resuelve estos problemas y te permite tener más control y flexibilidad sobre cómo operan estos componentes en tu clúster. Puedes aplicar tolerancias y etiquetas personalizadas a los componentes del sistema propiedad de Google:
Las tolerancias permiten que los componentes de Google se programen en nodos que tienen taints específicos de Kubernetes, lo que te permite aplicar la separación de cargas de trabajo o usar grupos de nodos especializados. Las tolerancias personalizadas resuelven directamente los problemas en los que las exclusiones no modificables impiden la colocación adecuada de los componentes.
Las etiquetas te ofrecen una forma flexible de categorizar e identificar los componentes del sistema de Google según tus propios estándares operativos. Las etiquetas personalizadas permiten una mejor integración con tus herramientas existentes de supervisión, registro y aplicación de políticas.
Restricciones y limitaciones
Se aplican las siguientes restricciones y limitaciones:
Solo puedes agregar tolerancias y etiquetas personalizadas cuando registras tu clúster.
Puedes agregar hasta 10 tolerancias personalizadas y 10 etiquetas personalizadas a tu clúster.
No puedes usar las siguientes etiquetas:
name
component
app
Cualquier etiqueta que incluya k8s.io o kubernetes.io, ya que pertenecen a etiquetas reservadas en Kubernetes
Cualquier etiqueta que incluya google
Cualquier etiqueta que incluya gke.io
Cómo agregar tolerancias personalizadas
Los Pods de componentes del sistema propiedad de Google siempre incluyen la siguiente tolerancia:
GOOGLE_CLOUD_REGION: Es la Google Cloud región desde la que se administrará el clúster.
COMPONENT_TOLERATION: Es la lista separada por comas de las tolerancias que deseas agregar. Puedes proporcionar una clave, un valor, un operador y un efecto en los siguientes formatos:
Para el operador Equal: Usa el formato key=value:operator:effect, por ejemplo, workload=hpc:Equal:NoSchedule. Este parámetro de configuración significa que el Pod tolera un taint solo si este tiene la clave y el valor exactos de workload=hpc.
Para el operador Exists: Usa el formato key:operator:effect, por ejemplo, workload:Exists:NoSchedule. Este parámetro de configuración significa que el Pod tolera cualquier taint con la clave workload en el nodo, independientemente del valor.
Para programar en cualquier nodo: Usa el formato :operator:effect, por ejemplo, :Exists:NoSchedule. Este parámetro de configuración significa que el Pod tolera cualquier taint en el nodo que tenga el efecto NoSchedule y que ignora la clave o el valor del taint.
Para obtener una lista de los operadores y efectos que puedes usar, consulta Taints y tolerancias en la documentación de Kubernetes.
Cómo agregar etiquetas personalizadas
Para especificar etiquetas personalizadas, agrega la marca --system-component-labels al comando gcloud container attached clusters register:
GOOGLE_CLOUD_REGION: Es la Google Cloud región desde la que se administrará el clúster.
COMPONENT_LABEL: Es la lista separada por comas de una o más etiquetas que deseas agregar. Proporcionas una etiqueta y un valor en el formato key=value. Por ejemplo, env=production,region=us-east-1. Si bien cada etiqueta debe tener una clave, el valor asociado a esa clave puede estar vacío. Por ejemplo, backend=""
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 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)."]]