automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white

Automation Suite no guia de instalação do EKS/AKS

Última atualização 21 de nov de 2024

Configuring input.json

O arquivo input.json permite que você configure os produtos da UiPath® que você deseja implantar, os parâmetros, configurações e preferências aplicadas aos produtos selecionados e as configurações de sua infraestrutura de nuvem. Você deve atualizar esse arquivo para alterar os padrões e usar qualquer configuração avançada para seu cluster.
Observação:

Alguns produtos podem ter dependências. Para obter detalhes, consulte Dependências entre produtos.

Para editar input.json, você pode usar seu editor de texto favorito na sua máquina de cliente.
A tabela a seguir descreve os principais parâmetros input.json que você deve atualizar para configurar corretamente o Automation Suite. Para obter um exemplo de configuração, consulte o exemplo do input.json do AKS ou o exemplo do input.json do EKS.

Parâmetros gerais

Description

kubernetes_distribution

Especifique qual distribuição do Kubernetes você usa. Pode ser aks ou eks.

install_type

Determina se o cluster é implantado no modo online ou offline. Se não for especificado, o cluster é implantado no modo online. Para implantar o cluster no modo offline, você deve definir explicitamente o valor do parâmetro install_type como offline.
Possíveis valores: online ou offline
Valor padrão:online

registries

URLs para extrair as imagens do docker e gráficos do helm para produtos da UiPath® e Automation Suite.

registry.uipath.com

istioMinProtocolVersion

A versão mínima do protocolo TLS aceita pelo Istio para comunicações seguras. Ele pode ser definido como TLSV1_2 ou TLSV1_3.

fqdn

O endpoint do balanceador de carga para Automation Suite

admin_username

O nome de usuário que você deseja definir como um administrador para a organização do host.

admin_password

A senha de administrador do host a ser definida.

profile

Define o perfil da instalação. Os perfis disponíveis são:

  • lite: perfil do modo Lite.
  • ha : perfil de produção pronto para alta disponibilidade de vários nós.

Para mais detalhes sobre o gerenciamento de perfis, consulte Configuração de perfis.

telemetry_optout

true ou false – usado para cancelar o envio de telemetria de volta à UiPath®. Ele é definido como false por padrão.
Se você quiser cancelar, defina como true.

fips_enabled_nodes

Indique se você deseja habilitar o FIPS 140-2 nos nós nos quais você planeja instalar o Automation Suite. Os valores possíveis são true e false.
storage_class

Especifique a classe de armazenamento a ser usada para o provisionamento PV. Essa classe de armazenamento deve suportar várias réplicas para uma alta disponibilidade ideal e possuir recursos de backup.

Para obter mais informações, consulte a seção Armazenamento de blocos .

storage_class_single_replica

Forneça a classe de armazenamento a ser usada para o provisionamento PV. Essa classe de armazenamento pode ter uma única réplica para os componentes que não exigem Alta Disponibilidade. A classe de armazenamento não pode ter recursos de backup.

Para obter mais informações, consulte a seção Armazenamento de arquivos .

O valor storage_class_single_replica pode ser igual ao valor storage_class .
exclude_components

Use esse parâmetro para evitar que componentes não essenciais sejam instalados.

Para obter detalhes, consulte Traga seus próprios componentes.

namespace

Especifique o namespace no qual você deseja instalar o Automation Suite.

Para obter detalhes, consulte Configuração de namespace personalizada.

argocd.application_namespace

O namespace do aplicativo que você planeja instalar. Idealmente, deve ser o mesmo que o namespace no qual você planeja instalar o Automation Suite.

argocd.project

O projeto do ArgoCD necessário para implantar o Automation Suite. Isso é necessário apenas se você quiser usar a instância do ArgoCD compartilhada ou global em vez de uma instância do ArgoCD dedicada.

Configuração do perfil

Você pode escolher entre os seguintes modos de perfil ao instalar o Automation Suite:

  • Perfil de alta disponibilidade configurável (modo Lite)

  • Perfil padrão de alta disponibilidade (modo HA)

Apenas no modo Lite, você pode alternar produtos específicos para alta disponibilidade (HA). Essa flexibilidade permite que você comece com uma carga de trabalho não crítica e tenha a liberdade de alternar facilmente para o modo HA ao integrar cargas críticas.

Para habilitar a alta disponibilidade (HA) para um produto, você deve modificar o arquivo input.json . Especificamente, você deve alterar o parâmetro profile para ha para os produtos que você deseja tornar altamente disponíveis:
....
  "automation_ops": {
    "enabled": true,
    "profile": "ha" // flag for turning on high availability
  },
  "action_center": {
    "enabled": true,
    "profile": "lite"
  },
  ...  ....
  "automation_ops": {
    "enabled": true,
    "profile": "ha" // flag for turning on high availability
  },
  "action_center": {
    "enabled": true,
    "profile": "lite"
  },
  ...

