Konfigurieren Sie Tulip mit Ansible

Prev Next

Ansible ist ein Open-Source-IT-Tool mit Befehlszeilensteuerung zur Massenverwaltung von Edge-Geräten.

Erfahren Sie hier mehr über Ansible.

Für wen ist dieser Leitfaden gedacht?

  • Benutzer mit vollständigen Permission für Edge-Geräte
  • Benutzer, die mit Ansible vertraut sind
  • Benutzer, die mit der Einrichtung von Edge-Geräten vertraut sind

So funktioniert es

Ansible ist eine IT-Management-Software, mit der Sie Gerätekonfigurationen kopieren und einfügen können. Dies geschieht mithilfe eines „Golden Device“ als verifizierter Basis-Konfiguration, anhand derer ein Zielgerät konfiguriert wird.

Beispielsweise können Sie mehrere neue Edge-Geräte (die Zielgeräte) gleichzeitig konfigurieren, indem Sie das Gerät einer Gruppe zuweisen, die automatisch die Anmeldedaten eines bestehenden Referenzgeräts (des „Golden Device“) übernimmt. Sie können das „Golden Device“ mit weiteren Verbesserungen aktualisieren und diese Updates ausrollen.

Edge device bulk configuration workflow

Diese Methode ermöglicht ein automatisiertes und skalierbares IT-Management und reduziert potenzielle manuelle Konfigurationsfehler.

Integration von Edge-Geräten und Ansible

Diese Anleitungen beschreiben, wie Sie die Funktionen der Tulip Edge-Sammlung in Ihre bestehenden Ansible-Workflows integrieren können.

Installieren der Tulip Edge-Sammlung

  1. Führen Sie den folgenden Befehl in Ihrem Terminal aus:ansible-galaxy collection install git+https://github.com/tulip/tulip-ansible-library.git#/collections/ansible_collections/tulip/edge
  2. Um das Repository für Edge-Geräte zu installieren, führen Sie den folgenden Befehl aus:ansible-galaxy collection install tulip.edge

Konfiguration des Inventars

Fügen Sie den folgenden Code zu Ihrem bestehenden Inventar hinzu und füllen Sie die Variablen aus.

  1. Benennen Sie im folgenden Code die Gerätegruppe und authentifizieren Sie Ihre Instanz mit der URL der Instanz, Ihrer E-Mail-Adresse und Ihrem E-Mail-Passwort.

[your_device_group:vars]tulip_factory_url=https://your-factory.tulip.cotulip_admin_email=admin@yourcompany.comtulip_admin_password_sha256=your_sha256_hash

  1. Geben Sie im folgenden Code Ihren Firmennamen an.

tulip_client_name=NameIhresUnternehmens tulip_client_version=1.0.0 tulip_client_description=Production Gateway

Erstellen Sie einen Passwort-Hash

Ein Passwort-Hash ist eine Sicherheitsmaßnahme, bei der ein Passwort in eine Zeichenfolge fester Länge aus durcheinandergewürfelten Zeichen umgewandelt wird, die sich nicht ohne Weiteres rückverfolgen oder entschlüsseln lässt. Dieser Schritt vermeidet die Sicherheitsrisiken, die mit Klartext-Passwörtern in Ihrer Datei verbunden sind.

Um sichere Passwort-Hashes zu generieren, geben Sie Folgendes ein:

echo -n "Ihr_Passwort" | sha256sum | cut -d' ' -f1

Integration in das Core-Playbook

Fügen Sie die erforderlichen Playbooks mit dem folgenden Code zu Ihren bestehenden Workflows hinzu:


* import\_playbook: tulip.edge.register when: register\_devices | default(false) ```

### Integration testen

Fügen Sie Ihren Workflows mit dem folgenden Code ein Test-Playbook hinzu:

```- name: Test der Tulip-Gateway-Authentifizierung hosts: test\_devices tasks: - name: Testgerät authentifizieren import\_playbook: collections/ansible\_collections/tulip/edge/playbooks/gateway\_tulip\_auth.yml

  • name: Überprüfen, ob die Authentifizierung funktioniert hat import_playbook: collections/ansible_collections/tulip/edge/playbooks/gateway_device_info.yml- name: Konnektivität prüfen import_playbook: collections/ansible_collections/tulip/edge/playbooks/gateway_check_internet.yml

