Fehlerbehebung bei Validierungstests

Um zu prüfen, ob benutzerdefinierte VM-Images korrekt gestartet werden und die Konfigurationsanforderungen erfüllen, führt Image Builder automatisierte Validierungstests auf einer temporären Test-VM aus. Wenn einer dieser Tests fehlschlägt, wird die Pipeline beendet und Image Builder veröffentlicht das endgültige Image nicht.

Hinweis

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren:

    Wählen Sie den Tab für die geplante Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI. Initialisieren Sie die Google Cloud CLI nach der Installation mit dem folgenden Befehl:

      gcloud init

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  • Legen Sie eine Standardregion und -zone fest.
  • REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Übersicht

Wenn die Anpassungsschritte erfolgreich abgeschlossen wurden, exportiert der Orchestrator das VM-Bootlaufwerk als temporäres Test-Image (mit dem Namen image-builder-test-image-BUILD_ID in der Familie image-builder-test-images).

Der Orchestrator startet eine Test-VM aus diesem Image und führt eine Reihe von Systemtests aus. Image Builder gibt die Testergebnisse im standardmäßigen JUnit-XML-Format direkt in die Cloud Build-Logs aus.

Fehlerbehebung bei bestimmten Validierungstests

Sehen Sie sich die häufigen Fehler und Diagnoseschritte für jeden Validierungstest an:

Intel IDPF-Treiberüberprüfung

Mit diesem Test wird geprüft, ob unterstützte VM-Instanzen den leistungsstarken Intel Infrastructure Data Path Function-Treiber (idpf) auf physischen Netzwerkschnittstellen laden.

  • Fehlerbedingung: Die VM besteht die Validierung nicht, wenn sie auf ein generisches Netzwerkadapterpaket zurückgreift oder wenn im Gastkernel das aktive idpf-Treibermodul fehlt.
  • Lösung:
    • Prüfen Sie, ob Ihr Basisbetriebssystem eine mit IDPF kompatible Kernelversion hat.
    • Prüfen Sie, ob der Treiber von Standard-Netzwerkdienstprogrammen entfernt oder auf die Blockierliste gesetzt wird.
    • Prüfen Sie bei benutzerdefinierten Kernel-Builds, ob CONFIG_IDPF konfiguriert ist.

Netzwerk und Überprüfung von Gast-Agents

Dieser Test prüft, ob die Instanz über eine funktionierende Gastkommunikation und standardisierte Netzwerkschnittstellenkonfigurationen verfügt.

  • Fehlerbedingung: Der Test schlägt unter einer der folgenden Bedingungen fehl:
    • Der Dienstmanager des Gast-Agents SubState zeigt keinen running-Status an.
    • Keine Nicht-Loopback-Netzwerkschnittstelle ist online.
    • Schnittstellennamen entsprechen nicht den erwarteten Standardmustern (z. B. eth* oder en*).
  • Lösung:

    • Prüfen Sie, ob der Gast-Agent installiert ist und so konfiguriert wurde, dass er beim Booten gestartet wird:

      systemctl is-active google-guest-agent
      
    • Achten Sie darauf, dass Ihre Netzwerkkonfigurationen (z. B. Netplan- oder ifupdown-Vorlagen) primäre virtuelle Schnittstellen nicht deaktivieren.

Secure Boot-Überprüfung

Mit diesem Test wird bestätigt, dass UEFI Secure Boot aktiv ist und dass das System die Validierung der Gastbetriebssystem-Kernelsignatur für das Image erzwingt.

  • Fehlerbedingung: Der Test schlägt fehl, wenn die Compute Engine-UEFI-Variablen melden, dass SecureBoot nicht 1 oder SetupMode nicht 0 ist.
  • Lösung:

    • Prüfen Sie, ob Ihr Bild gültige Signaturschlüssel enthält.
    • Prüfen Sie in der Datei imagebuilder.yaml, ob guestOsFeatures unter Ihrem Zielblock UEFI_COMPATIBLE enthält:

      destinations:
        - diskImage:
            guestOsFeatures:
              - UEFI_COMPATIBLE
      

Bestätigung pausieren oder fortsetzen

Bei diesem Test wird die Test-VM mithilfe der Compute Engine API angehalten. Es wird geprüft, ob die Verbindung nach der Wiederaufnahme der VM-Ausführung wiederhergestellt wird, ohne dass ein vollständiger Gast-Neustart ausgelöst wird.

  • Fehlerbedingung: Der Test schlägt fehl, wenn die Instanz beim Aufwachen neu startet, während des Ruhezustands hängen bleibt oder Netzwerk-Pings nicht wiederhergestellt werden können.
  • Lösung:
    • Prüfen Sie, ob ACPI-Dienste und Stromrichtlinien im Gastbetriebssystem aktiviert und so konfiguriert sind, dass sie auf ACPI-Ereignisse reagieren.
    • Prüfen Sie die Gastsystemprotokolle (/var/log/syslog oder /var/log/messages), um festzustellen, ob benutzerdefinierte Daemons System-Ruhezustandsanfragen blockieren.

Validierungstests überspringen

Wir empfehlen zwar, Produktionsbilder zu validieren, Sie können die Validierungstests während des Tests jedoch überspringen, indem Sie skipSystemTests: true im Block spec.config in der Datei imagebuilder.yaml festlegen:

spec:
  config:
    skipSystemTests: true