Para alternar do modo Lite para o modo HA, siga os seguintes passos:

  1. Certifique-se de ter recursos de infraestrutura suficientes para alternar para o HA padrão no nível da plataforma. Por padrão, o modo Lite define cada produto para ter uma réplica com o dimensionamento do pod horizontal habilitado.
  2. Edite o arquivo de configuração input.jsone altere o parâmetro profile para os produtos de destino.
  3. Execute o seguinte comando:
    uipathctl manifest apply uipathctl manifest apply

Produtos da UiPath®

Você pode habilitar e desabilitar produtos no Automation Suite no momento da instalação e em qualquer ponto pós-instalação. Para obter mais detalhes sobre a configuração de cada produto, consulte Gerenciamento dos produtos.

Exemplo do Orchestrator:

"orchestrator": {
  "enabled": true,
  "external_object_storage": {
    "bucket_name": "uipath-as-orchestrator"
  },
  "testautomation": {
    "enabled": true
  },
  "updateserver": {
    "enabled": true
  }"orchestrator": {
  "enabled": true,
  "external_object_storage": {
    "bucket_name": "uipath-as-orchestrator"
  },
  "testautomation": {
    "enabled": true
  },
  "updateserver": {
    "enabled": true
  }

Traga seus próprios componentes

O Automation Suite permite que você traga suas próprias Políticas do Gateway e OPA, Gerenciador de certificados, Istio, monitoramento, registros em log e muito mais. Se você optar por excluir esses componentes, verifique se estão disponíveis no seu cluster antes de instalar o Automation Suite.

O exemplo a seguir mostra uma lista de componentes excluídos. Você pode remover os componentes que deseja que o Automation Suite provisione.

"exclude_components": [
        "alerts",
        "auth",
        "istio",
        "cert-manager",
        "logging",
        "monitoring",
        "gatekeeper",
        "network-policies",
        "velero"
  ]   "exclude_components": [
        "alerts",
        "auth",
        "istio",
        "cert-manager",
        "logging",
        "monitoring",
        "gatekeeper",
        "network-policies",
        "velero"
  ] 

Excluindo o Istio

Se você trouxer seu próprio componente do Istio, certifique-se de incluir os rótulos gateway_selector do seu gateway do Istio no arquivo input.json . Para encontrar seu rótulo de seletor de gateway, siga as seguintes etapas:
  1. Liste todos os pods no namespace <istio-system>, executando o comando kubectl get pods -n <istio-system>.
  2. Encontre o ideal para a sua implantação do Gateway do Istio.

Observação: Se você planeja instalar o plug-in do HASM por conta própria e quiser evitar fornecer ao instalador do Automation Suite acesso de gravação para o namespace do <istio-system> , você deve adicionar o componente istio-configure à lista do exclude_components .

Exclusão do Gerenciador de certificados

Se você optar por trazer seu próprio Gerenciador de certificados e seu certificado TLS for emitido por uma CA privada ou não pública, você deve incluir manualmente o certificado de folha e os certificados de CA intermediários no arquivo do certificado TLS. No caso de CAs públicas, elas são automaticamente confiáveis pelos sistemas do cliente, e nenhuma ação adicional é necessária de sua parte.

Configuração de Certificados

Se nenhum certificado for fornecido no momento da instalação, o instalador criará certificados emitidos automaticamente e os configurará no cluster.

Observação:

Os certificados podem ser criados no momento da instalação apenas se você conceder ao instalador do Automation Suite privilégios de administrador durante a instalação. Se você não puder conceder os privilégios de administrador do instalador, então você deve criar e gerenciar os certificados por conta própria.

Para detalhes sobre como obter um certificado, consulte Gerenciamento dos certificados.

Observação:
Certifique-se de especificar o caminho absoluto para os arquivos de certificado. Execute pwd para obter o caminho do diretório no qual os arquivos são colocados e anexe o nome do arquivo de certificado no input.json .

Parâmetro

Description

server_certificate.ca_cert_file

O caminho absoluto para o certificado da Autoridade de Certificação (CA). Essa CA é a autoridade que assina o certificado TLS. Um pacote de CA deve conter apenas os certificados de cadeia usados para assinar o certificado TLS. O limite de cadeia é de nove certificados.

Se você usar um certificado assinado automaticamente, será necessário especificar o caminho para rootCA.crt, que você criou anteriormente. Deixe em branco se quiser que o instalador gere ir.

server_certificate.tls_cert_file

Caminho absoluto para o certificado TLS (server.crt é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere.
Observação: se você fornecer o certificado por conta própria, o arquivo server.crt deve conter toda a cadeia, conforme mostrado no exemplo a seguir:
-----server cert-----
-----root ca chain----------server cert-----
-----root ca chain-----

server_certificate.tls_key_file

Caminho absoluto para a chave de certificado (server.key é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador o gere.

identity_certificate.token_signing_cert_file

Caminho absoluto para o certificado de assinatura de token de identidade usado para assinar tokens (identity.pfx é o certificado assinado automaticamente). Deixe em branco se você quiser que o instalador gere um certificado de identidade usando o certificado do servidor.

identity_certificate.token_signing_cert_pass

Senha de texto simples definida ao exportar o certificado de assinatura de token de identidade.

additional_ca_certs

O caminho absoluto para o arquivo contendo os certificados de CA adicionais que você deseja que seja confiável para todos os serviços em execução como parte do Automation Suite. Todos os certificados no arquivo devem ter um formato PEM válido.

Por exemplo, você precisa fornecer o arquivo que contém o certificado de CA do SQL Server se o certificado não for emitido por uma autoridade de certificação pública.

Pré-requisitos da infraestrutura

Você deve fornecer detalhes de configurações dos pré-requisitos que você configurou no Azure ou na AWS. Para requisitos de parâmetros input.json , consulte as seguintes seções de pré-requisito:

Configuração externa do Objectstore

Configuração geral

O Automation Suite permite que você traga seu próprio provedor de armazenamento externo. Você pode escolher entre os seguintes provedores de armazenamento:

  • Azure
  • AWS
  • compatível com S3

Você pode configurar o armazenamento de objeto externo de uma das seguintes maneiras:

  • durante a instalação;
  • pós-instalação, usando o arquivo input.json .
Observação:
  • Para que o Automation Suite funcione corretamente ao usar URLs pré-assinadas, você deve certificar-se de que seu objectstore externo esteja acessível a partir do cluster do Automation Suite, navegadores e todas as suas máquinas, incluindo estações de trabalho e máquinas de robôs.
  • A Criptografia do lado do servidor com Serviço de Gerenciamento de Chaves (SSE-KMS) só pode ser habilitada nos buckets do Automation Suite implantados em qualquer região criada após 30 de janeiro de 2014.

    A funcionalidade SSE-KMS requer APIs SignV4 puras. As regiões criadas antes de 30 de janeiro de 2014 não usam APIs puras do SignV4 devido à compatibilidade com versões anteriores com o SignV2. Portanto, o SSE-KMS é funcional apenas em regiões que usam o SignV4 para comunicação. Para descobrir quando as várias regiões foram provisionadas, consulte a documentação da AWS.

Se você usar um Ponto de extremidade privado para acessar o contêiner, deverá adicionar o parâmetro fqdn no arquivo input.jsone especificar o Ponto de extremidade privado como valor.
A tabela a seguir lista os parâmetros input.jsonque você pode usar para configurar cada provedor de armazenamento de objetos externo:

Parâmetro

Azure

AWS

compatível com S3

Description

external_object_storage.enabled

available

available

available

Especifique se você gostaria de trazer seu próprio armazenamento de objetos. Valores possíveis: true e false.

external_object_storage.create_bucket

available

available

available

Especifique se você gostaria de provisionar o bucket. Valores possíveis: true e false.

external_object_storage.storage_type

available

available

available

Especifique o provedor de armazenamento que deseja configurar. O valor diferencia maiúsculas de minúsculas. Valores possíveis: azure e s3.
Observação: muitos objetos S3 requerem o CORS definido para todo o tráfego do cluster do Automation Suite. Você deve configurar a política CORS no nível do objectstore para permitir o FQDN do cluster.

external_object_storage.fqdn

Não disponível

available

available

Especifique o FQDN do servidor S3. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.port

Não disponível

available

available

Especifique a porta S3. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.region

Não disponível

available

available

Especifique a região da AWS onde os buckets estão hospedados. Necessário no caso da instância da AWS e perfil não instância.

external_object_storage.access_key

Não disponível

available

available

Especifique a chave de acesso para a conta S3.

external_object_storage.secret_key

Não disponível

available

available

Especifique a chave secreta para a conta S3. Necessário apenas no caso do perfil de não instância da AWS.

external_object_storage.use_instance_profile

Não disponível

available

available

Especifique se você deseja usar um perfil de instância. Um perfil de instância do AWS Identity e Access Management (IAM) concede acesso seguro a recursos da AWS para aplicativos ou serviços em execução nas instâncias do Amazon Elastic Compute Cloud (EC2). Se você optar pelo AWS S3, um perfil de instância permite que uma instância do EC2 interaja com buckets do S3 sem a necessidade de que credenciais explícitas da AWS (como chaves de acesso) sejam armazenadas na instância.

external_object_storage.bucket_name_prefix 1

Não disponível

available

available

Indique o prefixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS.

external_object_storage.bucket_name_suffix 2

Não disponível

available

available

Indique o sufixo para os nomes dos depósitos. Opcional no caso do perfil de não instância da AWS.

external_object_storage.account_key

available

Não disponível

Não disponível

Especifique a chave da conta do Azure.

external_object_storage.account_name

available

Não disponível

Não disponível

Especifique o nome da conta do Azure.

external_object_storage.azure_fqdn_suffix

available

Não disponível

Não disponível

Especifique o sufixo FQDN do Azure. Parâmetro opcional.

external_object_storage.client_id

available

Não disponível

Não disponível

Especifique sua ID de cliente do Azure. Necessário apenas ao usar a identidade gerenciada.

1 Se você planeja desabilitar o acesso a URL pré-assinado, observe que essa configuração não é suportada pelo Task Mining e as seguintes atividades que carregam ou recuperam dados do objectstore:

2, 3 Ao configurar o armazenamento de objetos externo, você deve seguir as regras e convenções de nomenclatura do seu provedor para bucket_name_prefix e bucket_name_suffix. Além disso, o sufixo e o prefixo devem ter um comprimento combinado de não mais do que 25 caracteres, e você não deve terminar o prefixo ou iniciar o sufixo com um hífen (-), pois já adicionamos o caractere para você automaticamente.

Configuração específica do produto

Você pode usar os parâmetros descritos na seção Configuração geral para atualizar a configuração geral do Automation Suite. Isso significa que todos os produtos instalados compartilhariam a mesma configuração. Se você quiser configurar um ou mais produtos de forma diferente, pode substituir a configuração geral. Você só precisa especificar o(s) produto(s) para o qual deseja configurar o armazenamento de objetos externo de forma diferente e usar os mesmos parâmetros para definir sua configuração. Observe que todos os outros produtos instalados continuarão a herdar a configuração geral.

O exemplo a seguir mostra como você pode substituir a configuração geral do Orchestrator:

"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in the case of aws non instance profile>
  "secret_key": "", // <needed in the case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", 
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" 
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", 
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" 
  }
}"external_object_storage": {
  "enabled": false, // <true/false>
  "create_bucket": true, // <true/false>
  "storage_type": "s3", // <s3,azure,aws>
  "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
  "port": 443, // <needed in the case of aws instance and non-instance profile>
  "region": "", 
  "access_key": "", // <needed in the case of aws non instance profile>
  "secret_key": "", // <needed in the case of aws non instance profile>
  "use_managed_identity": false, // <true/false>
  "bucket_name_prefix": "",
  "bucket_name_suffix": "",
  "account_key": "", 
  "account_name": "",
  "azure_fqdn_suffix": "core.windows.net",
  "client_id": "" 
},

"orchestrator": {
  "external_object_storage": {
    "enabled": false, // <true/false>
    "create_bucket": true, // <true/false>
    "storage_type": "s3", // <s3,azure>
    "fqdn": "",  // <needed in the case of aws instance and non-instance profile>
    "port": 443, // <needed in the case of aws instance and non-instance profile>
    "region": "", 
    "access_key": "", // <needed in case of aws non instance profile>
    "secret_key": "", // <needed in case of aws non instance profile>
    "use_managed_identity": false, // <true/false>
    "bucket_name_prefix": "",
    "bucket_name_suffix": "",
    "account_key": "", 
    "account_name": "",
    "azure_fqdn_suffix": "core.windows.net",
    "client_id": "" 
  }
}

Rotating the blob storage credentials for Process Mining

Para rotacionar as credenciais de armazenamento de Blobs para o Process Mining no Automation Suite, as senhas armazenadas devem ser atualizadas com as novas credenciais. Consulte Rotação das credenciais do armazenamento de blobs.

Configuração de URL pré-assinada

Você pode usar o sinalizador disable_presigned_url para especificar se você gostaria de desabilitar o acesso à URL pré-assinada no nível global. Por padrão, as URLs pré-assinadas são habilitadas para toda a plataforma. Os valores possíveis são: true e false.
{
  "disable_presigned_url" : true
}{
  "disable_presigned_url" : true
}
Observação:
  • Você pode alterar o valor padrão desse parâmetro apenas para novas instalações. A operação é irreversível e não se aplica a um cluster existente.

  • Você pode aplicar essa configuração apenas a toda a plataforma. Você não pode substituir a configuração global no nível do produto.

Configuração de registro externo compatível com OCI

Para configurar um registro externo compatível com OCI, atualize os seguintes parâmetros no arquivo input.json :

Chaves

Valor

registries.docker.url

Valor padrão:registry.uipath.com

O URL ou FQDN do registro a ser usado pelo Automation Suite para hospedar as imagens do contêiner.

registries.docker.username

registries.docker.password

Informações de autenticação a serem usadas para extrair as imagens do Docker do registro.

Se um dos valores for encontrado no arquivo de entrada, você deve fornecer ambos ao configurar o registro externo.

registries.docker.pull_secret_value

A senha de extração do registro.

registries.helm.url

Valor padrão:registry.uipath.com

O URL ou FQDN do registro a ser usado pelo Automation Suite para hospedar o gráfico do Helm do serviço.

registries.helm.username

registries.helm.password

Informações de autenticação a serem usadas para extrair gráficos do Helm do registro.

Se um dos valores for encontrado no arquivo de entrada, você deve fornecer ambos ao configurar o registro externo.

registry_ca_cert

O local do arquivo do CA correspondente ao certificado configurado para o registro.

Se o registro for assinado por uma autoridade de certificação privada hospedada em suas instalações, você deve fornecê-la para estabelecer a confiança.

Observação:
Você pode usar diferentes métodos para gerar a versão codificada do pull_secret_value, incluindo aquele usando Docker. Para obter mais detalhes, consulte .

O exemplo de configuração a seguir mostra uma configuração típica de registro compatível com OCI:

{
    "registries": {
        "docker": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password", 
            "pull_secret_value": "pull-secret-value"
        },
        "helm": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password"
        },
        "trust": {
            "enabled": true,
            "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",
            "detection_mode": false
        }
    },
    "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}{
    "registries": {
        "docker": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password", 
            "pull_secret_value": "pull-secret-value"
        },
        "helm": {
            "url": "registry.domain.io",
            "username": "username",
            "password": "password"
        },
        "trust": {
            "enabled": true,
            "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",
            "detection_mode": false
        }
    },
    "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}
