automation-suite
2024.10
true
- Überblick
- Anforderungen
- Empfohlen: Bereitstellungsvorlagen
- Anleitung: Vorbereiten der Installation
- Anleitung: Vorbereiten der Installation
- Schritt 1: Konfigurieren der OCI-konformen Registrierung für Offline-Installationen
- Schritt 2: Konfigurieren des externen Objektspeichers
- Schritt 3: Konfigurieren eines High Availability Add-ons
- Schritt 4: Konfigurieren von Microsoft SQL Server
- Schritt 5: Konfigurieren des Lastausgleichs
- Schritt 6: Konfigurieren des DNS
- Schritt 7: Konfigurieren der Datenträger
- Schritt 8: Konfigurieren der Einstellungen auf Kernel- und Betriebssystemebene
- Schritt 9: Konfigurieren der Knotenports
- Schritt 10: Anwenden verschiedener Einstellungen
- Schritt 12: Validieren und Installieren der erforderlichen RPM-Pakete
- Schritt 13: Generieren von cluster_config.json
- Cluster_config.json-Beispiel
- Allgemeine Konfiguration
- Profilkonfiguration
- Zertifikatkonfiguration
- Datenbankkonfiguration
- Konfiguration des externen Objektspeichers
- Vorsignierte URL-Konfiguration
- ArgoCD-Konfiguration
- Externe OCI-konforme Registrierungskonfiguration
- Disaster Recovery: Aktiv/Passiv- und Aktiv/Aktiv-Konfigurationen
- Konfiguration des High Availability Add-ons
- Spezifische Orchestrator-Konfiguration
- Insights-spezifische Konfiguration
- Process Mining-spezifische Konfiguration
- Spezifische Konfiguration für Document Understanding
- Spezifische Konfiguration für Automation Suite Robots
- AI Center-spezifische Konfiguration
- Konfiguration der Überwachung
- Optional: Konfigurieren des Proxyservers
- Optional: Aktivieren der Widerstandsfähigkeit gegen zonale Ausfälle in einem HA-fähigen Produktionscluster mit mehreren Knoten
- Optional: Übergeben einer benutzerdefinierten resolv.conf-Datei
- Optional: Erhöhen der Fehlertoleranz
- Hinzufügen eines dedizierten Agent-Knotens mit GPU-Unterstützung
- Hinzufügen eines dedizierten Agent-Knotens für Task Mining
- Verbinden einer Task Mining-Anwendung
- Hinzufügen eines dedizierten Agentenknotens für Automation Suite-Roboter
- Schritt 15: Konfigurieren der temporären Docker-Registrierung für Offline-Installationen
- Schritt 16: Validieren der Voraussetzungen für die Installation
- Manuell: Durchführen der Installation
- Nach der Installation
- Clusterverwaltung
- Verwalten von Produkten
- Erste Schritte mit dem Clusterverwaltungsportal
- Migrieren von Objectstore von persistentem Volume zu Raw-Festplatten
- Migrieren vom clusterinternen zum externen High Availability Add-on
- Migrieren von Daten zwischen Objectstores
- Clusterinterner Objectstore zu einem externen Objectstore migrieren
- Migrieren zu einer externen OCI-konformen Registrierung
- Manueller Wechsel zum sekundären Cluster in einem Aktiv-/Passiv-Setup
- Disaster Recovery: Durchführen von Vorgängen nach der Installation
- Umwandlung einer bestehenden Installation in eine Multi-Site-Einrichtung
- Richtlinien zum Upgrade einer Aktiv/Passiv- oder Aktiv/Aktiv-Bereitstellung
- Leitlinien zum Sichern und Wiederherstellen einer Aktiv-/Passiv- oder Aktiv/Aktiv-Bereitstellung
- Überwachung und Warnungen
- Migration und Upgrade
- Migrieren zwischen Automation Suite-Clustern
- Aktualisieren der Automation Suite
- Herunterladen der Installationspakete und Übertragen aller Dateien auf den ersten Serverknoten
- Abrufen der zuletzt angewendeten Konfiguration aus dem Cluster
- Aktualisieren der Clusterkonfiguration
- Konfigurieren der OCI-konformen Registrierung für Offline-Installationen
- Ausführen des Upgrades
- Durchführen von Vorgängen nach dem Upgrade
- Anwenden eines Patches
- Produktspezifische Konfiguration
- Konfigurieren von Orchestrator-Parametern
- Konfigurieren von AppSettings
- Konfigurieren der maximalen Anforderungsgröße
- Überschreiben der Speicherkonfiguration auf Clusterebene
- Konfigurieren von NLog
- Speichern von Roboterprotokollen in Elasticsearch
- Konfigurieren von Anmeldeinformationsspeichern
- Konfigurieren der Verwendung von einem Verschlüsselungsschlüssel pro Mandant
- Bereinigen der Orchestrator-Datenbank
- Best Practices und Wartung
- Fehlersuche und ‑behebung
- Fehlerbehebung bei Diensten während der Installation
- Deinstallieren des Clusters
- Löschen von Offline-Artefakten für mehr Speicherplatz
- So löschen Sie Redis-Daten
- So können Sie die Istio-Protokollierung aktivieren
- So werden Protokolle manuell bereinigt
- So löschen Sie alte Protokolle, die im sf-logs-Bucket gespeichert sind
- So deaktivieren Sie Streaming-Protokolle für das AI Center
- Fehlerbehebung bei fehlgeschlagenen Automation Suite-Installationen
- So löschen Sie Bilder aus dem alten Installationsprogramm nach dem Upgrade
- Deaktivieren von TX-Prüfsummen-Offloading
- So legen Sie die ArgoCD-Protokollebene manuell auf Info fest
- So erweitern Sie den AI Center-Speicher
- So wird der codierte pull_secret_value für externe Registrierungen generiert
- Umgang mit schwachen Verschlüsselungen in TLS 1.2
- So überprüfen Sie die TLS-Version
- So planen Sie die Ceph-Sicherung und Wiederherstellung von Daten
- Es kann keine Offlineinstallation auf RHEL 8.4 OS ausgeführt werden.
- Fehler beim Herunterladen des Pakets
- Die Offlineinstallation schlägt aufgrund fehlender binärer Dateien fehl
- Zertifikatproblem bei der Offlineinstallation
- Validierungsfehler bei der SQL-Verbindungszeichenfolge
- Voraussetzungsprüfung für das Selinux-iscsid-Modul schlägt fehl
- Azure-Datenträger nicht als SSD markiert
- Fehler nach der Zertifikatsaktualisierung
- Virenschutz verursacht Probleme bei der Installation
- Automation Suite funktioniert nach Betriebssystem-Upgrade nicht
- Bei der Automation Suite muss „backlog_wait_time“ auf 0 gesetzt werden.
- Volume nicht bereitstellbar, da es nicht für Workloads bereit ist
- Fehler bei der Protokollsammlung des Supportpakets
- Das Upgrade eines einzelnen Knotens schlägt in der Fabric-Phase fehl
- Upgrade schlägt aufgrund eines fehlerhaften Ceph . fehl
- Rke2 wird aufgrund von Platzproblemen nicht gestartet
- Datenträger kann nicht verbunden werden und verbleibt im Status der „Attach/Detach“-Schleife
- Upgrade schlägt aufgrund von klassischen Objekten in der Orchestrator-Datenbank fehl
- Ceph-Cluster in beeinträchtigtem Status nach parallelem Upgrade
- Fehlerhafte Insights-Komponente verursacht Fehlschlag der Migration
- Dienst-Upgrade schlägt für Apps fehl
- Timeouts beim direkten Upgrade
- Docker-Registrierungsmigration bleibt in PVC-Löschphase hängen
- AI Center-Bereitstellungsfehler nach Upgrade auf 2023.10 oder höher
- Upgrade schlägt in Offline-Umgebungen fehl
- SQL-Validierung schlägt während des Upgrades fehl
- Snapshot-controller-crds Pod im Status CrashLoopBackOff nach dem Upgrade
- Fehler beim Hoch- oder Herunterladen von Daten im Objektspeicher
- Die Größenänderung eines PVC bewirkt keine Korrektur von Ceph
- Fehler beim Ändern der Größe von objectstore PVC
- Rook Ceph oder Looker-Pod hängen im Init-Status fest
- Fehler beim Anhängen eines StatefulSet-Volumes
- Fehler beim Erstellen persistenter Volumes
- Festlegen eines Timeout-Intervalls für die Verwaltungsportale
- Die Authentifizierung funktioniert nach der Migration nicht
- kinit: KDC kann für Realm <AD Domain> beim Abrufen der ersten Anmeldeinformationen nicht gefunden werden
- Kinit: Keytab enthält keine geeigneten Schlüssel für *** beim Abrufen der ersten Anmeldeinformationen
- GSSAPI-Vorgang aufgrund eines ungültigen Statuscodes fehlgeschlagen
- Alarm für fehlgeschlagenen Kerberos-tgt-update-Auftrag erhalten
- SSPI-Anbieter: Server in Kerberos-Datenbank nicht gefunden
- Anmeldung eines AD-Benutzers aufgrund eines deaktivierten Kontos fehlgeschlagen
- ArgoCD-Anmeldung fehlgeschlagen
- Aktualisieren Sie die zugrunde liegenden Verzeichnisverbindungen
- Fehler beim Abrufen des Sandbox-Abbilds
- Pods werden nicht in der ArgoCD-Benutzeroberfläche angezeigt
- Redis-Testfehler
- RKE2-Server kann nicht gestartet werden
- Secret nicht im UiPath-Namespace gefunden
- ArgoCD wechselt nach der ersten Installation in den Status „In Bearbeitung“.
- MongoDB-Pods in „CrashLoopBackOff“ oder ausstehende PVC-Bereitstellung nach Löschung
- Pods stecken in Init:0/X
- Fehlende Ceph-rook-Metriken in Überwachungs-Dashboards
- Document Understanding erscheint nicht auf der linken Leiste der Automation Suite
- Fehlerstatus beim Erstellen einer Datenbeschriftungssitzung
- Fehlerstatus beim Versuch, eine ML-Fähigkeit bereitzustellen
- Migrationsauftrag schlägt in ArgoCD fehl
- Die Handschrifterkennung mit dem Intelligent Form Extractor funktioniert nicht oder arbeitet zu langsam
- Ausführen von Hochverfügbarkeit mit Process Mining
- Die Process Mining-Datenaufnahme ist bei der Anmeldung über Kerberos fehlgeschlagen
- Nach Disaster Recovery funktioniert Dapr für Process Mining und Task Mining nicht mehr ordnungsgemäß.
- Verbindung mit der Datenbank „AutomationSuite_ProcessMining_Lager“ über eine Verbindungszeichenfolge im pyodbc-Format nicht möglich
- Die Airflow-Installation schlägt mit „sqlaldemy.exc.ArgumentError“ fehl: URL konnte nicht analysiert werden rfc1738 aus Zeichenfolge „
- So fügen Sie eine IP-Tabellenregel hinzu, um den SQL Server-Port 1433 zu verwenden
- Dem Automation Suite-Zertifikat des Servers, auf dem CData Sync ausgeführt wird, wird nicht vertraut
- Ausführen des Diagnosetools
- Verwenden des Automation Suite-Supportpakets
- Erkunden von Protokollen
Rook Ceph oder Looker-Pod hängen im Init-Status fest
Automation Suite unter Linux – Installationsanleitung
Letzte Aktualisierung 28. Nov. 2024
Rook Ceph oder Looker-Pod hängen im Init-Status fest
Fehlercode |
30001 |
Gelegentlich gibt es beim Neustart eines Knotens das Problem, dass der Looker- oder Rook Ceph-Pod im Init-Status festhängt, da das Volume fehlt, das zum Anhängen von PVC an einen Pod erforderlich ist.
Überprüfen Sie, ob das Problem tatsächlich mit Longhorn zusammenhängt, indem Sie den folgenden Befehl ausführen:
kubectl get events -A -o json | jq -r '.items[] | select(.message != null) | select(.message | contains("cannot get resource \"volumeattachments\" in API group \"storage.k8s.io\""))'
kubectl get events -A -o json | jq -r '.items[] | select(.message != null) | select(.message | contains("cannot get resource \"volumeattachments\" in API group \"storage.k8s.io\""))'
Wenn es mit Longhorn in Verbindung steht, sollte dieser Befehl eine Liste von Pod-Namen zurückgeben, die vom Problem betroffen sind. Wenn der Befehl nichts zurückgibt, ist die Ursache des Problems eine andere.
Führen Sie das folgende Skript aus, um die problematischen Pods zu beheben, wenn der vorherige Befehl keine leere Ausgabe zurückgibt:
#!/bin/bash
function wait_till_rollout() {
local namespace=$1
local object_type=$2
local deploy=$3
local try=0
local maxtry=2
local status="notready"
while [[ ${status} == "notready" ]] && (( try != maxtry )) ; do
kubectl -n "$namespace" rollout status "$deploy" -w --timeout=600s;
# shellcheck disable=SC2181
if [[ "$?" -ne 0 ]];
then
status="notready"
try=$((try+1))
else
status="ready"
fi
done
if [[ $status == "notready" ]]; then
echo "$deploy of type $object_type failed in namespace $namespace. Plz re-run the script once again to verify that it's not a transient issue !!!"
exit 1
fi
}
function fix_pv_deployments() {
for pod_name in $(kubectl get events -A -o json | jq -r '.items[] | select(.message | contains("cannot get resource \"volumeattachments\" in API group \"storage.k8s.io\"")) | select(.involvedObject.kind == "Pod") | .involvedObject.name + "/" + .involvedObject.namespace' | sort | uniq)
do
POD_NAME=$(echo "${pod_name}" | cut -d '/' -f1)
NS=$(echo "${pod_name}" | cut -d '/' -f2)
controller_data=$(kubectl -n "${NS}" get po "${POD_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
[[ $controller_data == "" ]] && error "Error: Could not determine owner for pod: ${POD_NAME}" && exit 1
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
if [[ $CONTROLLER_KIND == "ReplicaSet" ]]
then
controller_data=$(kubectl -n "${NS}" get "${CONTROLLER_KIND}" "${CONTROLLER_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.replicas')
unavailable_replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.unavailableReplicas')
if [ -n "$unavailable_replicas" ]; then
available_replicas=$((replicas - unavailable_replicas))
if [ $available_replicas -eq 0 ]; then
kubectl -n "$NS" scale "$CONTROLLER_KIND" "$CONTROLLER_NAME" --replicas=0
sleep 15
kubectl -n "$NS" scale "$CONTROLLER_KIND" "$CONTROLLER_NAME" --replicas="$replicas"
deployment_name="$CONTROLLER_KIND/$CONTROLLER_NAME"
wait_till_rollout "$NS" "deploy" "$deployment_name"
fi
fi
fi
done
}
fix_pv_deployments
#!/bin/bash
function wait_till_rollout() {
local namespace=$1
local object_type=$2
local deploy=$3
local try=0
local maxtry=2
local status="notready"
while [[ ${status} == "notready" ]] && (( try != maxtry )) ; do
kubectl -n "$namespace" rollout status "$deploy" -w --timeout=600s;
# shellcheck disable=SC2181
if [[ "$?" -ne 0 ]];
then
status="notready"
try=$((try+1))
else
status="ready"
fi
done
if [[ $status == "notready" ]]; then
echo "$deploy of type $object_type failed in namespace $namespace. Plz re-run the script once again to verify that it's not a transient issue !!!"
exit 1
fi
}
function fix_pv_deployments() {
for pod_name in $(kubectl get events -A -o json | jq -r '.items[] | select(.message | contains("cannot get resource \"volumeattachments\" in API group \"storage.k8s.io\"")) | select(.involvedObject.kind == "Pod") | .involvedObject.name + "/" + .involvedObject.namespace' | sort | uniq)
do
POD_NAME=$(echo "${pod_name}" | cut -d '/' -f1)
NS=$(echo "${pod_name}" | cut -d '/' -f2)
controller_data=$(kubectl -n "${NS}" get po "${POD_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
[[ $controller_data == "" ]] && error "Error: Could not determine owner for pod: ${POD_NAME}" && exit 1
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
if [[ $CONTROLLER_KIND == "ReplicaSet" ]]
then
controller_data=$(kubectl -n "${NS}" get "${CONTROLLER_KIND}" "${CONTROLLER_NAME}" -o json | jq -r '[.metadata.ownerReferences[] | select(.controller==true)][0] | .kind + "=" + .name')
CONTROLLER_KIND=$(echo "${controller_data}" | cut -d'=' -f1)
CONTROLLER_NAME=$(echo "${controller_data}" | cut -d'=' -f2)
replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.replicas')
unavailable_replicas=$(kubectl -n "${NS}" get "$CONTROLLER_KIND" "$CONTROLLER_NAME" -o json | jq -r '.status.unavailableReplicas')
if [ -n "$unavailable_replicas" ]; then
available_replicas=$((replicas - unavailable_replicas))
if [ $available_replicas -eq 0 ]; then
kubectl -n "$NS" scale "$CONTROLLER_KIND" "$CONTROLLER_NAME" --replicas=0
sleep 15
kubectl -n "$NS" scale "$CONTROLLER_KIND" "$CONTROLLER_NAME" --replicas="$replicas"
deployment_name="$CONTROLLER_KIND/$CONTROLLER_NAME"
wait_till_rollout "$NS" "deploy" "$deployment_name"
fi
fi
fi
done
}
fix_pv_deployments