Skip to main content

Estado desejado e estado atual

Leia current_state para ver onde a instância está. desired_state registra o que você pediu: running, stopped ou deleted. Enquanto uma requisição está sendo aplicada, os dois podem diferir: um stop define desired_state=stopped e current_state=stopping até que o guest se desligue. current_state também relata condições observadas no convidado:
  • crashed: o convidado caiu. Se ainda for desejado executar, a recuperação automática tenta um reinício, no máximo uma vez a cada 60 segundos. O erro fatal é relatado antes da recuperação, portanto, esse estado pode ser breve.
  • paused: a execução do convidado está pausada.
  • suspended: o convidado entrou em suspensão de gerenciamento de energia.
Os convidados pausados e suspensos não são reiniciados automaticamente. Você pode parar uma instância que falhou, foi pausada ou suspensa e iniciá-la novamente. Parar também cancela a recuperação automática de falhas. saída do console para investigar a causa, mesmo que a recuperação automática já tenha trazido de volta ao running.

O que cada fracasso está te dizendo

Leia faults. Cada entrada carrega um code, uma severity, uma message e details da etapa que falhou. Mais de um código pode estar ativo ao mesmo tempo. Veja Resource faults para o próprio array.POST /v1/instances/{instance_id}/start aceita uma instância em error, então uma falha que aconteceu enquanto o convidado estava chegando pode ser re-tentada sem recriar nada. Uma nova tentativa de início resolve START_FAILED e LEGACY_FAILURE_STATE somente. Ele não limpa códigos de propriedade do provisionamento.Não reconstrui o que nunca foi construído. Uma falha anterior a isso — o volume de inicialização ou as interfaces — não deixa nada para um início para trazer, e a instância é melhor excluída e criada novamente uma vez que a causa é corrigida. As causas usuais estão na solicitação: uma sub-rede que não roteia para um gateway de internet enquanto uma NIC pediu um endereço público, um documento user_data que não é um YAML válido, ou um tamanho de inicialização abaixo do chão da imagem.
Verifique o current_state. Um convidado running ainda pode ter um problema de rede ou de configuração de convidado; running não significa que o SSH está pronto.Leia a saída console a seguir — ela funciona em um convidado que nunca chegou à rede, que é precisamente o caso em que o SSH não pode diagnosticar.
Duas causas, ambas silenciosas.Seu user_data tem que decodificar para um documento começando com #cloud-config. Um script de shell não é mesclado e não é executado — coloque os comandos em runcmd.Valores de cloud-init de nível superior substituem valores base. Verifique os logs do documento e do cloud-init do convidado quando um comando personalizado falhar.
Para IAM SSH, use o nome de usuário Linux do seu perfil ou conta de serviço. Verifique sua chave pública, a função da conta atual e a permissão de login, e que o IAM SSH esteja habilitado no convidado.Verifique se o grupo de segurança da NIC admite sua fonte na porta 22. Confirme o endereço de GET /v1/instances/{instance_id}/nics: inspecione os addresses de cada NIC e o floating_ips aninhado. O objeto de instância não tem campos de resumo IP.
Uma instância não move hosts quando redimensiona, portanto, o crescimento tem que caber onde já está. Um tipo de instância dedicated precisa de threads livres inteiros, não apenas um host sub-assinado.A solução é iniciar uma nova instância no tipo de instância de destino (o agendador pode colocá-la em qualquer lugar) e mover a carga de trabalho ou reinstalar em uma nova instância e reanexar os volumes de dados.
Cada ação aceita um conjunto restrito de estados: start precisa de stopped ou error; stop aceita running, crashed, paused ou suspended; reboot precisa de running; redimensionar e reinstalar precisam de stopped. Qualquer coisa no meio da transição — pending, building, stopping, rebooting, deleting — é recusada até que ela se acomode. Sondagem current_state e tente novamente.
Verifique managed_by. Uma instância de propriedade de um balanceador de carga ou um cluster de banco de dados é somente leitura através desta API, e cada mutação responde 404 em vez de 403 — a superfície do cliente não admite que seja acionável.Um 403 é o outro caso, e um diferente: a instância é sua e a verificação do IAM nessa ação específica falhou. As ações são por operação, portanto, um principal pode ler uma instância e ainda não ter permissão para pará-la.

Cotas

Uma instância contém três contadores regionais ao mesmo tempo, todos reservados juntos na criação e liberados na exclusão: instances, vcpus e ram_mb. É por isso que um pequeno limite de instances não é a história toda — um punhado de grandes flavors pode esgotar o vcpus primeiro. volumes_per_instance limita o disco de inicialização mais todos os volumes de dados em uma instância, e é verificado antes que a linha de instância exista, portanto, exceder isso é um 4xx simples, em vez de uma instância que provisiona parcialmente e estaciona em error. IPs flutuantes vêm do serviço de rede floating_ips.
instances raramente é o limite que você atinge primeiro. Três contadores são reservados juntos na criação e liberados juntos na exclusão, então um punhado de grandes tipos de instância esgota vcpus ou ram_mb enquanto a contagem de instâncias ainda parece confortável. Uma quota de recusa nomeia o que se esgotou — leia-o em vez de assumir.
IPs flutuantes vêm da cota floating_ips do serviço de rede, que gateways NAT também usam.

Próximo

Acesso ao console

As três formas de entrar, incluindo a que funciona sem rede.

Permissões

Quando a recusa é um 403 em vez de um erro de estado.