automation-suite
2023.10
false
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

Gerenciamento do cluster no ArgoCD

Visão geral

O ArgoCD é uma ferramenta de entrega contínua declarativa GitOps para o Kubernetes. É projetado como um controlador do Kubernetes que monitora continuamente a UiPath® executando aplicativos e verifica o estado atual contra o estado de destino desejado, conforme especificado no registro do Docker.Para obter mais detalhes, consulte a documentação do ArgoCD.

Os administradores podem ter uma visão geral do cluster, configurações, status dos aplicativos e integridade, tudo por meio de uma interface do usuário ou CLI simples. O ArgoCD vem com seu próprio Redis integrado de código aberto, que suporta configurações HA e não HA.

O Automation Suite usa o ArgoCD nos seguintes cenários:

  • Instalação e atualização dos componentes do Fabric e serviços principais da UiPath®.
  • Automatizando a implantação dos estados de aplicativo desejados nos ambientes de destino especificados. ArgoCD segue o padrão GitOps de usar repositórios Git/helm como a fonte da verdade para definir o estado desejado do aplicativo.
  • Acompanhando o estado da instalação. Se a instalação falhou em um ponto específico e você a retoma depois de um tempo, o ArgoCD pula todas as etapas que já estão sincronizadas e recomeça do ponto onde falhou.
  • Autocorreção dos aplicativos. Se você excluir algum dos objetos por engano, os manifestos serão sincronizados automaticamente.

Cenários somente leitura do ArgoCD

É possível usar a conta do ArgoCD nos seguintes cenários somente leitura:

  • Visualizando todos os seus aplicativos, pods e serviços em uma interface simples;
  • Monitorando a integridade de todos os seus aplicativos, pods e serviços;
  • Identificar rapidamente problemas em sua implantação;
  • Ressincronizando seu aplicativo em seu cluster.

Cenários avançados do ArgoCD

Importante: Você não deve modificar nenhuma outra configuração ou parâmetro, exceto os listados nesta seção.

Você pode usar a conta admin do ArgoCD nos seguintes cenários avançados:

  • Alterar parâmetros apenas para fins de depuração; por exemplo, desabilitando a autocorreção;
  • Excluindo pods;
  • Soluçãode problemas;
  • Gerenciando a configuração personalizada do Orchestrator; por exemplo, configurar a chave de criptografia por inquilino;
  • Atualização das strings de conexão de bancos de dados;
  • Sincronizando aplicativos.
    Observação: certifique-se de consultar a documentação adequada da UiPath® antes de excluir ou alterar a configuração avançada na interface gráfica.

Acessando o ArgoCD

ArgoCD suporta dois métodos de autenticação:

  • nome de usuário e senha – método de autenticação padrão;
  • SSO – método de autenticação recomendado. Você pode habilitar a autenticação SSO após a instalação. Para obter instruções, consulte Habilitação do SSO para ArgoCD.

Username and password authentication

Accessing the ArgoCD admin account

Para acessar a conta de administrador ArgoCD usando nome de usuário e senha, siga os seguintes passos:

  1. Acesse o seguinte URL: https://alm.${CONFIG_CLUSTER_FQDN}
  2. Insira o nome de usuário a seguir: admin.
  3. Senha de acesso:
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -dkubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
  4. Coloque sua senha.
    Importante: Você deve usar a conta de administrador ArgoCD apenas para cenários avançados. Ele pode causar uma ação disruptiva no cluster se não for usado com cuidado.

SSO authentication

Para acessar o ArgoCD usando SSO, siga as seguintes etapas:

  1. Clique no botão SSO na página de login do ArgoCD.
  2. Insira as credenciais de domínio da sua empresa.

Ativando SSO para ArgoCD

Visão geral

Para habilitar a autenticação SSO, você deve usar a ferramenta de linha de comando uipathctl.

Preparing the configuration files

Você deve gerar o arquivo RBAC antes de habilitar o SSO para ArgoCD.

The RBAC file

O arquivo RBAC contém regras de acesso.

Para obter detalhes sobre as definições de funções integradas, consulte a documentação do ArgoCD.

Para obter detalhes sobre os tipos de conta do ArgoCD e suas permissões, consulte Gerenciamento do cluster no ArgoCD.

Recomendamos usar essas funções ao definir seus grupos, mas você pode criar seu próprio conjunto de permissões.