Observação: para registros como o Harbor, que exigem o uso de um projeto, você deve anexar o nome do projeto à URL do registro. O requisito se aplica aos parâmetros registries.docker.url e registries.helm.url no arquivo input.json , conforme mostrado no exemplo a seguir:
{
  "registries": {
    "docker": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
    }
    "trust": {  
        "enabled": true,  
        "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",  
        "detection_mode": false  
    }
  },
  "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}{
  "registries": {
    "docker": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
      "pull_secret_value": "pull-secret-value"
    },
    "helm": {
      "url": "registry.domain.io/myproject",
      "username": "username",
      "password": "password"
    }
    "trust": {  
        "enabled": true,  
        "public_key": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFNE4vSzNzK2VXUTJHU3NnTTJNcUhsdEplVHlqRQp1UC9sd0dNTnNNUjhUZTI2Ui9TTlVqSVpIdnJKcEx3YmpDc0ZlZUI3L0xZaFFsQzlRdUU1WFhITDZ3PT0KLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==",  
        "detection_mode": false  
    }
  },
  "registry_ca_cert": "/etc/pki/ca-trust/extracted/ca-bundle.trust.crt"
}

Configuração de namespace personalizada

Você pode especificar um único namespace personalizado que substitua os namespaces padrão uipath, uipath-check e uipath-installer . Para definir um namespace personalizado, forneça um valor para o parâmetro opcional namespace . Se você não fornecer um valor para o parâmetro namespace , os namespaces padrão serão usados.

