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.
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.
Cota de recursos excedida
Problema: uma reserva compartilhada não é usada porque uma cota foi excedida para um recurso específico.
As reservas compartilhadas têm um requisito adicional em relação à cota. O projeto do proprietário precisa ter cota suficiente para o dobro dos recursos reservados para os projetos do consumidor para usar os recursos reservados.
Resolução:solicite uma cota extra para o recurso a ser usado.