UiPath Documentation
automation-suite
2023.4
false
EKS/AKS 上的 Automation Suite 安装指南
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。

在 ArgoCD 中管理集群

概述​

ArgoCD 是用于 Kubernetes 的声明性 GitOps 持续交付工具。它被设计为 Kubernetes 控制器,可持续监控正在运行的 UiPath™ 应用程序,并根据 Docker 注册表中指定的所需目标状态检查当前状态。有关更多详细信息,请参阅ArgoCD 文档。

管理员可以通过简单的用户界面或 CLI 概览集群、配置、应用程序状态和运行状况。 ArgoCD 附带自己的开源捆绑 Redis,该 Redis 支持 HA 和非 HA 配置。

Automation Suite 在以下场景中使用 ArgoCD:

  • 安装和升级 Fabric 组件和核心 UiPath™ 服务。
  • 在指定目标环境中自动部署所需的应用程序状态。 ArgoCD 遵循 GitOps 模式,即使用 Git/helm 存储库作为定义所需应用程序状态的事实来源。
  • 跟踪安装状态。 如果安装在特定点失败,并且您在一段时间后继续安装,则 ArgoCD 将跳过已同步的所有步骤,并从失败点继续。
  • 对应用程序进行自我修复。 如果您错误地删除了任何对象,则清单将自动同步。

ArgoCD 只读方案​

您可以在以下只读方案中使用 ArgoCD 帐户 :

  • 在简单的界面中将所有应用程序、Pod 和服务可视化
  • 监控所有应用程序、Pod 和服务的运行状况
  • 快速识别部署中的问题
  • 重新同步集群中的应用程序

ArgoCD 高级场景​

重要提示:

除本节中列出的设置或参数外,不得修改任何其他设置或参数。

您可以在以下高级场景中使用 ArgoCD 管理员帐户:

  • 更改参数仅用于调试目的;例如,禁用自我修复;

  • 删除 Pod;

  • 故障排除;

  • 管理 Orchestrator 自定义配置;例如,为每个租户设置加密密钥;

  • 更新数据库连接字符串;

  • 正在同步应用程序。

    备注:

    在删除或更改用户界面上的高级配置之前,请务必参阅适当的 UiPath™ 文档。

访问 ArgoCD​

ArgoCD 支持两种身份验证方法:

  • 用户名和密码– 默认身份验证方法;
  • SSO – recommended authentication method. You can enable SSO authentication post-installation. For instructions, see Enabling SSO for ArgoCD.

用户名和密码身份验证​

访问 ArgoCD 管理员帐户​

要使用用户名和密码访问 ArgoCD 管理员帐户,请执行以下步骤:

  1. 访问以下 URL: https://alm.${CONFIG_CLUSTER_FQDN} 。

  2. 输入以下用户名: admin 。

  3. 访问密码:

    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
    kubectl get secret -n argocd argocd-initial-admin-secret -o jsonpath='{.data.password}'  | base64 -d
    
  4. 输入您的密码。

    重要提示:

    只能将 ArgoCD 管理员帐户用于高级方案。 如果不小心使用,它可能会导致对集群的破坏性操作。

SSO 身份验证​

要使用 SSO 访问 ArgoCD,请执行以下步骤:

  1. 选择 ArgoCD 登录页面上的 SSO 按钮。
  2. 输入公司域凭据。

为 ArgoCD 启用 SSO​

概述​

要启用 SSO 身份验证,必须使用 uipathctl 命令行工具。

准备配置文件​

在为 ArgoCD 启用 SSO 之前,您必须生成 RBAC 文件。

RBAC 文件​

RBAC 文件包含访问规则。

有关内置角色定义的详细信息,请参阅ArgoCD 文档。

For details on the ArgoCD account types and their permissions, see Managing the cluster in ArgoCD.

我们建议在定义组时使用这些角色,但您可以创建自己的权限集。

配置 RBAC 文件​
  1. 通过运行以下命令,创建名为 policy.csv 的文件:

    uipathctl config argocd generate-rbac
    uipathctl config argocd generate-rbac
    
  2. 将以下内容添加到 policy.csv 文件中并保存:

    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    p, role:uipath-sync, applications, get, */*, allow
    p, role:uipath-sync, applications, sync, */*, allow
    g, argocdro, role:uipath-sync
    
  3. 通过将以下行附加到policy.csv RBAC 文件,将 RBAC 组与内置管理员角色和 UiPath™ argocdro只读角色相关联:

    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    g, <your_ldap_readonly_group_name>, role:uipath-sync
    g, <your_ldap_admin_group_name>, role:admin
    
  4. 保存更新的policy.csv RBAC 文件。

  5. 在argo-cd-rbac-cm配置映射中在policy.csv部分之后创建一个名为policy.default的新部分,如以下示例所示:

    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:readonly
    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:readonly
    
  6. 请按照 ArgoCD 文档中的说明使用 OIDC 配置 SSO。

示例:

如果 ArgoCD 管理员的 LDAP 组是管理员,而 ArgoCD 只读用户的 LDAP 组是读取者,则 RBAC 文件应类似于以下示例:

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:admin
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:admin

对于更高级的用例,以下示例显示了默认的 RBAC 文件:

# 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

为 ArgoCD 启用 SSO​

准备好 RBAC 文件后,您可以为 ArgoCD 启用 SSO:

  1. 将以下行添加到input.json文件:

    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
    {
    "fabric": {
    "argocd_rbac_config_file": "/path/to/policy.csv"
      }
    }
    
  2. 通过运行以下命令应用配置:

    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新