Bewährte Verfahren für die Integration

  1. Variablenverwaltung

    • Verwenden Sie group\_vars für allgemeine Einstellungen
    • Verwenden Sie host\_vars für gerätespezifische Überschreibungen
    • Speichern Sie sensible Daten in Ansible Vault
  2. Fehlerbehandlung


* name: Authentifizierungsfehler behandeln debug: msg: „Authentifizierung fehlgeschlagen, Anmeldedaten überprüfen“ when: auth\_result.failed | default(false) ```
* **Backup-Verwaltung**
* Verwenden Sie eine einheitliche Namensgebung für Backups, z. B.: `Gerät-Komponente-Zeitstempel`
* Speichern Sie Backup-Namen in Variablen zur Wiederverwendung
* Sicherungsaufbewahrungsrichtlinien implementieren
* **Idempotenz gewährleisten**: Alle Playbooks sind idempotent und können daher bedenkenlos mehrfach ausgeführt werden.

Um Fehler zu finden, die Ausführung der Logik nachzuvollziehen oder vor der Ausführung zu validieren, können Sie einen Testlauf durchführen, bei dem die eigentliche Software nicht ausgeführt wird. Verwenden Sie für einen Testlauf den Modus „--check“, wie im folgenden Beispiel gezeigt.

`ansible-playbook gateway_tulip_auth.yml --limit test_device --check`

## Bereitstellung von „Golden Devices“

Der Workflow zur Bereitstellung von Referenzgeräten ermöglicht Ihnen Folgendes: 1. **Auswahl eines Referenzgeräts**: Wählen Sie ein ordnungsgemäß konfiguriertes Referenzgerät aus. 2. **Sicherung der Referenzkonfiguration**: Erfassen Sie alle Komponentenkonfigurationen. 3. **Bereitstellung auf neuen Geräten**: Wenden Sie die Einstellungen des Referenzgeräts auf neue oder Ersatzgeräte an. 4. **Authentifizierung und Überprüfung**: Registrieren Sie Geräte und validieren Sie die Bereitstellung

### Inventar-Konfiguration

Konfigurieren Sie Ihr Inventar mit dem Referenzgerät und den Zielgeräten.

Geben Sie Folgendes in Ihr Terminal ein:

```[tulip\_edge\_devices]golden-device ansible\_host=172.16.15.130EIO-01-BCDEFA ansible\_host=172.16.15.140EIO-01-CDEFAB ansible\_host=172.16.15.141EIO-01-DEFABCansible\_host=172.16.15.150

[golden\_devices]EIO-01-ABCDEF

[newly\_provisioned]EIO-01-BCDEFAEIO-01-CDEFABEIO-01-DEFABC

[tulip\_edge\_devices:vars]

# Werksauthentifizierung

tulip\_factory\_url=https://your-factory.tulip.cotulip\_admin\_email=admin@yourcompany.comtulip\_admin\_password\_sha256=your\_sha256\_hash

# Client-Informationen

tulip\_client\_name=NameIhresUnternehmens tulip\_client\_version=1.0.0 tulip\_client\_description=Produktions-Gateway```

### Passwort-Hash generieren

Ein Passwort-Hash ist eine Sicherheitsmaßnahme, bei der ein Passwort in eine Zeichenfolge fester Länge aus durcheinandergewürfelten Zeichen umgewandelt wird, die sich nicht ohne Weiteres rückverfolgen oder entschlüsseln lässt. Dieser Schritt vermeidet die Sicherheitsrisiken, die mit Klartext-Passwörtern in Ihrer Datei verbunden sind.

Um einen [SHA256-Hash](https://www.movable-type.co.uk/scripts/sha256.html) für die sichere Speicherung von Passwörtern zu erstellen, geben Sie Folgendes ein:

`echo -n "Ihr_Passwort" | sha256sum | cut -d' ' -f1`

### Grundlegende Bereitstellung eines Golden-Geräts

Geben Sie für jeden Schritt den folgenden Code ein.

1. Melden Sie sich bei Ihrem Golden`Device` an:`ansible-playbook tulip.edge.login --limit golden-device`
2. Sichern Sie`die Konfigurationen` des Golden-Geräts:`ansible-playbook tulip.edge.backup_mqtt_broker --limit golden-device ansible-playbook tulip.edge.backup_mqtt_bridge --limit golden-deviceansible-playbook tulip.edge.backup_drivers --limit golden-deviceansible-playbook tulip.edge.backup_root_certs --limit golden-device`
3. An den`Zielgeräten` anmeldenansible-playbook`tulip.edge.login --limit newly_provisioned`
4. Goldene Konfigurationen auf den Zielgeräten bereitstellen```ansible-playbook tulip.edge.restore\_mqtt\_broker \ --limit newly\_provisioned \ -e mqtt\_broker\_backup\_name="golden-device-mqtt-broker-20241219-143022"