Configuração de rótulo de namespace personalizado

Se quiser que os namespaces da UiPath contenham rótulos de namespace personalizados, adicione a seguinte seção ao arquivo input.json. Certifique-se de adicionar seus próprios rótulos.
"namespace_labels": {
		"install-type": "aksoffline",
		"uipathctlversion": "rc-10_0.1",
		"updatedLabel": "rerun"
	}, "namespace_labels": {
		"install-type": "aksoffline",
		"uipathctlversion": "rc-10_0.1",
		"updatedLabel": "rerun"
	},

Configuração de tolerância de nó personalizada

Se você precisar de taints e tolerâncias personalizados nos nós em que planeja instalar o Automation Suite, atualize input.json com os seguintes sinalizadores. Certifique-se de fornecer os valores apropriados para o campo spec .
"tolerations": [
  {
    "spec": {
      "key": "example-key", 
      "operator": "Exists",
      "value": "optional-value",
      "effect": "NoSchedule"
    }
  },
  {
    "spec": {
      "key": "example-key2", 
      "operator": "Exists",
      "value": "optional-value2",
      "effect": "NoSchedule"
    }
  }
]"tolerations": [
  {
    "spec": {
      "key": "example-key", 
      "operator": "Exists",
      "value": "optional-value",
      "effect": "NoSchedule"
    }
  },
  {
    "spec": {
      "key": "example-key2", 
      "operator": "Exists",
      "value": "optional-value2",
      "effect": "NoSchedule"
    }
  }
]

Configuração do balanceador de carga interno

Você pode usar um balanceador de carga interno para sua implantação nos tipos de instalação do AKS e EKS. Para fazê-lo, você deve especificar isso na seção ingress do arquivo input.json.
Os detalhes do campo AKS internal load balancer configuration field details:
ParâmetroDescription
azure-load-balancer-internalEspecifica se o balanceador de carga é interno.
Os detalhes do campo EKS internal load balancer configuration field details:
  
aws-load-balancer-backend-protocolEspecifica o protocolo de back-end.
aws-load-balancer-nlb-target-typeEspecifica o tipo de destino a configurar para NLB. Você pode escolher entre instance e ip.
aws-load-balancer-schemeEspecifica se o NLB será voltado para a internet ou interno. Os valores válidos são internal ou internet-facing. Se não for especificado, o padrão será internal.
aws-load-balancer-typeEspecifica o tipo de balanceador de carga. Esse controlador reconcilia esses recursos de serviço com essa anotação definida como nlb ou external.
aws-load-balancer-internalEspecifica se o NLB será voltado para a internet ou interno.

Exemplo de AKS

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  }, "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
    }
  },

Exemplo de EKS

"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": "true"
    }
  },  "ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb",
      "service.beta.kubernetes.io/aws-load-balancer-internal": "true"
    }
  },
