Zum Inhalt

English

Schritt 7: Den Agenten auf das Gateway bringen

Auf einem Laborgateway getestet, nicht auf einem Yocto-Image

Die Schritte 7 und 8 beruhen auf Testläufen auf einem Laborgateway mit dem signierten Release cproto-v0.2.0-rc.2, von Hand installiert. Auf einem Image, das mit dem Yocto-Rezept gebaut ist, sind sie nicht gelaufen.

Wozu dieser Schritt

Das Gateway braucht ein kleines Programm, den Bootstrap-Agent, um mit der Plattform zu sprechen. Er läuft als ein Dienst, weist die Identität des Gateways mit seinem TPM nach, holt die Einstellungen aus Ihrem Template, speichert sie und meldet sich regelmäßig, standardmäßig einmal pro Stunde. Ihre eigene Gateway-Software startet Ihr Image, nicht der Agent.

Das brauchen Sie

  • Den Agenten auf dem Gateway, auf einem von zwei Wegen: in Ihrem Gateway-Image, siehe Mit Yocto und RAUC installieren (für Gateways in Serie), oder von Hand auf einem einzelnen Gateway installiert, siehe Manuell auf einem Gateway installieren. Beide Seiten zeigen, wie Sie den Download prüfen.
  • Eine Kommandozeile auf dem Gateway als Administrator (root), per SSH oder direkt am Gerät.
  • Die Plattformadresse für Gateways, von Ihrem Support-Kontakt.

So geht's

Alle Befehle laufen auf dem Gateway, als root.

  1. Sagen Sie dem Agenten, wo die Plattform ist. Das legt eine kleine Einstellungsdatei an:

    mkdir -p /etc/bootstrap-agent
    
    cat > /etc/bootstrap-agent/agent.env <<'EOF'
    BOOTSTRAP_AGENT_URL=https://bootstrap.ztd.dev.pxdc.io
    BOOTSTRAP_AGENT_TRUST_BUNDLE=
    EOF
    

    Lassen Sie BOOTSTRAP_AGENT_TRUST_BUNDLE= leer, außer der Support hat Ihnen eine Datei gegeben, siehe Einstellungen.

  2. Starten Sie den Agenten neu, damit er die Datei liest:

    systemctl restart bootstrap-agent.service
    
  3. Sorgen Sie dafür, dass Ihr Image Ihre Gateway-Software startet, sobald die Konfiguration gespeichert ist, und die Bestätigungsmarkierung schreibt, sobald sie verbunden ist. Beides steht unter Software starten und bestätigen.

Das sollten Sie sehen

Den laufenden Dienst und den Zustand des Agenten:

systemctl is-active bootstrap-agent.service
curl -s --unix-socket /run/bootstrap-agent/api.sock http://localhost/v1/status

Der erste Befehl gibt active aus. Im zweiten ist "state" gleich no_config, solange die Plattform das Gateway noch nicht eingerichtet hat, und ready, sobald sie es getan hat.

Falls nicht

Ist state gleich error, liegt der Fehler auf dem Gateway selbst: eine fehlende Adresse, das TPM oder der Speicher. Lesen Sie das Log mit journalctl -u bootstrap-agent.service -n 50 und siehe Fehlerbehebung.