automation-suite
2024.10
true
UiPath logo, featuring letters U and I in white
Automation Suite no guia de instalação do EKS/AKS
Last updated 11 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:

Some products might have dependencies. For details, see Cross-product dependencies.

Para editar input.json, você pode usar seu editor de texto favorito na sua máquina de cliente.
The following table describes the main input.json parameters you must update to properly configure Automation Suite. For a configuration example, refer to AKS input.json example or EKS input.json example.

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

The minimum version of the TLS protocol accepted by Istio for secure communications. It can be set to either TLSV1_2 or 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: lite mode profile.
  • ha : perfil de produção pronto para alta disponibilidade de vários nós.

For more details about managing profiles, see Profile configuration.

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

Indicate whether you want to enable FIPS 140-2 on the nodes on which you plan to install Automation Suite. Possible values are true and false.
storage_class

Specify the storage class to be used for PV provisioning. This storage class must support multiple replicas for optimum High Availability and possess backup capabilities.

For more information, refer to Block storage section.

storage_class_single_replica

Provide the storage class to be used for PV provisioning. This storage class can have a single replica for the components that do not require High Availability. The storage class can have no backup capabilities.

For more information, refer to File storage section.

The storage_class_single_replica value can be the same as the storage_class value.
exclude_components

Use this parameter to prevent non-essential components from being installed.

For details, see Bring your own components.

namespace

Specify the namespace where you want to install Automation Suite.

argocd.application_namespace

The namespace of the application you plan to install. This should ideally be the same as the namespace where you plan to install Automation Suite.

argocd.project

The ArgoCD project required to deploy Automation Suite. This is only required if you want to use the shared or the global ArgoCD instance instead of a dedicated ArgoCD instance.

Profile configuration

You can choose from the following profile modes when installing Automation Suite:

  • Configurable high availability profile (lite mode)

  • Standard high availability profile (HA mode)

Only in lite mode you can switch specific products to high availability (HA). This flexibility allows you to start with non-critical workload, and have the freedom to easily switch to HA mode when onboarding critical ones.

To enable high availability (HA) for a product, you must modify the input.json file. Specifically, you must change the profile parameter to ha for the products you want to make highly available:
....
  "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"
  },
  ...

To switch from lite mode to HA mode, take the following steps:

  1. Make sure you have enough infrastructure capabilities to switch to standard HA at platform level. By default, lite mode sets each product to have one replica with horizontal pod scaling enabled.
  2. Edit the input.json configuration file, and make change the profile parameter for the targeted products.
  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.

Note: If you plan to install the WASM plugin yourself and want to avoid providing the Automation Suite installer with write access to the <istio-system> namespace, you must add the istio-configure component to the exclude_components list.

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:

The certificates can be created at the time of installation only if you grant the Automation Suite installer admin privileges during the installation. If you cannot grant the installer admin privileges, then you must create and manage the certificates yourself.

For details on how to obtain a certificate, see Managing the certificates.

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.
Note: If you provide the certificate yourself, the server.crt file must contain the entire chain, as shown in the following example:
-----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"
}

Custom namespace configuration

You can specify a single custom namespace that replaces the default uipath, uipath-check, and uipath-installer namespaces. To define a custom namespace, provide a value for the optional namespace parameter. If you do not provide a value for the namespace parameter, the default namespaces are used instead.

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:

Workload identity configuration

Workload identity is a variant of managed identity available if you use Automation Suite on AKS. Workload identity helps you avoid managing credentials by enabling pods to use a Kubernetes identity, such as a service account. Workload identity also allows Kubernetes applications to access Azure resources securely with Microsoft Entra ID, based on annotated service accounts.

To learn more about workload identity, see Use a Microsoft Entra Workload ID on AKS - Azure Kubernetes Service.

Observação:

Studio Web, Insights, and Task Mining currently do not support workload identity.

To use workload identity, take the following steps:

  1. Enable workload identity and the OIDC issuer for the cluster, retrieve the OIDC issuer URL, and create a user-assigned managed identity, which will be used in the workload identity. To perform these operations, follow the instructions in Deploy and configure an AKS cluster with workload identity - Azure Kubernetes Service.
  2. Save the client ID of the user-assigned managed identity and provide it in your input.json file.
    {
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }{
      ...
      "pod_identity" : {
        "enabled": true,
        "aks_managed_identity_client_id":<client-id>,
      }
      ...
    }
  3. Run the following script that creates the federated credentials for all the service accounts we create for 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"

To use workload identity with SQL, see Workload identity-based access to SQL from AKS.

To use workload identity with your storage account, see Workload identity-based access to your storage account from 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:

When configuring the connection strings for the processmining data warehouse SQL Server, the named instance of the SQL Server should be omitted.

Named instances of SQL Server cannot operate on the same TCP port. Therefore, the port number alone is sufficient to distinguish between instances.

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:
You must use the default server port 1433 for Airflow database connections.

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.