UiPath Documentation
automation-suite
2.2510
true
Guia de instalação do Automation Suite no OpenShift
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

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.

Importante:

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.

Observaçã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:

  1. Crie o namespace e o projeto <uipath> :

    oc get namespace <uipath> || oc new-project <uipath>
    oc get namespace <uipath> || oc new-project <uipath>
    
  2. Defina o namespace e o projeto padrão como <uipath>:

    oc project <uipath>
    oc project <uipath>
    

    Todos os comandos oc subsequentes operarão dentro do namespace <uipath> .

  3. Crie uma conta de serviço chamada uipathadmin:

    oc create serviceaccount uipathadmin
    oc create serviceaccount uipathadmin
    
  4. Use a função de cluster admin existente para conceder permissões de administrador à conta de serviço uipathadmin no namespace. <uipath>

    oc create rolebinding uipathadmin --clusterrole=admin --serviceaccount=<uipath>:uipathadmin
    oc 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"]
Observação:

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]​

Observação:

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>

  1. 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.
  2. O Automation Suite instala o plug-in WASM no namespace <istio-system> para configurar as regras de roteamento baseado em caminho, usando uipathctl para executar um trabalho de instalação baseado no Helm. Isso requer a criação de um imagepullsecret para 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]​

Observação:

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>

  1. 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.
  2. 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​

Observação:

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.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades