- Visão geral
- Requisitos
- Pré-instalação
- Preparação da instalação
- Baixando os pacotes de instalação
- Configuração do registro compatível com OCI
- Concessão de permissões de instalação com funções de cluster
- Concessão de permissões de instalação sem funções de cluster
- Instalação e configuração do service mesh
- Instalando e configurando a ferramenta GitOps
- Instalando o operador de segredos externos
- Implantação do Redis pelo OperatorHub
- Aplicação de configurações diversas
- Executando o uipathctl
- Instalação
- Pós-instalação
- Migração e atualização
- Monitoramento e alertas
- Administração de cluster
- Configuração específica do produto
- Configuração avançada do Orchestrator
- Configuração de parâmetros do Orchestrator
- Configuração do AppSettings
- Configuração do tamanho máximo da solicitação
- Substituição da configuração de armazenamento no nível do cluster
- Configuração do NLog
- Salvando logs do robô no Elasticsearch
- Configuração dos repositórios de credenciais
- Configuração da chave de criptografia por tenant
- Limpeza do banco de dados do Orchestrator
- Ignorar a instalação da biblioteca do host
- AI Trust Layer
- Solução de problemas
- Como desinstalar o Automation Suite
- Como resolver a falha de verificação de conectividade pré-requisito no OpenShift 4.16–4.18
- Como implantar o Insights em um cluster habilitado para FIPS
- Como desabilitar a habilitação automática do CDI no operador de GPU Nvidia
- Como codificar para URL uma senha da string de conexão do PostgreSQL
- 500 erros e limitação de taxa em solicitações do S3 no ODF
- Solução de problemas de segredos externos
- Configurando tolerâncias de driver CSI para ODF 4.20
- Solução de problemas de Temporal como um serviço
- Os pods do AI Center e do Document Understanding falham ao iniciar com a verificação do certificado TLS habilitada
- O Studio Desktop não pode carregar conectores e atividades do Integration Service
- Erros de validação de certificado TLS
- Migreção manual do ArgoCD NetworkPolicy (GHSA-47m3-95c7-g2g8)
- Configuração de solicitações e limites de recursos para cargas de trabalho criadas pelo uipathctl
Concessão de permissões de instalação com funções de cluster
Conceda permissões ClusterRole e ClusterRoleBinding com escopo de cluster à conta de serviço do instalador do Automation Suite e usuários administradores de cluster para instalações do OpenShift.
As permissões de instalação são relevantes apenas se você não puder fornecer privilégios de administrador ao instalador do Automation Suite. Se você puder fornecer os privilégios de administrador necessários ao instalador, você não precisará seguir as instruções nesta seção.
Esta página pressupõe que você possa conceder à conta de serviço do instalador do Automation Suite (uipathadmin) permissões com escopo de cluster (ClusterRole e ClusterRoleBinding). Se sua política de segurança proibir a concessão de quaisquer permissões com escopo de cluster, consulte Concessão de permissões de instalação sem funções de cluster .
Se você instalar várias instâncias do Automation Suite no mesmo cluster, você deve conceder permissões para os outros namespaces onde você instalar o Automation Suite.
O Automation Suite depende de permissões específicas durante a instalação. Essas permissões são atribuídas à conta de serviço, que desempenha um papel fundamental na instalação dos vários componentes do Automation Suite.
Para configurar todas as permissões necessárias para a instalação, execute as etapas nesta seção.
Você deve executar os comandos mencionados nesta seção em uma máquina Linux, Windows ou macOS que tenha acesso ao servidor da API OpenShift Kubernetes.
Etapa 1: criação de uma conta de serviço
Para criar uma conta de serviço, siga os seguintes passos:
-
Crie o namespace e o projeto
<uipath>:oc get namespace <uipath> || oc new-project <uipath>oc get namespace <uipath> || oc new-project <uipath> -
Defina o namespace e o projeto padrão como
<uipath>:oc project <uipath>oc project <uipath>Todos os comandos
ocsubsequentes operarão dentro do namespace<uipath>. -
Crie uma conta de serviço chamada
uipathadmin:oc create serviceaccount uipathadminoc create serviceaccount uipathadmin -
Use a função de cluster
adminexistente para conceder permissões de administrador à conta de serviçouipathadminno namespace.<uipath>oc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadminoc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Etapa 2: criação das funções necessárias
A conta de serviço uipathadmin requer certas permissões durante a instalação do Automation Suite. Você fornece as permissões necessárias criando funções.
Para criar cada função, salve sua configuração como um arquivo YAML e execute o seguinte comando, substituindo o espaço reservado <file_name.yaml> pelo nome real do arquivo YAML:
oc apply -f <file_name.yaml>
oc apply -f <file_name.yaml>
Você pode criar o arquivo YAML para cada função copiando a configuração das seções a seguir.
Consultar o namespace [somente leitura]
Obrigatório para verificar se os namespaces, como o namespace <istio-system> , estão disponíveis ou não.
O seguinte exemplo mostra a configuração namespace-reader-clusterrole:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: namespace-reader-clusterrole
rules:
- apiGroups: [""]
resources: ["namespaces"]
verbs: ["get"]
Listar nós e CRDs [somente leitura]
A ferramenta de verificação de pré-requisitos e verificação de integridade de diagnóstico requer essa permissão para executar as validações de nós, como a capacidade disponível no nó.
O seguinte exemplo mostra a configuração list-nodes-and-crd-clusterrole:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: list-nodes-and-crd-clusterrole
rules:
- apiGroups: [""]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["list"]
- apiGroups: ["metrics.k8s.io"]
resources: ["nodes"]
verbs: ["list", "get"]
- apiGroups: ["scheduling.k8s.io"]
resources: ["priorityclasses"]
verbs: ["get"]
Se essas permissões não estiverem disponíveis em seu cluster, os Automation Suite Robots não poderão determinar automaticamente o número máximo de trabalhos simultâneos. Para definir o limite explicitamente, configure concurrency_limit na asrobots seção input.json de. Para obter detalhes, consulte Configuração específica do Automation Suite Robots.
uipath funções [gravar]
A maior parte da instalação do Automation Suite é realizada via ArgoCD; no entanto, a instalação de alguns componentes é realizada por meio do gráfico do Helm.
A ferramenta uipathctl executa um trabalho de instalação que executa a instalação do gráfico do Helm. A conexão com o kube-api-server e a instalação do gráfico do Helm no namespace <uipath> requer uma função de criador de funções no nível do namespace.
O seguinte exemplo mostra a configuração uipath-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: uipath-automationsuite-role
namespace: <uipath>
rules:
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: [""]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["security.istio.io", "networking.istio.io"]
resources: ["*"]
verbs: ["get", "watch", "list", "patch", "update", "create", "delete"]
<istio-system> funções [gravar]
Forneça essas permissões apenas se você quiser que o instalador configure o plug-in do WebAssembly (WASM). Caso contrário, não forneça as permissões.
As seguintes operações são realizadas no namespace. <istio-system>
- A ferramenta de verificação de pré-requisitos do Automation Suite lê os pods e serviços no namespace
<istio-system>para validar se o Istio está instalado e configurado corretamente. - O Automation Suite instala o plug-in WASM no namespace
<istio-system>para configurar as regras de roteamento baseado em caminho, usandouipathctlpara executar um trabalho de instalação baseado no Helm. Isso requer a criação de umimagepullsecretpara extrair a imagem do registro e um criador de função para o namespace<istio-system>.
O seguinte exemplo mostra a configuração istio-system-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["rbac.authorization.k8s.io"]
resources: ["roles", "rolebindings"]
verbs: ["*"]
- apiGroups: ["*"]
resources: ["secrets", "configmaps"]
verbs: ["get", "watch", "list", "patch", "update", "create"]
- apiGroups: ["networking.istio.io", "extensions.istio.io"]
resources: ["*"]
verbs: ["*"]
<istio-system> funções [somente leitura]
Forneça essas permissões se você já tiver configurado o Istio e instalado o plug-in do HASM.
As seguintes operações são realizadas no namespace. <istio-system>
- A ferramenta de verificação de pré-requisitos do Automation Suite lê os pods e serviços no namespace
<istio-system>para validar se o Istio está instalado e configurado corretamente. - A permissão
get secretsé necessária para copiar o arquivo de certificado do namespace<istio-system>para o namespace<uipath>.
O seguinte exemplo mostra a configuração istio-system-automationsuite-role:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: istio-system-automationsuite-role
namespace: <istio-system>
rules:
- apiGroups: [""]
resources: ["services", "pods"]
verbs: ["list"]
- apiGroups: ["*"]
resources: ["secrets"]
resourceNames: ["istio-ingressgateway-certs"]
verbs: ["get"]
Etapa 3: vinculando as funções
Você deve vincular as funções que você criou na etapa anterior à conta de serviço uipathadmin , executando os seguintes comandos:
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
oc project <istio-system>
oc create rolebinding istio-system-automationsuite-rolebinding \
--role=istio-system-automationsuite-role --serviceaccount=<uipath>:uipathadmin
oc create rolebinding namespace-reader-rolebinding \
--clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
oc project <uipath>
oc create clusterrolebinding list-nodes-and-crd-rolebinding \
--clusterrole=list-nodes-and-crd-clusterrole --serviceaccount=<uipath>:uipathadmin
oc create rolebinding uipath-automationsuite-rolebinding \
--role=uipath-automationsuite-role --serviceaccount=<uipath>:uipathadmin
# This step is needed only if you want the installer to configure the WASM Plugin. Otherwise skip it.
oc -n <istio-system> create rolebinding uipadmin-istio-system \
--clusterrole=admin --serviceaccount=<uipath>:uipathadmin
Etapa 4: geração do arquivo kubeconfig
Após atribuir todas as permissões à conta de serviço, você deve criar um arquivo kubeconfig para passar à ferramenta uipathctl para a instalação.
Gerando o arquivo kubeconfig no Linux ou Mac
Para gerar o arquivo kubeconfig no Linux ou Mac, execute os seguintes comandos:
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
token=$(oc -n <uipath> create token uipathadmin --duration=8760h)
# Getting api-server details
server=$(oc config view -o jsonpath="{.clusters[]..server}")
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
Se a operação tiver sido bem-sucedida, você deverá ver um arquivo kubeconfig chamado uipathadminkubeconfig.
Gerando o arquivo kubeconfig no Windows
Você deve executar essa etapa usando o Windows Powershell.
Para gerar o arquivo kubeconfig no Windows, execute os seguintes comandos:
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
# For generating kubeconfig
# Creates the token for uipathadmin service account
$token = oc -n <uipath> create token uipathadmin --duration=8760h
# Getting api-server details
$server = oc config view -o jsonpath="{.clusters[]..server}"
# Login logs on using the provided token and server and outputs kubeconfig at the provided path.
oc login --server=$server --token=$token --kubeconfig=uipathadminkubeconfig --insecure-skip-tls-verify=true
Se a operação tiver sido bem-sucedida, você deve ver um arquivo kubeconfig chamado uipathadminkubeconfig na pasta temp .
Etapa 5: usar o arquivo kubeconfig gerado
Você deve usar o arquivo uipathadminkubeconfig para todos os comandos uipathctl subsequentes nesse fluxo de trabalho, incluindo verificações de pré-requisitos, instalação e verificações de integridade. Se você não fizer isso, uipathctl realizará o fallback para o arquivo kubeconfig padrão, que pode se autenticar com privilégios de cluster-admin em vez da conta de serviço restrita uipathadmin.
For details on how to specify the kubeconfig file, refer to Specifying the kubeconfig file.
- Etapa 1: criação de uma conta de serviço
- Etapa 2: criação das funções necessárias
- Consultar o namespace [somente leitura]
- Listar nós e CRDs [somente leitura]
uipathfunções [gravar]<istio-system>funções [gravar]<istio-system>funções [somente leitura]- Etapa 3: vinculando as funções
- Etapa 4: geração do arquivo kubeconfig
- Gerando o arquivo kubeconfig no Linux ou Mac
- Gerando o arquivo kubeconfig no Windows
- Etapa 5: usar o arquivo kubeconfig gerado