- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
Acerca de los grupos de nodos
Un grupo de nodos
es un grupo de nodos de un clúster que tienen la misma configuración.
Normalmente, se definen grupos de nodos independientes cuando se tienen pods con requisitos de recursos diferentes.
Por ejemplo, los pods apigee-cassandra
requieren almacenamiento persistente, mientras que los demás pods híbridos de Apigee no.
En este artículo se explica cómo configurar grupos de nodos dedicados para una instalación híbrida.
Usar los nodeSelectors predeterminados
Lo más recomendable es configurar dos grupos de nodos dedicados: uno para los pods de Cassandra y otro para el resto de los pods de tiempo de ejecución. Si se usan las configuraciones predeterminadas de nodeSelector, el instalador asignará los pods de Cassandra a un grupo de nodos con estado llamado apigee-data
y todos los demás pods a un grupo de nodos sin estado llamado apigee-runtime
. Solo tienes que crear grupos de nodos con estos nombres y Apigee hybrid se encargará de los detalles de la programación de pods:
Nombre predeterminado del grupo de nodos | Descripción |
---|---|
apigee-data |
Un grupo de nodos con estado. |
apigee-runtime |
Un grupo de nodos sin estado. |
A continuación, se muestra la configuración predeterminada de nodeSelector
. La propiedad apigeeData
especifica un grupo de nodos para los pods de Cassandra. apigeeRuntime
especifica el grupo de nodos de todos los demás pods. Puedes anular estos ajustes predeterminados en tu archivo de anulaciones, como se explica más adelante en este tema:
nodeSelector: requiredForScheduling: true apigeeRuntime: key: "cloud.google.com/gke-nodepool" value: "apigee-runtime" apigeeData: key: "cloud.google.com/gke-nodepool" value: "apigee-data"
De nuevo, para asegurarte de que tus pods se programan en los nodos correctos, solo tienes que crear dos grupos de nodos con los nombres apigee-data
y apigee-runtime
.
Propiedad requiredForScheduling
La sección de configuración nodeSelector
tiene una propiedad llamada
requiredForScheduling
:
nodeSelector: requiredForScheduling: false apigeeRuntime: key: "cloud.google.com/gke-nodepool" value: "apigee-runtime" apigeeData: key: "cloud.google.com/gke-nodepool" value: "apigee-data"
Si se define como false
, los pods subyacentes se programarán independientemente de si los grupos de nodos se definen con los nombres necesarios. Esto significa que, si olvidas crear grupos de nodos o si asignas a un grupo de nodos un nombre que no sea apigee-runtime
o apigee-data
, la instalación del tiempo de ejecución híbrido se completará correctamente. Kubernetes
decidirá dónde ejecutar tus pods.
Si asignas el valor true
(predeterminado) a requiredForScheduling
, la instalación fallará a menos que haya grupos de nodos que coincidan con las claves y los valores de nodeSelector
configurados.
Usar nombres de grupos de nodos personalizados
Si no quieres usar grupos de nodos con los nombres predeterminados, puedes crear grupos de nodos con nombres personalizados y especificar esos nombres en la sección nodeSelector
. Por ejemplo, la siguiente configuración asigna los pods de Cassandra al pool llamado my-cassandra-pool
y todos los demás pods al pool llamado my-runtime-pool
:
nodeSelector: requiredForScheduling: false apigeeRuntime: key: "cloud.google.com/gke-nodepool" value: "my-runtime-pool" apigeeData: key: "cloud.google.com/gke-nodepool" value: "my-cassandra-pool"
Anular el grupo de nodos de componentes específicos en GKE
También puedes anular las configuraciones de grupos de nodos
en componentes concretos. Por ejemplo, la siguiente configuración asigna el valor apigee-custom
al componente runtime
del grupo de nodos:
runtime: nodeSelector: key: cloud.google.com/gke-nodepool value: apigee-custom
Puede especificar un grupo de nodos personalizado en cualquiera de estos componentes:
istio
mart
synchronizer
runtime
cassandra
udca
logger
Configuración del grupo de nodos de GKE
En GKE, los grupos de nodos deben tener un nombre único que proporciones al crearlos. GKE etiqueta automáticamente cada nodo con lo siguiente:
cloud.google.com/gke-nodepool=THE_NODE_POOL_NAME
Si creas grupos de nodos llamados apigee-data
y apigee-runtime
, no tendrás que hacer nada más. Si quieres usar nombres de nodo personalizados, consulta Usar nombres de grupo de nodos personalizados.
Configuración de grupos de nodos de Anthos
Aunque los grupos de nodos etiquetan automáticamente los nodos de trabajador de forma predeterminada, puedes etiquetarlos manualmente siguiendo estos pasos:
- Ejecuta el siguiente comando para obtener una lista de los nodos de trabajador de tu clúster:
kubectl -n apigee get nodes
Ejemplo:
NAME STATUS ROLES AGE VERSION apigee-092d639a-4hqt Ready <none> 7d v1.14.6-gke.2 apigee-092d639a-ffd0 Ready <none> 7d v1.14.6-gke.2 apigee-109b55fc-5tjf Ready <none> 7d v1.14.6-gke.2 apigee-c2a9203a-8h27 Ready <none> 7d v1.14.6-gke.2 apigee-c70aedae-t366 Ready <none> 7d v1.14.6-gke.2 apigee-d349e89b-hv2b Ready <none> 7d v1.14.6-gke.2
- Etiqueta cada nodo para diferenciar entre los nodos de tiempo de ejecución y los nodos de datos.
Usa este comando para etiquetar los nodos:
kubectl label node NODE_NAME KEY=VALUE
Por ejemplo:
$ kubectl label node apigee-092d639a-4hqt apigee.com/apigee-nodepool=apigee-runtime $ kubectl label node apigee-092d639a-ffd0 apigee.com/apigee-nodepool=apigee-runtime $ kubectl label node apigee-109b55fc-5tjf apigee.com/apigee-nodepool=apigee-runtime $ kubectl label node apigee-c2a9203a-8h27 apigee.com/apigee-nodepool=apigee-data $ kubectl label node apigee-c70aedae-t366 apigee.com/apigee-nodepool=apigee-data $ kubectl label node apigee-d349e89b-hv2b apigee.com/apigee-nodepool=apigee-data
Anular el grupo de nodos de componentes específicos en Anthos GKE
También puedes anular las configuraciones de los grupos de nodos a nivel de componente en una instalación de Anthos GKE. Por ejemplo, la siguiente configuración asigna el valor apigee-custom
al componente runtime
del grupo de nodos:
runtime: nodeSelector: key: apigee.com/apigee-nodepool value: apigee-custom
Puede especificar un grupo de nodos personalizado en cualquiera de estos componentes:
istio
mart
synchronizer
runtime
cassandra
udca
logger