Configuring the RBAC file
  1. Crie um arquivo chamado policy.csv executando o seguinte comando:
    uipathctl config argocd generate-rbacuipathctl config argocd generate-rbac
  2. Adicione o seguinte conteúdo ao arquivo policy.csv e salve-o:
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-syncp, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
  3. Associe seus grupos de RBAC à função de administrador integrada e à função somente leitura do argocdro da UiPath®, anexando as seguintes linhas ao arquivo RBAC policy.csv:
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:adming, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
  4. Salve o arquivo RBAC policy.csv atualizado.
  5. Crie uma nova seção chamada policy.default no mapa de configuração argo-cd-rbac-cm, abaixo da seção policy.csv, conforme mostrado no exemplo a seguir:
    policy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonlypolicy.csv: |
        p, role:org-admin, applications, *, /, allow
        p, role:org-admin, clusters, get, *, allow
        p, role:org-admin, repositories, get, *, allow
        p, role:org-admin, repositories, create, *, allow
        p, role:org-admin, repositories, update, *, allow
        p, role:org-admin, repositories, delete, *, allow
        g, "694afc07-6767-8998-bf84-ab80b53379df", role:org-admin # (azure group assigned to role)
      policy.default: role:readonly
  6. Siga as instruções na documentação do ArgoCD para configurar o SSO com o OIDC.

Exemplo:

Se seu grupo LDAP para administradores do ArgoCD for Administradores e o grupo LDAP para usuários somente leitura do ArgoCD for Leitores, o arquivo RBAC deve ser semelhante ao do exemplo a seguir:

p, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:adminp, role:uipath-sync, applications, get, */*, allow
p, role:uipath-sync, applications, sync, */*, allow
g, argocdro, role:uipath-sync
g, Readers, role:uipath-sync
g, Administrators, role:admin

Para casos de uso mais avançados, o exemplo a seguir mostra o arquivo RBAC padrão:

# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin# Built-in policy which defines two roles: role:readonly and role:admin,
# and additionally assigns the admin user to the role:admin role.
# There are two policy formats:
# 1. Applications, logs, and exec (which belong to a project):
# p, <user/group>, <resource>, <action>, <project>/<object>
# 2. All other resources:
# p, <user/group>, <resource>, <action>, <object>

p, role:readonly, applications, get, */*, allow
p, role:readonly, certificates, get, *, allow
p, role:readonly, clusters, get, *, allow
p, role:readonly, repositories, get, *, allow
p, role:readonly, projects, get, *, allow
p, role:readonly, accounts, get, *, allow
p, role:readonly, gpgkeys, get, *, allow
p, role:readonly, logs, get, */*, allow

p, role:admin, applications, create, */*, allow
p, role:admin, applications, update, */*, allow
p, role:admin, applications, delete, */*, allow
p, role:admin, applications, sync, */*, allow
p, role:admin, applications, override, */*, allow
p, role:admin, applications, action/*, */*, allow
p, role:admin, applicationsets, get, */*, allow
p, role:admin, applicationsets, create, */*, allow
p, role:admin, applicationsets, update, */*, allow
p, role:admin, applicationsets, delete, */*, allow
p, role:admin, certificates, create, *, allow
p, role:admin, certificates, update, *, allow
p, role:admin, certificates, delete, *, allow
p, role:admin, clusters, create, *, allow
p, role:admin, clusters, update, *, allow
p, role:admin, clusters, delete, *, allow
p, role:admin, repositories, create, *, allow
p, role:admin, repositories, update, *, allow
p, role:admin, repositories, delete, *, allow
p, role:admin, projects, create, *, allow
p, role:admin, projects, update, *, allow
p, role:admin, projects, delete, *, allow
p, role:admin, accounts, update, *, allow
p, role:admin, gpgkeys, create, *, allow
p, role:admin, gpgkeys, delete, *, allow
p, role:admin, exec, create, */*, allow

g, role:admin, role:readonly
g, admin, role:admin

Ativando SSO para ArgoCD

Depois de preparar o arquivo RBAC, você pode habilitar o SSO para ArgoCD:

  1. Adicione as seguintes linhas ao arquivo input.json :

    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }{
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
  2. Aplique a configuração executando o seguinte comando:
    uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json

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.