Os grupos de nós de locatário individual compartilhados são semelhantes aos grupos de nós de locatário individual locais. Por exemplo, os grupos de nós compartilhados custam o mesmo, consomem a mesma cota e residem em um projeto pai na hierarquia de recursos.
A diferença entre grupos de nós compartilhados e grupos de nós locais é que outros projetos na sua organização podem provisionar instâncias de máquina virtual (VM) nos grupos de nós compartilhados.
Compartilhar um grupo de nós em vários projetos ou uma organização pode ajudar você a fazer o seguinte:
Consolide grupos de nós que você gerencia em um único projeto e compartilhe esses nós com outros projetos ou com toda a organização
Reduzir custos excluindo nós após consolidar VMs de vários projetos em grupos de nós subutilizados
Gerenciar nós de locatário individual com uma única equipe
Compartilhe nós de locatário individual com projetos menores e retenha os limites de segurança e de controle de acesso entre esses projetos
Fazer uma migração em tempo real entre grupos de nós no mesmo projeto
Melhore a utilização dos seus grupos de nós e reduza o número de nós de manutenção reservados ao usar a política de manutenção Migrar no grupo de nós.
O diagrama a seguir mostra um grupo de nós compartilhado com outros projetos para que outros departamentos que gerenciam VMs nesses projetos possam provisionar VMs em um grupo de nós compartilhado.
Benefícios da utilização dos grupos de nós compartilhados
Na tabela a seguir, comparamos projetos que usam grupos de nós locais com projetos que usam grupos de nós compartilhados. Observe que a subutilização da vCPU diminui em projetos que usam grupos de nós compartilhados.
Configuração do projeto | Grupos de nós locais | Grupos de nós compartilhados |
---|---|---|
Projetos | 10 | 10 |
vCPU / projeto | 24 | 24 |
Grupos de nós | 10 | 1 |
Nós / grupo de nós | 1 | 3 |
vCPU / nó | 80 | 80 |
Utilização / grupo de nós | 24 | 80 |
Subutilização / Grupo de nós | 56 | 0 |
Subutilização total | 10 x 56 = 560 vCPUs | 1 x 0 = 0 vCPU |
Configurações para compartilhar grupos de nós
O Compute Engine usa as configurações a seguir para compartilhar grupos de nós e provisionar VMs nos grupos de nós compartilhados:
Uma configuração de compartilhamento que você define ao criar ou atualizar o grupo de nós de locatário individual. Para especificar se o grupo de nós precisa ser compartilhado com outros projetos ou com toda a organização, use as configurações da CLI gcloud (
--share-setting
,--share-with
) ou as configurações REST (shareSetting
,shareWith
).Um rótulo de afinidade de nó
compute.googleapis.com/project
padrão usado ao provisionar uma VM em um grupo de nós compartilhado usando rótulos de afinidade de nó. Para ver informações sobre os outros identificadores de afinidade do nó padrão, consulte Rótulos de afinidade padrão.
Considerações sobre a política de manutenção
Quando um grupo de nós usa a política de manutenção Migrar no grupo de nós, o Compute Engine reserva pelo menos um nó para eventos de migração em tempo real. Portanto, o nó pode ser usado. O grupo de nós precisa ter pelo menos dois nós. Não é possível programar VMs no nó reservado. Portanto, os grupos de nós com essa política de manutenção geralmente têm uma utilização geral menor. Isso faz com que as cargas de trabalho que exijam a política de manutenção Migrar dentro do grupo de nós sejam boas candidatas para o compartilhamento do grupo de nós, já que muitas vezes elas veem o maior benefício de uma utilização aprimorada.
Permissões e papéis do IAM
Tenha em mente as seguintes informações sobre papéis e permissões do IAM ao compartilhar um grupo de nós:
Se um grupo de nós for compartilhado com um projeto, qualquer usuário que possa criar VMs nos projetos listados ou na organização poderá provisionar VMs desses projetos para o grupo de nós compartilhado sem alterações nos papéis ou nas permissões do IAM.
O papel
compute.soleTenantViewer
do IAM permite listar e visualizar grupos de nós (CLI gcloud / REST). Não é possível modificar grupos de nós com esse papel. Qualquer usuário com esse papel ou com permissões para listar grupos de nós, independentemente das permissões de IAM na VM, pode ver o ID do projeto, o nome, o tipo de máquina e as informações sobre SSDs e GPUs locais para todas as VMs no grupo de nós.
Limitações
Limitações do regime de conformidade:
- Qualquer que seja a permissão do IAM na VM, qualquer usuário com permissão para listar grupos de nós vai poder ver o ID do projeto, o nome e o tipo de máquina de todas as VMs no grupo. Portanto, devido ao risco de divulgação de informações entre projetos, os projetos com VMs provisionadas em grupos de nós compartilhados precisam estar no mesmo regime de conformidade.
Limitações do console do Google Cloud:
- Se você não tiver permissão para visualizar VMs no grupo de nós compartilhado, essas VMs não aparecerão na lista de VMs na página Nós de locatário individual no console do Google Cloud.
- Depois de modificar as configurações de compartilhamento na página Grupos de nós de locatário individual, a configuração Compartilhado com não é atualizada na IU. Para ver a configuração atualizada Compartilhado com, acesse a página Nós de locatário individual.
- Depois de compartilhar um grupo de nós com todos os projetos em uma organização ou com projetos selecionados em uma organização, só é possível ver o grupo de nós compartilhado pelo próprio projeto. Não é possível ver o grupo de nós compartilhado dos projetos com que ele foi compartilhado. Para provisionar uma VM no grupo de nós compartilhado, do projeto com o qual o grupo de nós é compartilhado, acesse Instâncias de VM e depois modifique os identificadores de afinidade de nó de locatário individual.
Limitações de compartilhamento:
- Atualize as configurações de compartilhamento do projeto proprietário do grupo de nós.
- É possível especificar no máximo 100 projetos ao usar a configuração de compartilhamento
projects
. - Não é possível compartilhar grupos de nós entre organizações. Por exemplo, se você migrar um projeto que contém um grupo de nós compartilhado de uma organização para outra, também precisará migrar todos os projetos que têm VMs em execução nesse grupo de nós compartilhado.
- Não é possível fazer a migração em tempo real entre projetos ao usar grupos de nós de locatário individual compartilhados. Para mais informações, consulte Migração em tempo real manual de VMs.
Preços
As VMs em grupos de nós compartilhados não geram cobranças extras e não há cobranças adicionais para compartilhar grupos de nós. Para mais informações sobre preços de nós de locatário individual, consulte Preços de nós de locatário individual.
Antes de começar
- Antes de criar um grupo de nós de locatário individual, crie um modelo de nó de locatário individual.
- Antes de provisionar VMs em um nó de locatário individual, verifique sua cota. Dependendo do número e do tamanho dos nós reservados, talvez seja necessário solicitar um aumento de cota.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
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.
Crie um grupo de nós de locatário individual. Para mais informações, consulte Criar um grupo de nós de locatário individual.
Defina as configurações de compartilhamento especificando uma das seguintes opções em Definir configurações de compartilhamento:
- Para compartilhar o grupo de nós com todos os projetos na sua organização, escolha a opção Compartilhar este grupo de nós com todos os projetos na organização.
- Para compartilhar o grupo de nós com projetos específicos na sua organização, escolha Compartilhar esse grupo de nós com projetos selecionados na organização.
Se você não quiser compartilhar o grupo de nós, escolha Não compartilhar este grupo de nós com outros projetos.
NODE_GROUP
: o nome do grupo de nós.ZONE
: a zona em que o grupo de nós será criado.NODE_TEMPLATE
: o nome do modelo de nó criado anteriormente.SIZE
: o número de nós no grupo de nós.SHARE_SETTING
: a configuração de compartilhamento do grupo de nós. Defina comoprojects
para compartilhar com projetos específicos ou comoorganization
para compartilhar com toda a organização.PROJECTS
: uma lista de IDs ou números de projeto de projeto para compartilhar o grupo de nós. Obrigatório apenas se você definirSHARE_SETTING
comoprojects
.PROJECT
: o nome do projeto para criar o grupo de nós.ZONE
: a zona em que o grupo de nós será criado.NODE_GROUP
: o nome do grupo de nós.NODE_TEMPLATE
: o nome do modelo de nó criado anteriormente.SIZE
: o número de nós no grupo de nós.SHARE_TYPE
: a configuração de compartilhamento do grupo de nós. Defina comoSPECIFIC_PROJECTS
para compartilhar com projetos específicos ou comoORGANIZATION
para compartilhar com toda a organização.PROJECTS
: uma lista de IDs ou números de projeto de projeto para compartilhar o grupo de nós. Obrigatório apenas se você definirSHARE_TYPE
comoSPECIFIC_PROJECTS
.No console do Google Cloud, mude para um projeto com que você compartilhou um grupo de nós.
Acesse a página Instâncias da VM.
Clique em Criar instância.
Em Zona, escolha a zona do grupo de nós compartilhado.
Em Configuração da máquina > Série, escolha o mesmo tipo de máquina que o modelo do grupo de nós de locatário individual compartilhado especifica.
Abra Opções avançadas > Locatário individual > Procurar.
Escolha Selecionar projeto e especifique o projeto que contém o grupo de nós compartilhado.
Escolha o grupo de nós de locatário individual ou um nó de locatário individual específico nesse grupo para provisionar a VM.
VM_NAME
: o nome da nova VM de locatário individual a ser criada em um grupo de nós compartilhadoMACHINE_TYPE
: o tipo de máquina para a nova VM de locatário individualNODE_GROUP
: o nome do grupo de nós compartilhado para criar a VM de locatário individualNODE_PROJECT
: o projeto que contém o grupo de nós para provisionar a VMVM_NAME
: o nome da VM de locatário individual a ser criada em um grupo de nós compartilhado usando um rótulo de afinidade.MACHINE_TYPE
: o tipo de máquina da VM de locatário individual a ser criada em um grupo de nós compartilhado.NODE_AFFINITY_FILE
: o nome do arquivo.json
que contém as informações de afinidade do nó. No arquivo de afinidade do nó, defina a chave de identificador de afinidade como"compute.googleapis.com/project"
, o operador igual a"IN"
e o valor igual ao projeto que contém o grupo de nós. Para mais informações sobre como configurar a afinidade de nó, consulte Configurar rótulos de afinidade de nó.PROJECT
: o nome do projeto proprietário do grupo de nós.ZONE
: a zona do grupo de nós.VM_NAME
: o nome da VM de locatário individual a ser criada em um grupo de nós compartilhado usando um rótulo de afinidade.MACHINE_TYPE
: o tipo de máquina da VM de locatário individual a ser criada em um grupo de nós compartilhado.KEY
: o rótulo de afinidade. Defina como"compute.googleapis.com/project"
.OPERATOR
: o operador de rótulo de afinidade. Defina como"IN"
.VALUE
: o projeto que contém o grupo de nós para provisionar a VM. Especifique um projeto usando o nome ou o ID do projeto.No Console do Google Cloud, acesse a página Nós de locatário individual.
Para visualizar as propriedades do grupo de nós, na coluna Nome, clique no nome do grupo de nós.
PROJECT
: o nome do projeto com o grupo de nós para ver as configurações de compartilhamentoZONE
: a zona que contém o grupo de nós para visualizar as configurações de compartilhamentoNo Console do Google Cloud, acesse a página Nós de locatário individual.
Na coluna Nome, clique no nome do grupo de nós.
Para compartilhar o grupo de nós com todos os projetos na organização ou com projetos selecionados na organização, em Visão geral > Compartilhado com e clique em Editar .
NODE_GROUP
: o nome do grupo de nós para atualizar as configurações de compartilhamento.SHARE_SETTING
: a configuração de compartilhamento do grupo de nós. Defina comoprojects
para compartilhar com projetos específicos ou comoorganization
para compartilhar com toda a organização.PROJECTS
: uma lista de IDs ou números de projeto de projeto para compartilhar o grupo de nós. Obrigatório apenas se você definirSHARE_SETTING
comoprojects
.PROJECT
: o nome do projeto com os grupos de nós para atualizar as configurações de compartilhamento.ZONE
: a zona que contém os grupos de nós em que as configurações de compartilhamento serão atualizadas.NODE_GROUP
: o nome do grupo de nós para atualizar as configurações de compartilhamento.SHARE_TYPE
: a configuração de compartilhamento do grupo de nós. Defina comoprojects
para compartilhar com projetos específicos ou comoorganization
para compartilhar com toda a organização.PROJECTS
: uma lista de IDs ou números de projeto de projeto para compartilhar o grupo de nós. Obrigatório apenas se você definirSHARE_SETTING
comoSPECIFIC_PROJECTS
.No Console do Google Cloud, acesse a página Nós de locatário individual.
Clique no Nome do grupo de nós.
Em Visão geral > Compartilhado com, clique em Editar .
Para interromper o compartilhamento, escolha Não compartilhar este grupo de nós com outros projetos.
PROJECT
: o nome do projeto com o grupo de nós para interromper o compartilhamentoZONE
: a zona que contém o grupo de nós para interromper o compartilhamentoNODE_GROUP
: o nome do grupo de nós para interromper o compartilhamentoNo Console do Google Cloud, acesse a página Nós de locatário individual.
Na coluna Nome, clique no nome do grupo de nós.
Clique em Excluir.
PROJECT
: o nome do projeto com o grupo de nós a ser excluído.ZONE
: a zona que contém o grupo de nós a ser excluído.NODE_GROUP
: o nome do grupo de nós a ser excluído.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Criar e compartilhar um novo grupo de nós
Para criar um novo grupo de nós e compartilhá-lo com outros projetos ou com toda a organização, use o console do Google Cloud, a CLI gcloud ou o REST.
Console
gcloud
Para criar um grupo de nós compartilhado, use o seguinte 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
Substitua:
REST
Para criar um grupo de nós compartilhado, use o seguinte 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 }, } } ... }
Substitua:
Provisionar uma VM de locatário individual em um grupo de nós compartilhado
Para provisionar uma VM de locatário individual em um grupo de nós compartilhados, use o console do Google Cloud, a CLI gcloud ou a REST.
Console
gcloud
Provisionar uma VM em um grupo de nós compartilhado usando o nome desse grupo
Para provisionar uma VM de locatário individual em um grupo de nós compartilhado usando o nome do grupo de nós, use o seguinte comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-group=NODE_GROUP \ --node-project=NODE_PROJECT
Substitua:
Provisionar uma VM em um grupo de nós compartilhado usando um arquivo de afinidade do nó
Para provisionar uma VM de locatário individual em um grupo de nós compartilhado usando um arquivo de afinidade de nó, use o seguinte comando
gcloud compute instances create
.gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --node-affinity-file=NODE_AFFINITY_FILE
Substitua:
REST
Para provisionar uma VM de locatário individual em um grupo de nós compartilhado usando um arquivo de afinidade de nó, use o seguinte 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 ] } ], ... }, ... }
Substitua:
Para mais informações sobre como configurar a afinidade de nó, consulte Configurar rótulos de afinidade de nó.
Visualizar as configurações de compartilhamento de um grupo de nós
Para visualizar as configurações de compartilhamento de um grupo de nós, use o console do Google Cloud, a CLI gcloud ou a REST.
Console
gcloud
Para visualizar as configurações de compartilhamento de um grupo de nós, use o seguinte comando
gcloud compute sole-tenancy node-groups describe
.gcloud compute sole-tenancy node-groups describe NODE_GROUP
Substitua
NODE_GROUP
pelo nome do grupo de nós para visualizar as configurações de compartilhamento.REST
Para visualizar as configurações de compartilhamento de um grupo de nós, use o seguinte método
nodeGroups.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups
Substitua:
Compartilhar um grupo de nós atual
Para compartilhar um grupo de nós existente com outros projetos ou com toda a organização, use o console do Google Cloud, a CLI gcloud ou a REST.
Console
gcloud
Para atualizar as configurações de compartilhamento de um grupo de nós, use o seguinte 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
Substitua:
REST
Para atualizar as configurações de compartilhamento de um grupo de nós, use o seguinte 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 }, } } }
Substitua:
Parar de compartilhar um grupo de nós
Para interromper o compartilhamento de um grupo de nós com outros projetos ou com toda a organização, use a CLI gcloud ou REST.
Console
gcloud
Para interromper o compartilhamento de um grupo de nós com outros projetos ou com toda a organização, use o seguinte comando
gcloud compute sole-tenancy node-groups update
.gcloud compute sole-tenancy node-groups update NODE_GROUP \ --zone=ZONE \ --share-setting=local
Substitua
NODE_GROUP
pelo nome do grupo de nós para interromper o compartilhamento.REST
Para interromper o compartilhamento de um grupo de nós com outros projetos ou com toda a organização, use o seguinte método
nodeGroups.patch
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP { "shareSettings": { "shareType": LOCAL } }
Substitua:
Excluir um grupo de nós compartilhado do projeto proprietário
Para excluir um grupo de nós compartilhados do projeto proprietário, use o console do Google Cloud, a CLI gcloud ou a REST. Antes de excluir um grupo de nós, interrompa todas as VMs que estão em execução no grupo de nós.
Console
gcloud
Para excluir um grupo de nós compartilhado do projeto proprietário, use o seguinte comando
gcloud compute sole-tenancy node-groups delete
.gcloud compute sole-tenancy node-groups delete NODE_GROUP
Substitua
NODE_GROUP
pelo nome do grupo de nós a ser excluído.REST
Para excluir um grupo de nós compartilhado do projeto proprietário, use o seguinte método
nodeGroups.delete
.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/nodeGroups/NODE_GROUP
Substitua:
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-09-24 UTC.
-