Questa pagina descrive cosa succede durante un esperimento con un tipo di errore di calcolo e le misure da adottare nel caso in cui il test di iniezione di errori non possa interrompere l'esperimento.
Come funziona l'errore di calcolo
L'errore di calcolo utilizza i tag delle risorse per contrassegnare le VM e una policy firewall con regole che hanno come target questi tag per bloccare tutto il traffico in entrata e in uscita. Questa configurazione fa sì che le risorse di destinazione appaiano come se stessero subendo un'interruzione, garantendo al contempo che rimangano integre e rapidamente recuperabili.
La destinazione di questo errore può essere:
- Istanze di macchine virtuali
- VM basate su un tag di risorsa specificato
- VM all'interno di un gruppo di istanze gestite (MIG) di zona o regionale specificato
- VM non MIG in una zona e VM in MIG di zona.
- Non MIG in una regione e VM in tutti i MIG.
Cosa succede durante l'esecuzione dell'esperimento
Man mano che l'esperimento passa da uno stato all'altro, stati, le risorse coinvolte subiscono le seguenti modifiche.
Risorsa |
|
|
|
VM |
Nessuno |
Associa tag di risorsa |
Dissocia tag di risorsa |
MIG / RMIG |
Nessuno |
Disattiva il ripristino automatico e la scalabilità automatica (se sono attive) |
Ripristina le impostazioni di ripristino automatico e scalabilità automatica |
Tag |
Crea una risorsa TagValue univoca per l'esperimento |
Nessuno |
Elimina TagValue |
Policy firewall |
Crea una risorsa FirewallPolicy a livello di SISTEMA |
Compila con regole DENY e associa la policy ai VPC pertinenti |
Dissocia dai VPC ed elimina FirewallPolicy |
Ripristino manuale di emergenza
In caso di errore catastrofico del backend in cui Fault Injection Testing non può interrompere automaticamente un esperimento, puoi ripristinare manualmente la connettività alle risorse VM rimuovendo manualmente i tag delle risorse associati alle VM interessate. La policy del firewall di sistema, che ha come target questi tag, non verrà più applicata, scollegando di fatto le VM dall'errore di isolamento.
Autorizzazioni obbligatorie
Devi disporre delle seguenti autorizzazioni IAM:
- Obbligatorie per visualizzare le istanze VM:
compute.instances.getcompute.instances.list
- Obbligatorie per visualizzare e rimuovere le associazioni di tag:
resourcemanager.tagValueBindings.listresourcemanager.tagValueBindings.delete
Ripristino manuale utilizzando l' Google Cloud interfaccia utente della console
Per eseguire un ripristino utilizzando la Google Cloud console:
- Vai alla pagina Istanze VM nella Google Cloud console.
- Seleziona le istanze VM specifiche interessate dall'errore di isolamento.
- Nella pagina dei dettagli dell'istanza, vai alla sezione di gestione dei tag.
- Identifica l'associazione di tag specifica dell'esperimento associata all'errore di calcolo di Fault Injection Testing.
- Rimuovi l'associazione di tag dalla VM.
Una volta rimosso il tag, la policy del firewall associata non avrà più come target la VM e la connettività verrà ripristinata.
Ripristino manuale utilizzando gcloud CLI
Puoi rimuovere manualmente l'associazione di tag dell'esperimento da una VM utilizzando Google Cloud CLI. Nei seguenti comandi, sostituisci TAG_VALUE_NAME,
PROJECT_NUMBER, ZONE e VM_NAME con i valori specifici del tuo
ambiente.
Innanzitutto, recupera il nome del valore del tag specifico dell'esperimento elencando le associazioni di tag correnti per la VM:
gcloud resource-manager tag bindings list --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME
Utilizza l'output del comando precedente per determinare il TAG_VALUE_NAME richiesto per il passaggio di eliminazione:
gcloud resource-manager tag bindings delete --tag-value=TAG_VALUE_NAME --resource=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_NAME
Una volta rimosso il tag, la policy del firewall associata non avrà più come target la VM e la connettività verrà ripristinata.