Los grupos de nodos de usuario único compartidos son similares a los grupos de nodos de usuario único locales. Por ejemplo, los grupos de nodos compartidos cuestan lo mismo, consumen la misma cuota y residen en un proyecto superior en la jerarquía de recursos.
La diferencia entre los grupos de nodos compartidos y los grupos de nodos locales es que otros proyectos de tu organización pueden aprovisionar instancias de máquinas virtuales (VM) en los grupos de nodos compartidos.
Compartir un grupo de nodos en varios proyectos o una organización puede ayudarte a realizar las siguientes acciones:
Consolidar grupos de nodos que administras en un solo proyecto y, luego, compártelos con otros proyectos o toda la organización
Borrar nodos después de consolidar las VM de varios proyectos en grupos de nodos con poco uso para disminuir los costos
Administrar nodos de usuario único con un solo equipo
Compartir nodos de usuario único con proyectos más pequeños y conservar los límites de seguridad y control de acceso entre esos proyectos
Realiza una migración en vivo entre grupos de nodos dentro del mismo proyecto
Mejorar el uso de los grupos de nodos y reduce la cantidad de nodos de mantenimiento reservados cuando se usa la política de mantenimiento de migración dentro del grupo de nodos.
En el siguiente diagrama, se muestra un grupo de nodos que se comparte con otros proyectos para que otros departamentos que administren VMs en esos proyectos puedan aprovisionar VMs en un grupo de nodos compartido.
Beneficios de uso de los grupos de nodos compartidos
En la siguiente tabla, se comparan los proyectos que usan grupos de nodos locales con los que usan grupos de nodos compartidos. Observa que el poco uso de CPU virtuales disminuye en los proyectos que usan grupos de nodos compartidos.
Configuración de proyectos | Grupos de nodos locales | Grupos de nodos compartidos |
---|---|---|
Proyectos | 10 | 10 |
CPU virtual/proyecto | 24 | 24 |
Grupos de nodos | 10 | 1 |
Nodos / grupo de nodos | 1 | 3 |
CPU virtual / nodo | 80 | 80 |
Uso / grupo de nodos | 24 | 80 |
Subutilización / grupo de nodos | 56 | 0 |
Subutilización total | 10 × 56 = 560 CPU virtuales | 1 x 0 = 0 CPU virtuales |
Configuración para compartir grupos de nodos
Compute Engine usa la siguiente configuración para compartir grupos de nodos y aprovisionar VM en los grupos de nodos compartidos:
Una configuración de uso compartido que configuras cuando creas o actualizas el grupo de nodos de usuario único. Para especificar si quieres compartir el grupo de nodos con otros proyectos o con toda la organización, usa la configuración de gcloud CLI (
--share-setting
,--share-with
) o la configuración de REST (shareSetting
) ,shareWith
).Una etiqueta de afinidad de nodo
compute.googleapis.com/project
predeterminada que usas cuando aprovisionas una VM en un grupo de nodos compartido a través de etiquetas de afinidad de nodo. Para obtener información de las otras etiquetas de afinidad de nodos predeterminadas, consulta Etiquetas de afinidad predeterminadas.
Consideraciones de la política de mantenimiento
Cuando un grupo de nodos usa la política de mantenimiento de migración dentro del grupo de nodos, Compute Engine reserva al menos 1 nodo para eventos de migración en vivo, por lo que el grupo de nodos debe tener al menos 2 nodos. No puedes programar VMs en el nodo reservado, por lo que los grupos de nodos con esta política de mantenimiento suelen tener un uso general más bajo. Esto hace que las cargas de trabajo que requieren la política de mantenimiento de migración dentro del grupo de nodos sean buenas candidatas para el uso compartido de grupos de nodos, ya que a menudo ven el mayor beneficio de una utilización mejorada.
Permisos y funciones de IAM
Ten en cuenta la siguiente información de funciones y permisos de IAM cuando compartas un grupo de nodos:
Si un grupo de nodos se comparte con un proyecto, cualquier usuario que pueda crear VMs en los proyectos enumerados o en la organización puede aprovisionar VMs desde esos proyectos en el grupo de nodos compartidos sin ningún cambio en los roles o los permisos de IAM.
El rol de IAM
compute.soleTenantViewer
te permite enumerar y ver grupos de nodos (gcloud CLI/REST). No puedes modificar grupos de nodos con este rol. Cualquier usuario con este rol o con permisos para enumerar grupos de nodos, sin importar los permisos de IAM en la VM, puede ver el ID del proyecto, el nombre, el tipo de máquina y la información de los SSD y GPU locales para todas las VMs del grupo de nodos.
Limitaciones
Limitaciones del régimen de cumplimiento
- Sin importar los permisos de IAM en la VM, cualquier usuario con permisos para enumerar grupos de nodos puede ver el ID del proyecto, el nombre y el tipo de máquina de todas las VMs del grupo de nodos. Por lo tanto, debido al riesgo de divulgación de la información entre proyectos, los proyectos que tienen VMs aprovisionadas en grupos de nodos compartidos deben estar bajo el mismo régimen de cumplimiento.
Limitaciones de la consola de Google Cloud:
- Si no tienes permiso para ver VMs en el grupo de nodos compartidos, esas VMs no aparecerán en la lista de VMs en la página Nodos de usuario único de la consola de Google Cloud.
- Después de modificar la configuración de uso compartido de la página Grupos de nodos de usuario único, la configuración Compartido con no se actualiza en la IU. Para ver el parámetro de configuración actualizado Compartido con, ve a la página Nodos de usuario único.
- Después de compartir un grupo de nodos con todos los proyectos dentro de una organización o con proyectos seleccionados dentro de una organización, solo puedes ver el grupo de nodos compartido de su propio proyecto; no puedes ver el grupo de nodos compartido de los proyectos con los que se compartió. Para aprovisionar una VM en el grupo de nodos compartido, desde el proyecto con el que se comparte el grupo de nodos, ve a la página Instancias de VM y, luego, modifica las etiquetas de afinidad de nodo de usuario único.
Limitaciones de uso compartido:
- Debes actualizar la configuración de uso compartido del proyecto que posee el grupo de nodos.
- Puedes especificar un máximo de 100 proyectos cuando usas la configuración de uso compartido
projects
. - No puedes compartir grupos de nodos entre organizaciones. Por ejemplo, si migras un proyecto que contiene un grupo de nodos compartido de una organización a otra, también debes migrar todos los proyectos que tengan VMs en ejecución en ese nodo compartido.
- No puedes realizar la migración en vivo entre proyectos mientras usas grupos de nodos de usuario único compartidos. Para obtener más información, consulta Migra VM en vivo de forma manual.
Precios
Las VMs en los grupos de nodos compartidos no generan cargos adicionales ni cargos adicionales por compartir grupos de nodos. Para obtener más información de los precios de los nodos de usuario único, consulta Precios de nodos de usuario único.
Antes de comenzar
- Antes de crear un grupo de nodos de usuario único, crea una plantilla de nodo de usuario único.
- Antes de aprovisionar las VM en un nodo de usuario único, verifica tu cuota. Según la cantidad y el tamaño de los nodos que reservas, es posible que debas solicitar una cuota adicional.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Crea un grupo de nodo de usuario único. Para obtener más información, consulta Crea un grupo de nodos de usuario único.
Para establecer la configuración de uso compartido, especifica una de las siguientes opciones en Establece la configuración de uso compartido:
- Para compartir el grupo de nodos con todos los proyectos de tu organización, elige Compartir este grupo de nodos con todos los proyectos dentro de la organización.
- Para compartir el grupo de nodos con proyectos específicos dentro de la organización, elige Compartir este grupo de nodos con proyectos seleccionados dentro de la organización.
Si no deseas compartir el grupo de nodos, elige No compartir este grupo de nodos con otros proyectos.
NODE_GROUP
: Es el nombre del grupo de nodosZONE
: Es la zona en la que se creará el grupo de nodosNODE_TEMPLATE
: Es el nombre de la plantilla de nodo que se creó antesSIZE
: Es la cantidad de nodos en el grupo de nodosSHARE_SETTING
: Es la configuración de uso compartido del grupo de nodos Configúralo comoprojects
para compartirlo con proyectos específicos o enorganization
para compartirlo con toda la organizaciónPROJECTS
: Una lista de los IDs o números de proyectos con los que se compartirá el grupo de nodos Solo es necesaria si configurasSHARE_SETTING
enprojects
.PROJECT
: Es el nombre del proyecto en el que se creará el grupo de nodos.ZONE
: Es la zona en la que se creará el grupo de nodosNODE_GROUP
: Es el nombre del grupo de nodosNODE_TEMPLATE
: Es el nombre de la plantilla de nodo que se creó antesSIZE
: Es la cantidad de nodos en el grupo de nodosSHARE_TYPE
: Es la configuración de uso compartido del grupo de nodos Configúralo comoSPECIFIC_PROJECTS
para compartirlo con proyectos específicos o enORGANIZATION
para compartirlo con toda la organizaciónPROJECTS
: Una lista de los IDs o números de proyectos con los que se compartirá el grupo de nodos Solo es necesaria si configurasSHARE_TYPE
enSPECIFIC_PROJECTS
.En la consola de Google Cloud, cambia a un proyecto con el que hayas compartido un grupo de nodos.
Ve a la página Instancias de VM.
Haga clic en Crear instancia.
En Zona, elige la zona del grupo de nodos compartido.
En Configuración de la máquina > Serie, elige el mismo tipo de máquina que especifica la plantilla del grupo de nodos de usuario único compartido.
Expande la sección Opciones avanzadas.
Expande la sección Usuario único.
Haz clic en Explorar.
Elige Seleccionar proyecto y especifica el proyecto que contiene el grupo de nodos compartido.
Elige el grupo de nodos de usuario único o un nodo de usuario único específico en ese grupo para aprovisionar la VM.
VM_NAME
: El nombre de la VM de usuario único nueva que se creará en un grupo de nodos compartidoMACHINE_TYPE
: Es el tipo de máquina para la nueva VM de usuario únicoNODE_GROUP
: Es el nombre del grupo de nodos compartido en el que se creará la VM de usuario únicoNODE_PROJECT
: Es el proyecto que contiene el grupo de nodos en el que se aprovisionará la VMVM_NAME
: Es el nombre de la VM de usuario único que se creará en un grupo de nodos compartido a través de una etiqueta de afinidadMACHINE_TYPE
: Es el tipo de máquina de la VM de usuario único que se creará en un grupo de nodos compartidoNODE_AFFINITY_FILE
: Es el nombre del archivo.json
que contiene la información de afinidad del nodo En el archivo de afinidad de nodos, establece la clave de etiqueta de afinidad en"compute.googleapis.com/project"
, el operador igual a"IN"
y el valor igual al proyecto que contiene el grupo de nodos. Para obtener más información acerca de cómo configurar la afinidad de nodos, consulta Configura las etiquetas de afinidad de nodos.PROJECT
: Es el nombre del proyecto al que pertenece el grupo de nodosZONE
: Es la zona del grupo de nodosVM_NAME
: Es el nombre de la VM de usuario único que se creará en un grupo de nodos compartido a través de una etiqueta de afinidadMACHINE_TYPE
: Es el tipo de máquina de la VM de usuario único que se creará en un grupo de nodos compartidoKEY
: Es la etiqueta de afinidad Se establece en"compute.googleapis.com/project"
.OPERATOR
: El operador de la etiqueta de afinidad Se establece en"IN"
.VALUE
: el proyecto que contiene el grupo de nodos en el que se aprovisionará la VM. Especifica un proyecto a través del nombre o el ID del proyecto.En la consola de Google Cloud, ve a la página Nodos de usuario único.
Para ver las propiedades del grupo de nodos, en la columna Nombre, haz clic en el nombre del grupo de nodos.
PROJECT
: Es el nombre del proyecto con el grupo de nodos para ver la configuración de uso compartido deZONE
: Es la zona que contiene el grupo de nodos para ver la configuración de uso compartido deEn la consola de Google Cloud, ve a la página Nodos de usuario único.
En la columna Nombre, haz clic en el nombre del grupo de nodos.
Para compartir el grupo de nodos con todos los proyectos dentro de la organización o con proyectos seleccionados dentro de la organización, en Descripción general >Compartido con, haz clic en Editar .
NODE_GROUP
: Es el nombre del grupo de nodos desde el que se actualizará la configuración de uso compartidoSHARE_SETTING
: Es la configuración de uso compartido del grupo de nodos Configúralo comoprojects
para compartirlo con proyectos específicos o enorganization
para compartirlo con toda la organizaciónPROJECTS
: Una lista de los IDs o números de proyectos con los que se compartirá el grupo de nodos Solo es necesaria si configurasSHARE_SETTING
enprojects
.PROJECT
: El nombre del proyecto con los grupos de nodos en los que se actualizará la configuración de uso compartido deZONE
: Es la zona que contiene los grupos de nodos desde los que se actualizará la configuración de uso compartido deNODE_GROUP
: Es el nombre del grupo de nodos desde el que se actualizará la configuración de uso compartidoSHARE_TYPE
: Es la configuración de uso compartido del grupo de nodos Configúralo comoprojects
para compartirlo con proyectos específicos o enorganization
para compartirlo con toda la organizaciónPROJECTS
: Una lista de los IDs o números de proyectos con los que se compartirá el grupo de nodos Solo es necesaria si configurasSHARE_SETTING
enSPECIFIC_PROJECTS
.En la consola de Google Cloud, ve a la página Nodos de usuario único.
Haz clic en el Nombre del grupo de nodos.
En Descripción general > Compartido con, haz clic en Editar .
Para dejar de compartir, elige No compartir este grupo de nodos con otros proyectos.
PROJECT
: Es el nombre del proyecto con el grupo de nodos en el que se dejará de compartirZONE
: Es la zona que contiene el grupo de nodos en la que se dejará de compartirNODE_GROUP
: Es el nombre del grupo de nodos para dejar de compartirEn la consola de Google Cloud, ve a la página Nodos de usuario único.
En la columna Nombre, haz clic en el nombre del grupo de nodos.
Haz clic en Borrar.
PROJECT
: Es el nombre del proyecto con el grupo de nodos que se borraráZONE
: Es la zona que contiene el grupo de nodos que se borrará.NODE_GROUP
: es el nombre del grupo de nodos que se borrará
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Crea un grupo de nodos nuevo y compártelo
Para crear un grupo de nodos nuevo y compartirlo con otros proyectos o con toda la organización, usa la consola de Google Cloud, gcloud CLI o REST.
Console
gcloud
Para crear un grupo de nodos compartido, usa el siguiente comando
gcloud compute sole-tenancy node-groups create
.gcloud compute sole-tenancy node-groups create NODE_GROUP \ --zone=ZONE \ --node-template=NODE_TEMPLATE \ --target-size=SIZE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Reemplaza lo siguiente:
REST
Para crear un grupo de nodos compartido, usa el siguiente método
nodeGroups.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups { ... "name": NODE_GROUP, "nodeTemplate": NODE_TEMPLATE, "size": SIZE, "shareSettings": { "shareType": SHARE_TYPE, "projectMap": { string: { "projectId": PROJECTS }, } } ... }
Reemplaza lo siguiente:
Aprovisiona una VM de usuario único en un grupo de nodos compartido
Para aprovisionar una VM de usuario único en un grupo de nodos compartido, usa la consola de Google Cloud, gcloud CLI o REST.
Console
gcloud
Aprovisiona una VM en un grupo de nodos compartido con el nombre del grupo de nodos
Para aprovisionar una VM de usuario único en un grupo de nodos compartido a través del nombre del grupo de nodos, usa el siguiente comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-group=NODE_GROUP \ --node-project=NODE_PROJECT
Reemplaza lo siguiente:
Aprovisiona una VM en un grupo de nodos compartido a través de un archivo de afinidad de nodo
Para aprovisionar una VM de usuario único en un grupo de nodos compartido a través de un archivo de afinidad de nodo, usa el siguiente comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE
Reemplaza lo siguiente:
REST
Para aprovisionar una VM de usuario único en un grupo de nodos compartido a través de un archivo de afinidad de nodo, usa el siguiente método
nodeGroups.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances { ... "name": VM_NAME, "machineType": MACHINE_TYPE, "scheduling": { ... "nodeAffinities": [ { "key": KEY, "operator": OPERATOR, "values": [ VALUE ] } ], ... }, ... }
Reemplaza lo siguiente:
Para obtener más información acerca de cómo configurar la afinidad de nodos, consulta Configura las etiquetas de afinidad de nodos.
Visualiza la configuración de uso compartido de un grupo de nodos
Para ver la configuración de uso compartido de un grupo de nodos, usa la consola de Google Cloud, gcloud CLI o REST.
Console
gcloud
Para ver la configuración de uso compartido de un grupo de nodos, usa el siguiente comando
gcloud compute sole-tenancy node-groups describe
.gcloud compute sole-tenancy node-groups describe NODE_GROUP
Reemplaza
NODE_GROUP
por el nombre del grupo de nodos del que deseas ver la configuración de uso compartido.REST
Para ver la configuración de uso compartido de un grupo de nodos, usa el siguiente método
nodeGroups.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups
Reemplaza lo siguiente:
Comparte un grupo de nodos existente
Para compartir un grupo de nodos existente con otros proyectos o toda la organización, usa la consola de Google Cloud, gcloud CLI o REST.
Console
gcloud
Para actualizar la configuración de uso compartido de un grupo de nodos, usa el siguiente comando
gcloud compute sole-tenancy node-groups update
.gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=SHARE_SETTING \ --share-with=PROJECTS
Reemplaza lo siguiente:
REST
Para actualizar la configuración de uso compartido de un grupo de nodos, usa el siguiente método
nodeGroups.patch
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": SHARE_TYPE, "projectMap": { string: { "projectId": PROJECTS }, } } }
Reemplaza lo siguiente:
Deja de compartir un grupo de nodos
Para dejar de compartir un grupo de nodos con otros proyectos o toda la organización, usa gcloud CLI o REST.
Console
gcloud
Para dejar de compartir un grupo de nodos con otros proyectos o toda la organización, usa el siguiente comando
gcloud compute sole-tenancy node-groups update
.gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=local
Reemplaza
NODE_GROUP
por el nombre del grupo de nodos para dejar de compartir.REST
Para dejar de compartir un grupo de nodos con otros proyectos o toda la organización, usa el siguiente método
nodeGroups.patch
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": LOCAL } }
Reemplaza lo siguiente:
Borra un grupo de nodos del proyecto propietario
Para borrar un grupo de nodos compartido del proyecto propietario, usa la consola de Google Cloud, gcloud CLI o REST. Antes de borrar un grupo de nodos, detén todas las VMs que se ejecutan en el grupo.
Console
gcloud
Para borrar un grupo de nodos compartido del proyecto propietario, usa el siguiente
gcloud compute sole-tenancy node-groups delete
comando .gcloud compute sole-tenancy node-groups delete NODE_GROUP
Reemplaza
NODE_GROUP
por el nombre del grupo de nodos que deseas borrar.REST
Para borrar un grupo de nodos compartido del proyecto propietario, usa el siguiente método
nodeGroups.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP
Reemplaza lo siguiente:
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-12-22 (UTC)
-