UiPath Documentation
automation-suite
2.2510
true
Automation Suite in OpenShift – Installationsanleitung
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Installieren des Operators für externe Geheimnisse

Installieren Sie External Secrets Operator zum Integrieren externer Geheimnisverwaltungssysteme in die Automation Suite.

Hinweis:

Dieser Schritt ist nur erforderlich, wenn Sie vertrauliche Anmeldeinformationen in einem externen System zur Verwaltung von Geheimnissen speichern möchten.

Wichtig:

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:

  1. 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:
          - anyuid
    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:
          - anyuid
    
  2. Erstellen Sie die Rolle, indem Sie den folgenden Befehl ausführen:

    oc apply -f eso-anyuid-role.yaml
    oc apply -f eso-anyuid-role.yaml
    
  3. 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-role
    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-role
    
  4. Erstellen Sie das RoleBinding, indem Sie den folgenden Befehl ausführen:

    oc apply -f eso-anyuid-rolebinding.yaml
    oc apply -f eso-anyuid-rolebinding.yaml
    
Wichtig:

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
Hinweis:

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

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben