Nesta página, você verá como resolver problemas com o consumo de reservas de recursos zonais do Compute Engine
Dificuldade em acompanhar o consumo de reserva
Problema: é possível consultar os detalhes de uma reserva ou monitorar o consumo de reservas para conferir quantas VMs reservadas estão sendo consumidas e monitorar alterações nesse número ao longo do tempo. Não é possível conferir diretamente quais VMs estão consumindo uma reserva.
Resolução: se for possível criar uma VM que visa uma
reserva específica,
a VM consumirá a reserva especificada na propriedade de afinidade
(reservationAffinity
) da VM. Caso contrário, a criação da VM falhará porque
as propriedades não correspondem
ou
não há recursos reservados disponíveis.
Também é possível criar uma VM que visa uma reserva específica para testar se ela está configurada corretamente para consumir automaticamente uma reserva correspondente e, em seguida, criar a VM para consumir qualquer reserva correspondente.
Problemas de VMs que não consomem reservas
Se uma VM não conseguir consumir uma reserva, talvez seja por um ou mais dos seguintes problemas:
- As propriedades da VM não correspondem às propriedades da reserva.
- A afinidade de reserva da VM está incorreta.
- A reserva já é consumida totalmente por outras VMs correspondentes.
- A cota do recurso foi excedida
Nesta seção, você verá como identificar cada um desses problemas, como resolver cada um e como verificar o consumo de reserva.
Propriedades de VM incompatíveis
Problema: uma VM não pode consumir uma reserva com propriedades de VM diferentes.
Para identificar esse problema, selecione um dos seguintes métodos:
Visualize os detalhes da reserva e da VM e verifique manualmente se as propriedades da VM correspondem:
Confira os detalhes da reserva que você quer que a VM consuma usando o comando
gcloud compute reservations describe
:gcloud compute reservations describe RESERVATION_NAME --zone=ZONE
Substitua:
- RESERVATION_NAME é o nome de uma reserva.
- ZONE é a zona em que a reserva está localizada.
Mantenha o resultado disponível.
Visualize os detalhes da VM que você quer que consuma a reserva usando o comando
gcloud compute instances describe
.gcloud compute instances describe VM_NAME
em que VM_NAME é o nome da VM.
Mantenha o resultado disponível.
Usando os resultados de descrição de VM e descrição de reserva, verifique se as seguintes propriedades correspondem:
project
- Se a reserva for compartilhada com vários projetos (se a
reserva tiver a propriedade
shareType
definida comoSPECIFIC_PROJECTS
), o projeto da VM poderá corresponder ao projeto em que a reserva está localizada ou corresponder a qualquer um dos projetos listados emshareSettings
.
- Se a reserva for compartilhada com vários projetos (se a
reserva tiver a propriedade
zone
machineType
guestAccelerators.acceleratorType
guestAccelerators.acceleratorCount
minCpuPlatform
- A VM e a reserva precisam ter exatamente a mesma configuração de
minCpuPlatform
. Se você especificar um valorminCpuPlatform
para qualquer uma delas, ambas precisarão ter o mesmo valor para a propriedade. Caso contrário, a reserva e a VM devem omitir a propriedade. Por exemplo, definirminCpuPlatform
como"Intel Broadwell"
ao criar uma VM não corresponderá ao valorminCpuPlatform
de"Automatic"
em uma reserva.
- A VM e a reserva precisam ter exatamente a mesma configuração de
localSsds.interface
- A reserva e a VM precisam ter o mesmo número de SSDs locais com
uma propriedade
localSsds.interface
correspondente para cada SSD local.
- A reserva e a VM precisam ter o mesmo número de SSDs locais com
uma propriedade
resourcePolicies
*
*Apenas se uma reserva especificar uma política de posição compacta.
Crie uma VM que segmente uma reserva específica, o que retornará um erro se as propriedades não corresponderem. Para instruções, consulte Verificar o consumo de reserva.
Resolução: atualize as propriedades de VM incompatíveis seguindo um destes procedimentos:
- Atualize a VM para corresponder às propriedades da reserva.
- Exclua a reserva e crie uma nova reserva que corresponda às propriedades da VM.
Para verificar se a VM está consumindo a reserva, consulte Verificar o consumo de reserva.
Se as propriedades da VM e da reserva forem correspondentes, mas a VM não estiver consumindo a reserva, vá para a próxima seção.
As VMs não cumprem uma política de posicionamento
Problema: uma VM está tentando consumir uma reserva sem especificar a política de posicionamento compacto da reserva.
Resolução: se uma reserva de projeto único especificar uma política de posicionamento compacto, uma VM precisará especificar exatamente a mesma política de veiculação compacto para consumir a reserva. Caso contrário, a VM não poderá consumir a reserva.
Para garantir que uma VM consuma uma reserva que especifique uma política de posicionamento compacto, tente uma das seguintes opções:
Se você criou uma reserva de projeto único especificando propriedades diretamente, aplique a política de posicionamento compacto ao criar VMs.
Se você criou uma reserva de um projeto especificando um modelo de instância, selecione um dos seguintes métodos:
Recomendado: usar o modelo de instância da reserva para criar VMs. Essa ação aplica automaticamente a mesma política de posicionamento compacto especificada na reserva a cada nova VM que você criar.
Aplique a política de posicionamento compacto ao criar VMs. Esse método exige que você garanta manualmente que a política de posicionamento compacto e todas as outras propriedades da VM das suas VMs e reservas correspondam exatamente. Todas as propriedades incompatíveis impedem consumo.
As VMs especificam uma política de posicionamento compacto diferente
Problema: uma VM está tentando consumir uma reserva, mas a política de posicionamento compacto especificada na VM e na reserva não é correspondente.
Resolução: se uma reserva de projeto único especificar uma política de posicionamento compacto, uma VM precisará especificar exatamente a mesma política de veiculação compacto para consumir a reserva. Caso contrário, a VM não poderá consumir a reserva.
Para resolver esse problema, tente uma das seguintes opções:
Se você criou uma reserva de projeto único especificando propriedades diretamente, aplique a política de posicionamento compacto da reserva ao criar novas VMs.
Se você criou uma reserva de projeto único especificando um modelo de instância, use o mesmo modelo para criar VMs. Essa ação aplica automaticamente a mesma política de posicionamento compacto especificada na reserva a cada nova VM que você criar.
Afinidade de reserva da VM incorreta
Problema: a afinidade de reserva da VM está configurada incorretamente. A afinidade de reserva de uma VM controla as reservas que uma VM pode consumir. Para verificar a afinidade da reserva da VM, faça o seguinte:
-
Confira os detalhes da reserva que você quer que a VM consuma com o comando
gcloud compute reservations describe
.gcloud compute reservations describe RESERVATION_NAME --zone=ZONE
Substitua:
- RESERVATION_NAME é o nome de uma reserva.
- ZONE é a zona em que a reserva está localizada.
No resultado, encontre o valor do campo
specificReservationRequired
,true
oufalse
. -
Confira os detalhes da VM usando o comando
gcloud compute instances describe
.gcloud compute instances describe VM_NAME
em que VM_NAME é o nome da VM.
Na saída, encontre o campo
reservationAffinity
, que é semelhante a este:... reservationAffinity: consumeReservationType: RESERVATION_AFFINITY key: compute.googleapis.com/reservation-name values: - RESERVATION_NAME ...
Resolução: atualize a propriedade reservationAffinity
da VM
para ser compatível com o campo specificReservationRequired
da reserva
usando uma das seguintes configurações aceitas:
-
Se o campo
specificReservationRequired
da reserva fortrue
, a propriedadereservationAffinity
da VM precisará corresponder ao seguinte:... reservationAffinity: consumeReservationType: SPECIFIC_RESERVATION key: compute.googleapis.com/reservation-name values: - RESERVATION_NAME ...
em que RESERVATION_NAME é o nome da reserva.
-
Se o campo
specificReservationRequired
da reserva forfalse
, a propriedadereservationAffinity
da VM precisará corresponder ao seguinte:... reservationAffinity: consumeReservationType: ANY_RESERVATION ...
É necessário reiniciar a VM para fazer a atualização. Após a atualização, para verificar se a VM está consumindo a reserva, consulte Verificar o consumo de reserva.
Se a afinidade de reserva da VM estiver configurada corretamente, mas a VM não estiver consumindo nenhuma reserva, vá para a próxima seção.
A reserva já foi totalmente consumida
Problema: o número de VMs atualmente em uso para essa reserva corresponde ao número total de VMs reservadas.
Para identificar esse problema, visualize os detalhes da reserva e verifique se o número de VMs em uso atualmente para essa reserva é menor que o número total de VMs reservadas.
Resolução: é possível aumentar o número de VMs disponíveis para consumir na reserva seguindo um destes procedimentos:
- Aumente o número de VMs na reserva redimensionando a reserva.
- Crie uma nova reserva com as mesmas propriedades caso a reserva já reserve o número máximo de VMs.
- Reduza o número de outras VMs que estão consumindo a reserva. Para mais informações, consulte VMs que consomem reservas intencionalmente.
Para verificar se a VM está consumindo a reserva, consulte Verificar o consumo de reserva.
Se a reserva não estiver totalmente consumida, mas a VM não estiver consumindo a reserva, será possível solucionar ainda mais o problema criando uma VM que segmente uma reserva específica, o que retornará um erro se o consumo falhar. Para saber mais, prossiga para a próxima seção.
Cota de recursos excedida para reservas compartilhadas
Problema: uma VM não está consumindo uma reserva compartilhada porque seu projeto não tem cota suficiente para os recursos que você está tentando consumir.
Resolução: as reservas compartilhadas têm requisitos de cota adicionais. Se você precisar aumentar a cota no projeto para consumir os recursos reservados, veja Solicitar uma cota maior na documentação de cotas do Cloud.
Contagem de VMs não restaurada após parar ou excluir uma VM
Problema: se você interromper, suspender ou excluir uma VM que está consumindo uma reserva, a operação precisará ser concluída antes que a VM não seja mais contabilizada na reserva e os recursos consumidos anteriormente estejam disponíveis novamente para consumo.
Resolução: aguarde alguns minutos para que a operação de interrupção, suspensão ou exclusão nas VMs seja concluída. Em seguida, para verificar se as VMs interrompidas, suspensas ou excluídas não contam mais na reserva, verifique o número total de VMs consumidas na reserva usando um dos seguintes métodos:
Recomendado: monitore a reserva e procure uma alteração nas medidas dela.
Visualize os detalhes da reserva e verifique se o valor do campo
inUseCount
diminuiu. Se o valor não diminuiu, uma ou mais VMs começaram a consumir a reserva enquanto a operação de interrupção, suspensão ou exclusão estava sendo concluída.
VMs que consomem reservas intencionalmente
Problema: quando você cria reservas consumidas automaticamente (padrão), as VMs podem consumir essas reservas intencionalmente.
Resolução: você pode ajudar a controlar quais VMs consomem reservas fazendo o seguinte:
- Use VMs que não podem consumir nenhuma reserva quando quiser.
- Use reservas que são consumidas somente quando segmentadas especificamente em vez de reservas consumidas automaticamente.