- Überblick
- Anforderungen
- Vor der Installation
- Vorbereiten der Installation
- Herunterladen der Installationspakete
- Konfigurieren der OCI-konformen Registrierung
- Gewährung von Installationsberechtigungen mit Clusterrollen
- Gewährung von Installationsberechtigungen ohne Clusterrollen
- Installieren und Konfigurieren des Dienstgeflechts
- Installieren und Konfigurieren des GitOps-Tools
- Installieren des Operators für externe Geheimnisse
- Bereitstellen von Redis über OperatorHub
- 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
- Deinstallieren der Automation Suite
- So beheben Sie einen Fehler bei der Überprüfung der Prereq-Konnektivität unter OpenShift 4.16–4.18
- So stellen Sie Insights in einem FIPS-fähigen Cluster bereit
- So deaktivieren Sie die automatische CDI-Aktivierung im Nvidia GPU-Operator
- So codieren Sie ein PostgreSQL-Verbindungszeichenfolgenkennwort für eine URL
- 500 Fehler und Ratenbegrenzung für S3-Anforderungen in ODF
- Fehlerbehebung bei externen Geheimnissen
- Konfigurieren von CSI-Treibertoleranzen für ODF 4.20
- Temporär als Dienst-Fehlerbehebung
- AI Center und Document Understanding Pods können bei aktivierter TLS-Zertifikatsverifizierung nicht gestartet werden
- Studio Desktop kann keine Integration Service-Connectors und -Aktivitäten laden
- Validierungsfehler beim TLS-Zertifikat
- Manuelle Schadensbegrenzung bei ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Konfigurieren von Ressourcenanforderungen und Limits für von uipathctl erstellte Workloads
Installieren des Operators für externe Geheimnisse
Installieren Sie External Secrets Operator zum Integrieren externer Geheimnisverwaltungssysteme in die Automation Suite.
Dieser Schritt ist nur erforderlich, wenn Sie vertrauliche Anmeldeinformationen in einem externen System zur Verwaltung von Geheimnissen speichern möchten.
Standardmäßig enthält die Automation Suite den Operator externer Geheimnisse.
Wenn Sie die gebündelte Version nicht verwenden möchten, können Sie eine eigene External Secrets Operator-Instanz installieren, indem Sie die in diesem Abschnitt beschriebenen Schritte ausführen.
Der External Secrets Operator (ESO) ist ein Kubernetes-Operator, der in externe Systeme zur Verwaltung von Geheimnissen integriert werden kann (z. B. AWS Secrets Manager, HashiCorp Vault). Es liest Daten aus externen Geheimnis-Backends und erstellt und synchronisiert die Werte automatisch als native Kubernetes-Geheimnisse.
Die Automation Suite unterstützt Azure Key Vault, HashiCorp Vault und AWS Secrets Manager als externe Geheimnisanbieter.
Hinzufügen des Helm-Repositorys „Externe Geheimnisse“.
Sie müssen das Helm-Repository für externe Geheimnisse wie folgt zu Ihrer Helm-Installation hinzufügen:
helm repo add external-secrets https://charts.external-secrets.io
helm repo add external-secrets https://charts.external-secrets.io
Nach dem Hinzufügen des Repositorys müssen Sie Ihre Helm-Repositorys wie folgt aktualisieren, um die neuesten Diagramminformationen abzurufen:
helm repo update
helm repo update
OpenShift: Konfigurieren der Sicherheitskontext-Beschränkung
Bei OpenShift benötigen die Pods des Operators externer Geheimnisse Berechtigungen, um außerhalb des standardmäßig eingeschränkten UID-Bereichs ausgeführt zu werden. Sie müssen den ESO-Dienstkonten die Sicherheitskontexteinschränkung (SCC) gewähren, bevor Sie den Operator installieren.
Führen Sie zum Konfigurieren des SCC die folgenden Schritte aus:
-
Speichern Sie Folgendes in einer Datei mit dem Namen
eso-anyuid-role.yaml, um eine Rolle zu erstellen, die Zugriff auf die beliebiger Sicherheitskontext-Einschränkung gewährt:kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuidkind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-role namespace: external-secrets rules: - verbs: - use apiGroups: - security.openshift.io resources: - securitycontextconstraints resourceNames: - anyuid -
Erstellen Sie die Rolle, indem Sie den folgenden Befehl ausführen:
oc apply -f eso-anyuid-role.yamloc apply -f eso-anyuid-role.yaml -
Speichern Sie Folgendes in einer Datei mit dem Namen
eso-anyuid-rolebinding.yaml, um eine Rollenbindung zu erstellen, die die Rolle an alle drei ESO-Dienstkonten bindet:kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-rolekind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: eso-anyuid-rolebinding namespace: external-secrets subjects: - kind: ServiceAccount name: external-secrets namespace: external-secrets - kind: ServiceAccount name: external-secrets-cert-controller namespace: external-secrets - kind: ServiceAccount name: external-secrets-webhook namespace: external-secrets roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: eso-anyuid-role -
Erstellen Sie das RoleBinding, indem Sie den folgenden Befehl ausführen:
oc apply -f eso-anyuid-rolebinding.yamloc apply -f eso-anyuid-rolebinding.yaml
Sie müssen den external-secrets -Namespace erstellen und diese Ressourcen anwenden, bevor Sie den Operator installieren. Wenn die ESO-Pods bereits aufgrund von SCC-Verstößen fehlschlagen, wenden Sie die Rolle und RoleBinding an und löschen Sie dann die fehlerhaften Pods, um eine erneute Erstellung auszulösen.
Installieren des Operators für externe Geheimnisse
Sie müssen den External Secrets-Operator mit Version v0.16.2 oder höher bereitstellen. Die Automation Suite erfordert die External Secrets Operator-Version v0.16.2 als unterstützte Mindestversion, die die ESO v1-APIs enthält.
Erstellen Sie zuerst den Namespace (falls nicht bereits während des SCC-Schritts erstellt wurde) und installieren Sie dann den Operator:
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
oc create namespace external-secrets --dry-run=client -o yaml | oc apply -f -
helm install external-secrets \
external-secrets/external-secrets \
-n external-secrets \
--version 0.16.2
Der External Secrets-Operator benötigt Zugriff auf den uipath -Namespace, um ordnungsgemäß zu funktionieren.
OpenShift: Erstellen der NetworkPolicy
In OpenShift müssen Sie die folgende Netzwerkrichtlinie erstellen, damit der API-Server den ESO-Webhook erreichen kann:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: allow-apiserver-to-eso-webhook
namespace: external-secrets
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: external-secrets-webhook
ingress:
- ports:
- port: 10250
protocol: TCP
policyTypes:
- Ingress
Übernehmen Sie die NetworkPolicy, indem Sie den folgenden Befehl ausführen:
oc apply -f allow-apiserver-to-eso-webhook.yaml
oc apply -f allow-apiserver-to-eso-webhook.yaml
Aktualisieren Sie spec.ingress[0].ports[0].port auf den entsprechenden Webhook-Port, wenn Ihre Installation einen nicht standardmäßigen Port verwendet.
Überprüfen der Installation
Nach der Installation müssen Sie überprüfen, ob die Operator-Pods wie folgt ausgeführt werden:
kubectl get pods -n external-secrets
kubectl get pods -n external-secrets
Sie sollten eine Ausgabe ähnlich dem folgenden Beispiel sehen:
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
NAME READY STATUS RESTARTS AGE
external-secrets-7d8c9b5f9f-abc12 1/1 Running 0 30s
external-secrets-cert-controller-6d8f7b9c-def34 1/1 Running 0 30s
external-secrets-webhook-8c9d7f6e5-ghi56 1/1 Running 0 30s
Wenn alle Pods den Status Wird ausgeführt anzeigen, ist die Installation abgeschlossen.
Wenn ein Pod CreateContainerConfigError oder CrashLoopBackOff mit SCC-bezogenen Fehlern in den Ereignissen anzeigt, überprüfen Sie, ob die Rolle und RoleBinding aus dem SCC-Konfigurationsschritt korrekt angewendet wurden:
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc
oc get role eso-anyuid-role -n external-secrets
oc get rolebinding eso-anyuid-rolebinding -n external-secrets
oc get events -n external-secrets --sort-by='.lastTimestamp' | grep -i scc