Para obter mais informações sobre a criação de balanceadores de carga internos no AKS e EKS, acesse os seguintes links:

Configuração de identidade da carga de trabalho

A identidade da carga de trabalho é uma variante da identidade gerenciada, disponível se você usar o Automation Suite no AKS. A identidade da carga de trabalho ajuda você a evitar o gerenciamento de credenciais, permitindo que os pods usem uma identidade do Kubernetes, como uma conta de serviço. A identidade da carga de trabalho também permite que os aplicativos do Kubernetes acessem os recursos do Azure de forma segura com o Microsoft Entra ID, com base em contas de serviço anotadas.

Para saber mais sobre a identidade da carga de trabalho, consulte Usar uma ID de carga de trabalho do Microsoft Entra no AKS - Serviço do Azure Kubernetes.

Observação:

O Studio Web, Insights e Task Mining atualmente não suportam a identidade de carga de trabalho.

Para usar a identidade da carga de trabalho, execute as seguintes etapas:

  1. Habilite a identidade da carga de trabalho e o emissor do OIDC para o cluster, recupere o URL do emissor do OIDC e crie uma identidade gerenciada atribuída pelo usuário, que será usada na identidade da carga de trabalho. Para executar essas operações, siga as instruções em Implantar e configurar um cluster do AKS com identidade da carga de trabalho - Serviço do Azure Kubernetes.
  2. Salve o ID do cliente da identidade gerenciada atribuída pelo usuário e forneça-o em seu arquivo input.json .
    {
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }{
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }
  3. Execute o seguinte script que cria as credenciais federadas para todas as contas de serviço que criamos para o Automation Suite:
    #!/bin/bash
    
    # Variables
    RESOURCE_GROUP="<resource-group-name>"
    USER_ASSIGNED_IDENTITY_NAME="<user-assigned-identity-name>"
    AKS_OIDC_ISSUER="<aks-oidc-issuer>"
    AUDIENCE="api://AzureADTokenExchange"
    
    # Helper function to create federated credentials
    create_federated_credentials() {
      local NAMESPACE=$1
      shift
      local SERVICE_ACCOUNTS=("$@")
    
      for SERVICE_ACCOUNT_NAME in "${SERVICE_ACCOUNTS[@]}"; do
        # Generate a unique federated identity credential name
        FEDERATED_IDENTITY_CREDENTIAL_NAME="${NAMESPACE}-${SERVICE_ACCOUNT_NAME}"
    
        echo "Creating federated credential for namespace: ${NAMESPACE}, service account: ${SERVICE_ACCOUNT_NAME}"
    
        # Run the Azure CLI command
        az identity federated-credential create \
          --name "${FEDERATED_IDENTITY_CREDENTIAL_NAME}" \
          --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" \
          --resource-group "${RESOURCE_GROUP}" \
          --issuer "${AKS_OIDC_ISSUER}" \
          --subject "system:serviceaccount:${NAMESPACE}:${SERVICE_ACCOUNT_NAME}" \
          --audience "${AUDIENCE}"
    
        if [ $? -eq 0 ]; then
          echo "Federated credential created successfully for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        else
          echo "Failed to create federated credential for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        fi
      done
    }
    
    
    # Call the function for each namespace and its service accounts
    create_federated_credentials "uipath" "default" "asrobots-sa" "taskmining-client" "dataservice-be-service-account" "dataservice-fe-service-account" "insights-adf" "du-documentmanager-service-account" "services-configure-uipath-ba" "aicenter-jobs" "aicenter-deploy" "ailoadbalancer-service-account" "airflow"
    create_federated_credentials "uipath-check" "default"
    create_federated_credentials "velero" "velero-server"#!/bin/bash
    
    # Variables
    RESOURCE_GROUP="<resource-group-name>"
    USER_ASSIGNED_IDENTITY_NAME="<user-assigned-identity-name>"
    AKS_OIDC_ISSUER="<aks-oidc-issuer>"
    AUDIENCE="api://AzureADTokenExchange"
    
    # Helper function to create federated credentials
    create_federated_credentials() {
      local NAMESPACE=$1
      shift
      local SERVICE_ACCOUNTS=("$@")
    
      for SERVICE_ACCOUNT_NAME in "${SERVICE_ACCOUNTS[@]}"; do
        # Generate a unique federated identity credential name
        FEDERATED_IDENTITY_CREDENTIAL_NAME="${NAMESPACE}-${SERVICE_ACCOUNT_NAME}"
    
        echo "Creating federated credential for namespace: ${NAMESPACE}, service account: ${SERVICE_ACCOUNT_NAME}"
    
        # Run the Azure CLI command
        az identity federated-credential create \
          --name "${FEDERATED_IDENTITY_CREDENTIAL_NAME}" \
          --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" \
          --resource-group "${RESOURCE_GROUP}" \
          --issuer "${AKS_OIDC_ISSUER}" \
          --subject "system:serviceaccount:${NAMESPACE}:${SERVICE_ACCOUNT_NAME}" \
          --audience "${AUDIENCE}"
    
        if [ $? -eq 0 ]; then
          echo "Federated credential created successfully for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        else
          echo "Failed to create federated credential for ${NAMESPACE}:${SERVICE_ACCOUNT_NAME}"
        fi
      done
    }
    
    
    # Call the function for each namespace and its service accounts
    create_federated_credentials "uipath" "default" "asrobots-sa" "taskmining-client" "dataservice-be-service-account" "dataservice-fe-service-account" "insights-adf" "du-documentmanager-service-account" "services-configure-uipath-ba" "aicenter-jobs" "aicenter-deploy" "ailoadbalancer-service-account" "airflow"
    create_federated_credentials "uipath-check" "default"
    create_federated_credentials "velero" "velero-server"

