En esta página se describe cómo personalizar los componentes del sistema propiedad de Google en los clústeres adjuntos de GKE aplicando tolerancias y etiquetas personalizadas. Cuando personalizas estos componentes, tienes una gestión más precisa de dónde y cómo operan en tu entorno.
Información general
Cuando adjuntas un clúster a Google Cloud, de forma predeterminada, los componentes del sistema propiedad de Google no incluyen campos personalizables, como tolerancias. Por lo tanto, es posible que tengas problemas, como que los pods no se programen en los nodos disponibles, lo que afectará a la conexión y la funcionalidad generales del clúster. Además, es posible que necesites controlar la colocación y la gestión de componentes en nodos específicos, así como aplicar etiquetas personalizadas con fines organizativos y operativos.
Personalizar los componentes del sistema resuelve estos problemas y te permite tener más control y flexibilidad sobre cómo funcionan 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 intolerancias de Kubernetes específicas, 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 contaminaciones no modificables impiden la colocación adecuada de los componentes.
Las etiquetas te ofrecen una forma flexible de clasificar e identificar los componentes del sistema de Google según tus propios estándares operativos. Las etiquetas personalizadas permiten una mejor integración con las herramientas de monitorización, registro y aplicación de políticas que ya tengas.
Restricciones y limitaciones
Se aplican las siguientes restricciones y limitaciones:
- Solo puede añadir tolerancias y etiquetas personalizadas cuando registre su clúster.
- Puedes añadir 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
okubernetes.io
, ya que pertenecen a etiquetas reservadas en Kubernetes - Cualquier etiqueta que incluya
google
- Cualquier etiqueta que incluya
gke.io
Añadir tolerancias personalizadas
Los pods de componentes del sistema propiedad de Google siempre incluyen la siguiente tolerancia:
- key: components.gke.io/gke-managed-components
operator: Exists
Para especificar tolerancias personalizadas, añade la marca --system-component-tolerations
al comando gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-tolerations=COMPONENT_TOLERATION \
Haz los cambios siguientes:
- CLUSTER_NAME: el nombre de tu clúster.
- GOOGLE_CLOUD_REGION: la Google Cloud región desde la que administrar tu clúster.
COMPONENT_TOLERATION: la lista separada por comas de las tolerancias que quieras añadir. Puedes proporcionar una clave, un valor, un operador y un efecto con los siguientes formatos:
- Para el operador
Equal
: usa el formatokey=value:operator:effect
. Por ejemplo,workload=hpc:Equal:NoSchedule
. Este ajuste significa que el pod tolera una marca solo si esta tiene la clave y el valor exactos deworkload=hpc
. - Para el operador
Exists
: usa el formatokey:operator:effect
. Por ejemplo,workload:Exists:NoSchedule
. Este ajuste significa que el Pod tolera cualquier taint con la claveworkload
en el nodo, independientemente del valor. - Para programar en cualquier nodo, usa el formato
:operator:effect
. Por ejemplo,:Exists:NoSchedule
. Este ajuste significa que el pod tolera cualquier taint del nodo que tenga el efectoNoSchedule
e ignora la clave o el valor del taint.
Para ver una lista de los operadores y efectos que puedes usar, consulta Tolerancias e intolerancias en la documentación de Kubernetes.
- Para el operador
Añadir etiquetas personalizadas
Para especificar etiquetas personalizadas, añade la marca --system-component-labels
al comando gcloud container attached clusters register
:
gcloud container attached clusters register CLUSTER_NAME \
--location=GOOGLE_CLOUD_REGION \
...
--system-component-labels=COMPONENT_LABEL \
Haz los cambios siguientes:
- CLUSTER_NAME: el nombre de tu clúster.
- GOOGLE_CLOUD_REGION: la Google Cloud región desde la que administrar tu clúster.
- COMPONENT_LABEL: lista separada por comas de una o varias etiquetas que quiera añadir. Proporciona una etiqueta y un valor con el formato
key=value
. Por ejemplo,env=production,region=us-east-1
. Aunque todas las etiquetas deben tener una clave, el valor asociado a esa clave puede estar vacío. Por ejemplo,backend=""
.
Siguientes pasos
- Consulta más información sobre las tolerancias e intolerancias en la documentación de Kubernetes.
- Consulta cómo adjuntar tu clúster de AKS.