automation-suite
2024.10
true
- Vue d'ensemble (Overview)
- Prérequis
- Pre-installation
- Préparation de l'installation
- Installing and configuring the service mesh
- Téléchargement des packages d'installation
- Configuration du registre conforme à OCI
- Granting installation permissions
- Installing and configuring the GitOps tool
- Deploying Redis through OperatorHub
- Meeting the Process Mining prerequisites
- Applying miscellaneous configurations
- Running uipathctl
- Installation
- Post-installation
- Migration et mise à niveau
- Administration du cluster
- Configuration spécifique au produit
- Configuration des paramètres d'Orchestrator
- Configuration des paramètres d'application
- Configuration de la taille maximale de la requête
- Remplacement de la configuration du stockage au niveau du cluster
- Configuration de NLog
- Enregistrement des journaux du robot dans Elasticsearch
- Configuration des magasins d'informations d'identification
- Configuration de la clé de chiffrement par locataire
- Nettoyer la base de données Orchestrator
- Rotation des informations d’identification de stockage d’objets blob
- Désactivation de l'utilisation d'URL pré-signées lors du téléchargement de données vers le stockage Amazon S3
- Configuration de la sécurité de l'application de processus
- Configurer une authentification Kerberos avec l’authentification MSSQL de base pour Process Mining
- Résolution des problèmes
Meeting the Process Mining prerequisites
Automation Suite on OpenShift Installation Guide
Last updated 11 nov. 2024
Meeting the Process Mining prerequisites
The Dapr installation for Process Mining requires cert-manager.
To install Cert Manager via OpenShift Operators, follow the instructions in Installing the cert-manager Operator for Red Hat OpenShift.
To make sure that ArgoCD can create a certificate using cert-manager, you must provide the necessary permissions on cert-manager to ArgoCD.
The following sample shows a valid configuration for the ArgoCD cert-manager role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: argocd-cert-manager-role
namespace: <uipath>
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "issuers"]
verbs: ["get", "create"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: argocd-cert-manager-role
namespace: <uipath>
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates", "issuers"]
verbs: ["get", "create"]
To create the role binding for a dedicated ArgoCD instance, run the following command:
oc project <uipath>
oc create rolebinding argocd-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<uipath>:argocd-argocd-application-controller
oc project <uipath>
oc create rolebinding argocd-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<uipath>:argocd-argocd-application-controller
To create the role binding for a shared ArgoCD instance, run the following command:
oc project <uipath>
oc create rolebinding gitops-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
oc project <uipath>
oc create rolebinding gitops-cert-manager-binding --role=argocd-cert-manager-role \
--serviceaccount=<openshift-gitops>:openshift-gitops-argocd-application-controller
To install Dapr, take the following steps:
You can also use the following Bash script to generate the application YAML file:
#!/bin/bash
echo "Enter the namespace of argocd applications"
read argocd_namespace
echo "Enter the name of uipath namespace"
read uipath_namespace
if [[ "${argocd_namespace}" == "openshift-gitops" ]]; then
echo "Enter the argocd project name"
read project
else
project="default"
fi
echo "Enter the registry fqdn"
read registry_fqdn
echo "Enter the DAPR helm chart version"
read dapr_version
echo "-------------------- SUMMARY --------------------"
echo "Argocd Application namespace : $argocd_namespace"
echo "Uipath namespace : $uipath_namespace"
echo "Argocd Project name : $project"
echo "Helm registry FQDN : $registry_fqdn"
echo "DAPR Version : $dapr_version"
echo "------------- Application yaml file-------------"
echo -n "apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: dapr
namespace: $argocd_namespace
spec:
destination:
namespace: $uipath_namespace
server: https://kubernetes.default.svc
ignoreDifferences:
- jsonPointers:
- /data
- /stringData
- /metadata
kind: Secret
- group: apiextensions.k8s.io
jsonPointers:
- /spec/conversion
kind: CustomResourceDefinition
- group: admissionregistration.k8s.io
jsonPointers:
- /webhooks
kind: MutatingWebhookConfiguration
project: $project
source:
chart: helm/dapr
helm:
valueFiles:
- values.yaml
values: |
global:
registry: $registry_fqdn/daprio
imagePullSecrets: uipathpullsecret
mtls:
enabled: true
prometheus:
enabled: false
logAsJson: true
actors:
enabled: false
ha:
enabled: false
replicaCount: 1
rbac:
namespaced: true
seccompProfile: RuntimeDefault
dapr_dashboard:
enabled: false
dapr_operator:
watchInterval: 1m
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: "1"
memory: 200Mi
watchNamespace: $uipath_namespace
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sidecar_injector:
allowedServiceAccounts: $uipath_namespace:default
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
sidecarDropALLCapabilities: true
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sentry:
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_rbac:
secretReader:
enabled: false
createClusterScopedObjects: true
repoURL: $registry_fqdn
targetRevision: $dapr_version
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 10s
factor: 2
maxDuration: 1m
limit: 1000
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true
#!/bin/bash
echo "Enter the namespace of argocd applications"
read argocd_namespace
echo "Enter the name of uipath namespace"
read uipath_namespace
if [[ "${argocd_namespace}" == "openshift-gitops" ]]; then
echo "Enter the argocd project name"
read project
else
project="default"
fi
echo "Enter the registry fqdn"
read registry_fqdn
echo "Enter the DAPR helm chart version"
read dapr_version
echo "-------------------- SUMMARY --------------------"
echo "Argocd Application namespace : $argocd_namespace"
echo "Uipath namespace : $uipath_namespace"
echo "Argocd Project name : $project"
echo "Helm registry FQDN : $registry_fqdn"
echo "DAPR Version : $dapr_version"
echo "------------- Application yaml file-------------"
echo -n "apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: dapr
namespace: $argocd_namespace
spec:
destination:
namespace: $uipath_namespace
server: https://kubernetes.default.svc
ignoreDifferences:
- jsonPointers:
- /data
- /stringData
- /metadata
kind: Secret
- group: apiextensions.k8s.io
jsonPointers:
- /spec/conversion
kind: CustomResourceDefinition
- group: admissionregistration.k8s.io
jsonPointers:
- /webhooks
kind: MutatingWebhookConfiguration
project: $project
source:
chart: helm/dapr
helm:
valueFiles:
- values.yaml
values: |
global:
registry: $registry_fqdn/daprio
imagePullSecrets: uipathpullsecret
mtls:
enabled: true
prometheus:
enabled: false
logAsJson: true
actors:
enabled: false
ha:
enabled: false
replicaCount: 1
rbac:
namespaced: true
seccompProfile: RuntimeDefault
dapr_dashboard:
enabled: false
dapr_operator:
watchInterval: 1m
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: "1"
memory: 200Mi
watchNamespace: $uipath_namespace
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sidecar_injector:
allowedServiceAccounts: $uipath_namespace:default
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
sidecarDropALLCapabilities: true
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_sentry:
resources:
requests:
cpu: 100m
memory: 30Mi
limits:
cpu: "1"
memory: 100Mi
deploymentAnnotations:
sidecar.istio.io/inject: "false"
dapr_rbac:
secretReader:
enabled: false
createClusterScopedObjects: true
repoURL: $registry_fqdn
targetRevision: $dapr_version
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
backoff:
duration: 10s
factor: 2
maxDuration: 1m
limit: 1000
syncOptions:
- CreateNamespace=true
- RespectIgnoreDifferences=true
ArgoCD requires the following role during the Airflow
installation:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: anyuid-role
namespace: <uipath>
rules:
- apiGroups: ["security.openshift.io"]
resources: ["securitycontextconstraints"]
resourceNames: ["anyuid"]
verbs: ["use"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: anyuid-role
namespace: <uipath>
rules:
- apiGroups: ["security.openshift.io"]
resources: ["securitycontextconstraints"]
resourceNames: ["anyuid"]
verbs: ["use"]
To create the role binding for a dedicated ArgoCD instance, run the following
command:
oc create rolebinding argocd-anyuid-binding --role=anyuid-role \
--serviceaccount=<uipath>:argocd-argocd-application-controller -n <uipath>
oc create rolebinding argocd-anyuid-binding --role=anyuid-role \
--serviceaccount=<uipath>:argocd-argocd-application-controller -n <uipath>
You do not need to perform any additional configuration for a shared ArgoCD instance.