Para usar a identidade da carga de trabalho com SQL, consulte Acesso baseado em identidade da carga de trabalho para SQL do AKS.

Para usar a identidade da carga de trabalho com sua conta de armazenamento, consulte Acesso baseado em identidade de carga de trabalho para sua conta de armazenamento do AKS.

Configuração específica do Orchestrator

O Orchestrator pode salvar logs de robô em um servidor do Elasticsearch. Você pode configurar esta funcionalidade na seção orchestrator.orchestrator_robot_logs_elastic. Se não forem fornecidos, os logs de robô serão salvos no banco de dados do Orchestrator.
A tabela a seguir lista os parâmetros orchestrator.orchestrator_robot_logs_elastic:

Parâmetro

Description

orchestrator_robot_logs_elastic

Configuração do Elasticsearch.

elastic_uri

O endereço da instância do Elasticsearch que deve ser usado. Ele deve ser fornecido na forma de um URI. Se fornecidos, o nome de usuário e senha também são necessários.

elastic_auth_username

O nome de usuário do Elasticsearch, usado para autenticação.

elastic_auth_password

A senha do Elasticsearch, usada para autenticação.

Configuração específica do Insights

Se habilitar o Insights, os usuários podem incluir a configuração do servidor SMTP que será usada para enviar emails agendados/emails de alerta. Se não for fornecida, os emails agendados e os emails de alerta não funcionarão.

Os detalhes dos campos insights.smtp_configuration:

Parâmetro

Description

tls_version

Os valores válidos são TLSv1_2, TLSv1_1, SSLv23. Omita a chave completamente se não estiver usando TLS.

from_email

Endereço do qual os emails de alerta/agendados serão enviados.

host

Nome do host do servidor SMTP.

port

Porta do servidor SMTP.

username

Nome de usuário para a autenticação do servidor SMTP.

password

Senha para a autenticação do servidor SMTP.

enable_realtime_monitoringSinalize para habilitar o monitoramento em tempo real do Insights. Os valores válidos são true, false. O valor padrão é false.

Exemplo

"insights": {
    "enabled": true,
    "enable_realtime_monitoring": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }"insights": {
    "enabled": true,
    "enable_realtime_monitoring": true,
    "smtp_configuration": {
      "tls_version": "TLSv1_2",
      "from_email": "test@test.com",
      "host": "smtp.sendgrid.com",
      "port": 587,
      "username": "login",
      "password": "password123"
    }
  }

Process Mining-specific configuration

Se habilitar o Process Mining, recomendamos que os usuários especifiquem um SECONDARY SQL Server para atuar como um data warehouse separado do Automation Suite SQL Server primário. O SQL Server do armazém de dados estará sob carga pesada e pode ser configurado na seção processmining :

Parâmetro

Description

sql_connection_str

Cadeia de conexão formatada DotNet com banco de dados definido como um espaço reservado: Initial Catalog=DB_NAME_PLACEHOLDER.

sqlalchemy_pyodbc_sql_connection_str

String de conexão formatada PYODBC do Sqlalchemy para local do banco de dados de metadados do airflow personalizado: sqlServer:1433/DB_NAME_PLACEHOLDER.

Exemplo:

mssql+pyodbc://testadmin%40myhost:mypassword@myhost:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES

Onde

Usuário: testadmin%40myhost
Observação:

Se houver "@" no nome do usuário, ele deverá ser codificado com URL como %40

Exemplo: (configuração do SQL Server com autenticação do Kerberos)

mssql+pyodbc://:@assql2019.autosuitead.local:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes

warehouse.sql_connection_str

Cadeia de conexão SQL formatada em DotNet para o data warehouse de processmining SQL Server com espaço reservado para dbname:

Initial Catalog=DB_NAME_PLACEHOLDER.

warehouse.sqlalchemy_pyodbc_sql_connection_str

String de conexão SQL formatada Sqlalchemy PYODBC para o data warehouse de processmining SQL Server com espaço reservado para dbname:

sqlServer:1433/DB_NAME_PLACEHOLDER.

warehouse.master_sql_connection_str

Se o instalador estiver criando bancos de dados por meio da configuração sql.create_db: true , uma string de conexão SQL mestre formatada em DotNet deve ser fornecida para o SQL Server do data warehouse de processmining. O banco de dados na cadeia de conexão deve ser definido como master.

Exemplo de string de conexão do Process Mining

"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "warehouse": {
        "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
	    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},"processmining": {
    "enabled": true,
    "app_security_mode": "system_managed",
    "warehouse": {
        "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Warehouse;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",
	    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_ProcessMining_Warehouse?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES&Trusted_Connection=yes",
        "master_sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=master;Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;"
    },
    "sqlalchemy_pyodbc_sql_connection_str": "mssql+pyodbc://testadmin%40sfdev4515230-sql.database.windows.net:07%3Cl%5Bxj-%3D~%3Az%60Ds%26nl@sfdev4515230-sql.database.windows.net:1433/AutomationSuite_Airflow?driver=ODBC+Driver+17+for+SQL+Server&TrustServerCertificate=YES&Encrypt=YES"
    "sql_connection_str": "Server=tcp:sfdev4515230-sql.database.windows.net,1433;Initial Catalog=AutomationSuite_ProcessMining_Metadata;User Id=testadmin@sfdev4515230-sql.database.windows.net;Password='password';Persist Security Info=False;Integrated Security=true;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=True;Connection Timeout=30;Max Pool Size=100;",  
},
Atenção:

Ao configurar o Microsoft SQL Server, certifique-se de que o fuso horário da máquina do SQL Server onde o banco de dados Airflow e um banco de dados dedicado do Process Mining estão instalados, esteja definido como UTC.

Atenção:

Ao configurar as strings de conexão para o SQL Server do data warehouse do processmining, a instância nomeada do SQL Server deve ser omitida.

As instâncias nomeadas do SQL Server não podem operar na mesma porta TCP. Portanto, o número da porta por si só é suficiente para distinguir entre instâncias.

Por exemplo, use tcp:server,1445 em vez de tcp:server\namedinstance,1445.
Importante: observe que os nomes para a string de conexão PYODBC sql_connection_string_template_sqlalchemy_pyodbc do modelo e a string de conexão PYODBC sqlalchemy_pyodbc_sql_connection_str usadas quando você traz seu próprio banco de dados são diferentes. Além disso, os nomes das strings de conexão são diferentes para o modelo SQL sql_connection_string_template e sql_connection_str usado quando você traz seu próprio banco de dados.
Importante:
Se você trouxer seu próprio banco de dados e configurou isso usando as strings de conexão sql_connection_str e sqlalchemy_pyodbc_sql_connection_str na seção processmining do arquivo input.json , as strings de conexão do modelo sql_connection_string_template e sql_connection_string_template_sqlalchemy_pyodbc serão ignoradas, se especificadas.
Importante:
Você deve usar a porta padrão do servidor 1433 para as conexões do banco de dados do Airflow.

Portas do servidor SQL não padrão não são compatíveis.

Automation Suite Robots-specific configuration

Os Automation Suite Robots podem usar o cache de pacotes para otimizar suas execuções de processo e permitir que sejam executados mais rapidamente. Os pacotes NuGet são obtidos do sistema de arquivos em vez de serem baixados da Internet/rede. Isso requer um espaço adicional de no mínimo 10GiB e deve ser alocado para uma pasta no sistema de arquivos da máquina host dos nós dedicados.

Para habilitar o armazenamento em cache de pacotes, você precisa atualizar os seguintes parâmetros input.json :

Parâmetro

Valor padrão

Description

packagecaching

true

Quando definido como true, os robôs usam um cache local para resolução de pacote.

packagecachefolder

/uipath_asrobots_package_cache

O local do disco no nó do agente sem servidor em que os pacotes são armazenados.

Configuração específica do AI Center

Para que o AI Center funcione corretamente, você deve configurar os parâmetros aicenter.external_object_storage.port e aicenter.external_object_storage.fqdn no arquivo input.json .
Observação: você deve configurar os parâmetros na seção aicenter do arquivo input.json , mesmo que você tenha configurado a seção external_object_storage do arquivo.
O exemplo a seguir mostra uma configuração input.jsonválida para o AI Center:
"aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
..."aicenter": {
  "external_object_storage" {
    "port": 443,
    "fqdn": "s3.us-west-2.amazonaws.com"
  }
},
"external_object_storage": {
  "enabled": true,
  "create_bucket": false,
  "storage_type": "s3", 
  "region": "us-west-2", 
  "use_instance_profile": true
}
...

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.