ansible-playbook tulip.edge.restore\_mqtt\_bridge \ --limit newly\_provisioned \ -e mqtt\_bridge\_backup\_name="golden-device-mqtt-bridge-20241219-143025"

ansible-playbook tulip.edge.restore\_drivers \ --limit newly\_provisioned \ -e drivers\_backup\_name="golden-device-drivers-20241219-143028"

ansible-playbook tulip.edge.restore\_root\_certs \ --limit newly\_provisioned \ -e root\_certs\_backup\_name="golden-device-root-certs-20241219-143030"```

1. Authentifizierung bei`Factoryansible-Playbook tulip.edge.gateway_tulip_auth --limit newly_provisioned`
2. Bei externen Systemen registrieren (optional)`ansible-playbook tulip.edge.register --limit newly_provisioned`
3. `Bereitstellung` überprüfen: ``` ansible-playbook tulip.edge.gateway_device_info --limit newly_provisioned` `ansible-playbook tulip.edge.gateway_check_internet --limit newly_provisioned ```

### Best Practices für „Golden Devices“

Der folgende „Golden Device“-Ansatz gewährleistet eine konsistente und zuverlässige Bereitstellung Ihrer Tulip Edge-Geräteflotte bei gleichzeitiger vollständiger Rückverfolgbarkeit und Kontrolle über Ihre Konfigurationsstandards.

1. **Pflege des „Golden Device**“: Halten Sie Ihr „Golden Device“ auf dem neuesten Stand und sorgen Sie für eine ordnungsgemäße Wartung
2. **Erstellen Sie regelmäßige Backups**: Erstellen Sie regelmäßig Backups der Konfiguration Ihres „Golden Device“
3. **Sorgen Sie für Versionskontrolle**: Speichern Sie Backups des „Golden Device“ in der Versionskontrolle unter aussagekräftigen Namen
4. **Richten Sie eine Testpipeline ein**: Testen Sie Golden-Device-Konfigurationen stets in der Staging-Umgebung, bevor Sie sie in die Produktion übernehmen
5. **Dokumentieren Sie die „Golden Device“-Konfiguration**: Dokumentieren Sie Ihre Konfigurationsstandards und -verfahren für das „Golden Device“
6. **Stellen Sie die Zugriffskontrolle sicher**: Beschränken Sie den Zugriff auf „Golden Devices“ und verwenden Sie separate Anmeldedaten
7. **Überwachen Sie den Zustand und die Prozesse**: Überwachen Sie den Zustand der Referenzgeräte und die Prozesse zur Erstellung von Sicherungskopien

### Fehlerbehebung

So beheben Sie häufige Probleme mit Golden Devices:

#### Das „Golden Device“ ist nicht erreichbar

Testen Sie zunächst die Verbindung zum Golden Device. Führen Sie folgenden Befehl aus:`ansible golden-device -m ping`

Überprüfen Sie den Status des Golden Devices. Führen Sie folgenden Befehl aus:`ansible-playbook tulip.edge.gateway_device_info --limit golden-device`

#### Die Backup-Bereitstellung schlägt fehl

Überprüfen Sie zunächst, ob die Backup-Datei vorhanden ist. Führen Sie folgenden Befehl aus: ``` ls backups/golden-device-mqtt-broker-*.json` ``

Verwenden Sie die Backup-Namenskonvention mit`` der Erweiterung: `ansible-playbook tulip.edge.restore_mqtt_broker \ --limit target-device \ -e mqtt_broker_backup_name="golden-device-mqtt-broker-20241219-143022" \ -vv ``

#### Probleme bei der Authentifizierung

Um das Golden Device erneut zu authentifizieren, führen Sie folgenden Befehl aus:`ansible-playbook tulip.edge.login --limit golden-device`

Um die Anmeldedaten des Golden-Geräts in Ihrem Inventar zu überprüfen, führen Sie folgenden Befehl aus:`ansible-inventory --host golden-device`

{{snippet.Haben Sie gefunden, wonach Sie gesucht haben?}}