Defender kann keine Verbindung zur Prisma Cloud Konsole mit dem Fehler "Verbindung aufgrund eines Hostnamenkonflikts fehlgeschlagen" herstellen.
Symptom
Defender kann keine Verbindung zur Prisma Cloud Konsole herstellen, wenn die folgende Fehlermeldung in den Defender-Protokollen angezeigt wird:
Connection failed due to hostname conflict, Defender name "<hostname>" is already connected.
Environment
- Prisma Cloud
Cause
- Während der Installation übernimmt Defender den Hostnamen vom zugrunde liegenden Host als Defender ID.
- Prisma Cloud Die Konsole erfordert, dass der Defender ID eindeutig ist.
- Wenn nicht eindeutig, wird die nachfolgende Verbindung durch einen anderen Host mit demselben Defender ID (Hostname) abgelehnt.
Resolution
Im Folgenden sind die Schritte für verschiedene Bereitstellungsszenarien aufgeführt, um den Defender mit dem Flag neu zu installieren: unique_hostname=true
Orchestrator(Daemonset):
- Mit jedem Orchestrator wie Kubernetes oder Openshift können Sie das YAML/Helm-Diagramm einfach wie folgt ändern und erneut auf den Cluster anwenden.
- Der Orchestrator stellt die Defender-Pods automatisch mit neuer Konfiguration auf den Knoten bereit.
Wenn Sie /HELM das für die Bereitstellung verwendet wurde, führen Sie YAMLdie folgenden Schritte aus:
YAML
- Öffnen Sie die yaml-Datei mit dem Texteditor, suchen Sie einen Schlüssel mit dem Namen CLOUD_HOSTNAME_ENABLED und ändern Sie den Wert von false in true.
Erstellen Sie einen neuen Schlüssel / Wert wie im folgenden Bild, wenn Sie den Schlüssel CLOUD_HOSTNAME_ENABLED nicht finden können:
- Führen Sie den Befehl aus, um die neuen Einstellungen des Daemonsets zu übertragen:
kubectl apply -f example.yaml
Hinweis: Ersetzen Sie example.yaml durch den von Ihnen verwendeten yaml-Dateinamen.
4. Nach der Aktualisierung des Daemonsets entfernt der Cluster automatisch die vorhandenen Pods und stellt Pods mit neuen Einstellungen bereit, die einen eindeutigen Hostnamen/Defender IDhaben.
Helm-Diagramm
Öffnen Sie value.yaml im Pfad des Twistlock-Verteidiger-Helm-Diagramms, und ändern Sie den Wert des Schlüssels mit dem Namen unique_hostname von false auf true
Erstellen Sie einen neuen Schlüssel / Wert wie im folgenden Bild, wenn Sie den Schlüssel nicht finden können , unique_hostname:
Führen Sie den Befehl aus, um die neuen Einstellungen des Daemonsets über Helm zu übertragen:
Helm Upgrade -n Twistlock Twistlock
(Hinweis: Möglicherweise müssen Sie den Namensraum und/oder den Helm-Release-Namen von twistlock in Ihren eigenen definierten Namen ändern.)
Beispielausgabe:
Sie können das Original YAML/Helm Chart nicht finden?
Wenn Sie das Diagramm /HELM nicht finden können, das YAMLzum Bereitstellen des Defenders verwendet wurde, können Sie ein neues YAML/HELM mit den folgenden Schritten generieren:
Wechseln Sie zu Compute UI > Verwalten > Defenders > Bereitstellen > Defenders > Orchestrator.
Wählen Sie die beste Option/den besten Wert aus, die zu Ihrer Umgebung passt, z. B. die Auswahl des Orchestratortyps, des Defender-Kommunikationsports usw. etc.
Stellen Sie sicher, dass "Hosts global eindeutige Namen zuweisen (optional)" auf "Ein" festgelegt ist:
Nachdem Sie bestätigt haben, dass alle Optionen gut ausgewählt sind, klicken Sie auf Download YAML oder Helm-Diagramm entsprechend:
Einzelner Verteidiger:
Wenn Sie Single Defender verwenden, müssen Sie den aktuellen Defender deinstallieren und dann einen neuen Defender mit den folgenden Schritten installieren:
Deinstallieren Sie den Defender:
Fenster:
Führen Sie diese cmd in der Eingabeaufforderung mit admin aus:
C:\Programme\\scripts\Prisma Clouddefender.ps1 -uninstall
OR
C:\Programme\Twistlock\scripts\defender.ps1 -uninstall
Linux - Container Defender:
Führen Sie diese cmd aus:
sudo /var/lib/twistlock/scripts/twistlock.sh -u
Linux - Host Defender:
Führen Sie diese cmd aus:
sudo /var/lib/twistlock/scripts/twistlock.sh -u defender-server
Installieren Sie den Defender neu:
Besuchen Sie Compute UI > Manage > Defenders > Deploy > Defenders > Single Defender
Wählen Sie die beste Option/den besten Wert aus, die zu Ihrer Umgebung passt, z. B. den Defender-Typ, den Defender-Kommunikationsport usw. etc.
Stellen Sie sicher, dass "Hosts global eindeutige Namen zuweisen (optional)" auf "Ein" festgelegt ist.
Kopieren Sie das Skript im letzten Schritt und führen Sie es auf Ihrem Host aus, um einen neuen Defender zu installieren.
Für Linux, fügen Sie das Ergebnis auf terminal /CLI
Fügen Sie unter Windows das Ergebnis in PowerShell ein
Nach der Neuinstallation sollte der Verteidiger einen eindeutigen Hostnamen verwenden, um die Konsole zu melden. Ausgabe gelöst.