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

安装和配置 GitOps 工具

在 EKS/AKS 上安装和配置适用于 Automation Suite 的 ArgoCD GitOps 工具。

备注:

在继续安装和配置 ArgoCD 之前,您必须安装 Istio 并为uipathadmin服务帐户提供所有必需的权限。

有关服务网格的安装和配置说明,请参阅“安装和配置服务网格” 。

有关安装权限,请参阅授予安装权限。

如果您无法向 Automation Suite 安装程序授予管理员权限,则必须使用自己的 ArgoCD 用于 Automation Suite 部署。有关详细信息,请参阅配置 ArgoCD 。

配置 ArgoCD​

如果您无法向 Automation Suite 安装程序授予管理员权限,则必须自备 ArgoCD 并执行以下配置步骤:

  • 为input.json文件的argocd部分中的application_namespace参数提供正确的值。这是创建应用程序的命名空间,理想情况下也应是安装 ArgoCD 的命名空间。
  • 如果您在共享集群上安装 Automation Suite,我们建议创建一个专用于 Automation Suite 的新 ArgoCD 项目,而不是使用默认项目。有关如何在 ArgoCD 中创建项目的详细信息,请参阅在 ArgoCD 中创建项目。
  • 在 ArgoCD 中配置 Helm 存储库。有关详细信息,请参阅在 ArgoCD 中配置 Helm 存储库。
  • 授予对 ArgoCD 命名空间的必要权限。有关详细信息,请参阅授予对 ArgoCD 命名空间的必要权限。

在 ArgoCD 中创建项目​

要在 ArgoCD 用户界面中创建新项目,请执行以下步骤:

  1. 登录到 ArgoCD。
  2. 导航至“设置” >“项目” >“新建项目” 。
  3. 提供项目的名称和说明。
  4. 添加以下目标:
    1. 输入<uipath>作为命名空间,并输入https://kubernetes.default.svc作为服务器。
    2. 输入<istio-system>作为命名空间,并输入https://kubernetes.default.svc作为服务器。
  5. 将<argocd>命名空间添加到sourceNamespaces 。
    备注:

    在较旧的 ArgoCD 版本中, sourceNamespaces在用户界面中不可见。

您还可以以声明性方式创建 ArgoCD 项目:

apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
  name: <project-name>
  namespace: <argocd-namespace>
spec:
  description: App project to manage and deploy uipath applications
  clusterResourceWhitelist:
    - group: '*'
      kind: '*'
  destinations:
    - namespace: <uipath>
      server: https://kubernetes.default.svc
    - namespace: <istio-system>
      server: https://kubernetes.default.svc
  sourceNamespaces:
    - <argocd-namespace>
  sourceRepos:
    - '*'
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
  name: <project-name>
  namespace: <argocd-namespace>
spec:
  description: App project to manage and deploy uipath applications
  clusterResourceWhitelist:
    - group: '*'
      kind: '*'
  destinations:
    - namespace: <uipath>
      server: https://kubernetes.default.svc
    - namespace: <istio-system>
      server: https://kubernetes.default.svc
  sourceNamespaces:
    - <argocd-namespace>
  sourceRepos:
    - '*'

在 ArgoCD 中配置 Helm 存储库​

要在 ArgoCD 中配置 Helm 存储库,请执行以下步骤:

  1. 登录到 ArgoCD。
  2. 导航至“设置” >“存储库” >“+CONNECT REPO” 。
  3. 使用VIA HTTPS作为连接方法。
  4. 选择“Helm”作为类型。
  5. 提供名称。
  6. 选择“UiPath”作为项目。uipath是您为 UiPath™ 应用程序创建的 ArgoCD 项目的名称。
  7. 提供存储库 URL、用户名、密码和证书信息。
  8. 启用“OCI”复选框。
  9. Select Connect.
  10. 确保连接状态为成功。

授予对 ArgoCD 命名空间的必要权限​

要授予对 ArgoCD 命名空间的必要权限,请执行以下步骤:

  1. 创建角色,以在<argocd>命名空间中创建和编辑密码:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: argo-secret-role
      namespace: <argocd>
    rules:
      - apiGroups: ["rbac.authorization.k8s.io"]
        resources: ["roles", "rolebindings"]
        verbs: ["*"]
      - apiGroups: ["*"]
        resources: ["secrets"]
        verbs: ["get", "watch", "list", "patch", "update", "create"]
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: argo-secret-role
      namespace: <argocd>
    rules:
      - apiGroups: ["rbac.authorization.k8s.io"]
        resources: ["roles", "rolebindings"]
        verbs: ["*"]
      - apiGroups: ["*"]
        resources: ["secrets"]
        verbs: ["get", "watch", "list", "patch", "update", "create"]
    
  2. 将argo-secret-role角色绑定到uipathadmin服务帐户:

    kubectl -n <argocd> create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    kubectl -n <argocd> create rolebinding secret-binding \
      --role=argo-secret-role --serviceaccount=<uipath>:uipathadmin
    
  3. 创建角色以管理<argocd>命名空间中的应用程序:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: uipath-application-manager
      namespace: <argocd>
    rules:
      - apiGroups:
          - argoproj.io
        resources:
          - applications
        verbs:
          - "*"
    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: uipath-application-manager
      namespace: <argocd>
    rules:
      - apiGroups:
          - argoproj.io
        resources:
          - applications
        verbs:
          - "*"
    
  4. 将uipath-application-manager角色绑定到uipathadmin服务帐户:

    kubectl create rolebinding uipath-application-manager-rolebinding --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -n <argocd>
    kubectl create rolebinding uipath-application-manager-rolebinding --role=uipath-application-manager --serviceaccount=<uipath>:uipathadmin -n <argocd>
    
  5. 将<argocd>命名空间中的命名空间读取者角色绑定到uipathadmin服务帐户:

    kubectl -n <argocd> create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    kubectl -n <argocd> create rolebinding namespace-reader-rolebinding \
      --clusterrole=namespace-reader-clusterrole --serviceaccount=<uipath>:uipathadmin
    
  • 配置 ArgoCD​
  • 在 ArgoCD 中创建项目​
  • 在 ArgoCD 中配置 Helm 存储库​
  • 授予对 ArgoCD 命名空间的必要权限​

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新