- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Erteilen von Installationsberechtigungen
- Disaster Recovery: Aktiv-/Passiv-Konfigurationen
- Generieren der Konfigurationsdatei mit einem Assistenten
- Beispiel für AKS input.json
- Beispiel für EKS input.json
- Konfigurieren eines Kubernetes-Geheimnisses als Geheimnisspeicher
- Konfigurieren von Azure Key Vault als Geheimnisspeicher
- Konfigurieren von HashiCorp Vault als Secretstore
- Konfigurieren von AWS Secrets Manager als Geheimnisspeicher
- Installieren und Konfigurieren des Dienstgeflechts
- Installieren und Konfigurieren des GitOps-Tools
- Installieren des Operators „Externe Geheimnisse“ in Kubernetes
- Anwenden verschiedener Konfigurationen
- Ausführen von uipathctl
- Installation
- Nach der Installation
- Migration und Upgrade
- Überwachung und Warnungen
- Clusterverwaltung
- Produktspezifische Konfiguration
- Erweiterte Orchestrator-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
- Installation der Hostbibliothek überspringen
- AI Trust Layer
- Fehlersuche und ‑behebung
- AI Center-Bereitstellungsfehler nach Upgrade auf 2023.10 oder höher
- Insights-Volumes, die nach der Migration in zwei verschiedenen Zonen erstellt wurden
- Upgrade schlägt aufgrund überschriebener Insights-PVC-Größen fehl
- Velero-Backup-Komponenten bleiben nach dem Upgrade auf AKS von Automation Suite 2024.10.x erhalten
- Das Sicherungssetup funktioniert nicht, da die Verbindung mit Azure Government fehlgeschlagen ist
- Hängende Pods im uipath-Namespace bei Aktivierung von benutzerdefinierten Knoten-Markierungen
- Automation Hub und Apps können mit Proxy-Setup nicht gestartet werden
- Die Velero-Sicherung schlägt mit dem Fehler „FehlgeschlageneValidierung“ fehl
- Fehlerbehebung bei externen Geheimnissen
- Temporär als Dienst-Fehlerbehebung
- AI Center und Document Understanding Pods können bei aktivierter TLS-Zertifikatsverifizierung nicht gestartet werden
- Validierungsfehler beim TLS-Zertifikat
- Fluentd exportiert keine Protokolle in IPv6-Umgebungen
- Studio Desktop kann keine Integration Service-Connectors und -Aktivitäten laden
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Konfigurieren von Ressourcenanforderungen und Limits für von uipathctl erstellte Workloads
Konfigurieren von HashiCorp Vault als Secretstore
Konfigurieren Sie HashiCorp Vault als Geheimnisspeicher für die Automation Suite auf EKS/AKS.
Sie können HashiCorp Vault mit einer der folgenden Authentifizierungsmethoden als Secretstore konfigurieren:
- Kubernetes-Authentifizierung
- AppRole-Authentifizierung
HashiCorp Vault bietet eine KV-Geheimnis-Engine zum Speichern von Geheimnissen.
Standardmäßig werden alle vertraulichen Daten in input.json definiert. Sie können diese Daten in zwei Teile aufteilen:
input.json– enthält nur Konfigurationsdaten.- HashiCorp Vault – Speichert Anmeldeinformationen sicher.
Sie können Zertifikatspfade oder zertifikatbezogene Anmeldeinformationen nicht als Teil des Secretstore speichern.
Alle Anmeldeinformationen, auf die in input.json verwiesen wird, müssen als Geheimnisse im HashiCorp Vault vorhanden sein, bevor Sie den Geheimnisspeicher konfigurieren. Fehlen referenzierte Anmeldeinformationen, schlägt die Installation fehl.
Verwenden der Kubernetes-Authentifizierung
Der ESO-Pod authentifiziert sich bei HashiCorp Vault mithilfe seines Kubernetes-Dienstkontotokens. Vault authentifiziert das Token beim Kubernetes API-Server und stellt ein Vault-Token mit den entsprechenden Richtlinien aus.
Voraussetzungen
- HashiCorp Vault mit aktivierter Kubernetes-Authentifizierungsmethode
- Tresorrolle, die so konfiguriert ist, dass sie das ESO-Dienstkonto zulässt. Standardmäßig ist der Dienstkontoname
external-secrets. - Netzwerkkonnektivität vom Kubernetes-Cluster zum Vault-Server
- (Optional) Ein benutzerdefiniertes Kubernetes ServiceAccount, wenn nicht das ESO-Standarddienstkonto verwendet wird
Configuring input.json
Um HashiCorp Vault als Secretstore mit Kubernetes Auth zu konfigurieren, fügen Sie den folgenden Abschnitt zu input.json hinzu:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"hashicorp_kv": {
"server": "https://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Um ein benutzerdefiniertes Servicekonto zu verwenden, fügen Sie das Feld service_account_name wie folgt hinzu:
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
{
"secret_store": {
"enabled": true,
"provider_configs": [
{
"name": "hc-vault",
"type": "hashicorp",
"auth_type": "kubernetes",
"service_account_name": "vault-auth-sa",
"hashicorp_kv": {
"server": "http://vault.example.com:8200",
"path": "secret",
"version": "v2",
"role": "uipath-role",
"mount_path": "kubernetes"
}
}
]
}
}
Wenn service_account_name konfiguriert ist, muss das Servicekonto vom Kunden vorab erstellt werden. uipathctl überprüft seine Existenz, erstellt es aber nicht.
Verwenden der AppRole-Authentifizierung
Die AppRole-Authentifizierung verwendet die AppRole-Authentifizierung von Vault, bei der sich ESO mit einer Rollen-ID und einer Geheimnis-ID authentifiziert, die in einem Kubernetes-Geheimnis gespeichert sind. Diese Methode eignet sich für automatisierte Systeme und erfordert nicht, dass die Kubernetes-Authentifizierung in Vault aktiviert ist.
Voraussetzungen
- HashiCorp Vault mit aktivierter AppRole-Authentifizierungsmethode
- AppRole-Rollen-ID und geheime ID werden generiert
- Kubernetes-Geheimnis, vorerstellt mit AppRole-Anmeldeinformationen
Configuring input.json
Um HashiCorp Vault als Secretstore mit AppRole Auth zu konfigurieren, führen Sie die folgenden Schritte aus:
-
Erstellen Sie das Kubernetes-Geheimnis, in dem die AppRole-Anmeldeinformationen gespeichert werden:
kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>kubectl create secret generic vault-approle-creds \ --namespace uipath \ --from-literal=role-id=<your-role-id> \ --from-literal=secret-id=<your-secret-id>Das Geheimnis muss folgende Schlüssel enthalten:
role-id– AppRole-Rollen-ID vom Vaultsecret-id– Geheime AppRole-ID vom Vault
-
Fügen Sie den folgenden Abschnitt zu
input.jsonhinzu:{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }{ "secret_store": { "enabled": true, "provider_configs": [ { "name": "hc-vault", "type": "hashicorp", "auth_type": "approle", "credentials_secret_name": "vault-approle-creds", "hashicorp_kv": { "server": "https://vault.example.com:8200", "path": "secret", "version": "v2", "mount_path": "approle" } } ] } }
Konfigurationsfelder
In der folgenden Tabelle werden die verfügbaren Konfigurationsfelder beschrieben.
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
hashicorp_kv.server | Ja | - | Tresorserver-URL |
hashicorp_kv.path | Nein | secret | Bereitstellungspfad der Geheimnis-KV-Engine |
hashicorp_kv.version | Nein | v2 | KV-Engine-Version: v1 oder v2 |
hashicorp_kv.role | Nein | uipath-role | Name der Tresorrolle für die Authentifizierung |
hashicorp_kv.mount_path | Nein | kubernetes oder approle (basiert auf auth_type) | Bereitstellungspfad der Auth-Methode |
auth_type | Ja | - | Muss kubernetes oder approlesein |
credentials_secret_name | Ja (Nur AppRole) | - | Kubernetes-Geheimnis, das die Schlüssel role-id und secret-id enthält |
service_account_name | Nein | external-secrets | Kubernetes-Dienstkonto für Kubernetes-Authentifizierung Wenn ein benutzerdefiniertes Dienstkonto angegeben ist, müssen Sie es im Cluster vorab erstellen. |
Verarbeitung von TLS-Zertifizierungsstellen
Wenn der Vault-Server HTTPS mit einem privaten Zertifizierungsstellenzertifikat verwendet, konfigurieren Sie additional_ca_certs in input.json mit dem Dateipfad des Zertifizierungsstellenzertifikats:
additional_ca_certs: /path/to/client_cert
additional_ca_certs: /path/to/client_cert
Im hashicorp_kv -Block ist keine zusätzliche Konfiguration erforderlich.
Verweisen auf Geheimnisse in input.json
Um auf Anmeldeinformationen zu verweisen, die in HashiCorp Vault gespeichert sind, verwenden Sie das folgende Format in input.json:
vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
- Bestimmtes Feld:
vault/hc-vault/s3-credentials?key=access_key - Angeheftete Version:
vault/hc-vault/platform-sql?version=2
Das folgende Beispiel zeigt, wie auf ein HashiCorp Vault-Geheimnis in input.json verwiesen wird:
admin_password: vault/hc-vault/admin-password-10832372?key=value
admin_password: vault/hc-vault/admin-password-10832372?key=value