Automation Suite
2023.10
False
网络 - Automation Suite 2023.10
徽标
EKS/AKS 上的 Automation Suite 安装指南
上次更新日期 2023 年 11 月 22 日

网络

您必须配置 Azure 或 AWS 网络资源,以确保集群上的 Automation Suite 可以连接并访问 Cloud 基础架构先决条件(例如,存储、数据库、缓存和 DNS)。

根据您的网络架构,这可能包括配置 VNET/VPC、DNS、子网、NSG/安全组、NAT 网关、弹性 IP 和互联网网关。 有关详细信息,请参阅 部署方案

重要提示:

Automation Suite 不支持 IPv6 互联网协议。

自定义入口控制器

如果您有自定义入口控制器 (NGINX),请参阅 配置 NGINX 入口 并跳过页面的其余部分。

负载均衡器配置

Automation Suite 在安装过程中代表您配置负载均衡器。 必须为负载均衡器分配公共或私有 IP 地址,才能路由传入的 FQDN 请求。 您可以通过两个选项配置负载均衡器:

  • 预分配的 IP:为负载均衡器分配公共 IP 或私有 IP,配置 DNS 记录以将 FQDN 映射到这些 IP,并将这些 IP 作为 input.json的入口部分的一部分提供。

  • 动态分配的 IP: 如果您不提供 IP 地址,则 Automation Suite 会将 IP 从集群子网动态分配给负载均衡器。

预分配的 IP

您必须在 input.jsoningress 部分中提供以下服务注释。

有关 EKS 中的服务注释列表,请参阅 AWS 负载均衡器文档

有关 AKS 中的服务注释列表,请参阅 Azure 负载均衡器文档

EKS 注释示例

以下示例显示了如何从 AWS 分配弹性 IP 并配置公共负载均衡器。 如果您使用此示例作为配置的起点,请确保将 IP 替换为实际值。

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip, elastic_ip>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
......
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/aws-load-balancer-backend-protocol": "ssl",
      "service.beta.kubernetes.io/aws-load-balancer-eip-allocations": "<elastic_ip, elastic_ip>",
      "service.beta.kubernetes.io/aws-load-balancer-nlb-target-type": "ip",
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internet-facing",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
...

以下示例显示了如何从 EKS 集群子网将私有 IP 分配给内部负载均衡器。 如果使用此示例作为配置的起点,请确保使用实际值更新 IP 和子网。

...
  "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-private-ipv4-addresses": [
        "<IP_0>",
        "<IP_1>"
      ],
      "service.beta.kubernetes.io/aws-load-balancer-subnets": [
        "<SUBNET_0>",
        "<SUBNET_1>"
      ],
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
......
  "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-private-ipv4-addresses": [
        "<IP_0>",
        "<IP_1>"
      ],
      "service.beta.kubernetes.io/aws-load-balancer-subnets": [
        "<SUBNET_0>",
        "<SUBNET_1>"
      ],
      "service.beta.kubernetes.io/aws-load-balancer-scheme": "internal",
      "service.beta.kubernetes.io/aws-load-balancer-type": "nlb"
    }
  }
...
重要提示:

IP 和子网必须匹配。

在上一个示例中, <IP_0> 位于 <SUBNET_0> 中, <IP_1> 位于 <SUBNET_1>中。

AKS 注释示例

以下示例显示了如何从 Azure 分配公共 IP 并配置公共负载均衡器。 如果使用此示例作为配置的起点,请确保使用实际值更新 IP。

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
......
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "false",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>"
    }
  }
...

以下示例显示了如何从 AKS 集群子网将私有 IP 分配给内部负载均衡器。 如果使用此示例作为配置的起点,请确保使用实际值更新 IP 和 bubnet。

...
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET_0>", "<SUBNET_1>" 
    }
  }
......
"ingress": {
    "service_annotations": {
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true",
      "service.beta.kubernetes.io/azure-load-balancer-ipv4": "<IP>",
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": "<SUBNET_0>", "<SUBNET_1>" 
    }
  }
...
重要提示:

IP 和子网必须匹配。

在上一个示例中, <IP_0> 位于 <SUBNET_0> 中, <IP_1> 位于 <SUBNET_1>中。

DNS 配置

确保配置 DNS 记录以将以下 UiPath FQDN 映射到负载均衡器:

  • FQDN

  • alm.FQDN

  • monitoring.FQDN

  • insights.FQDN (如果安装 UiPath Insights)

备注:

FQDN 是安装前的先决条件检查之一。 如果未提供 IP 地址或尚未完成 FQDN 映射,则检查将失败。

动态分配的 IP

如果在 input.json中未提供任何 IP,则 Automation Suite 将从工作器节点子网动态分配私有 IP。 在这种情况下,请通过以下方式运行 Automation Suite 安装。

input.json 的 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
    }
  }
...

input.json 的 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"
    }
  }
...

安装步骤

在这种情况下,请按如下方式运行安装程序:

  1. 仅在配置负载均衡器之前运行安装程序:

    uipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gatewayuipathctl manifest apply <INPUT_JSON> --versions <VERSIONS_JSON> --override=gateway
  2. 检索负载均衡器主机名:

    kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'kubectl get svc -n istio-system istio-ingressgateway -o jsonpath='{.status.loadBalancer.ingress[0].hostname}'
  3. 使用映射到负载均衡器端点或 IP 的 FQDN 配置 DNS。

  4. 重新运行安装程序以完成安装:

    uipathctl manifest apply input.json --versions versions.jsonuipathctl manifest apply input.json --versions versions.json
备注:

请注意,如果没有 DNS 映射,FQDN 先决条件检查将失败。 先决条件检查旨在让您确信在安装 Automation Suite 之前已正确配置所有先决条件。 FQDN 检查不会阻止您安装 Automation Suite 。

徽标
获取您需要的帮助
徽标
了解 RPA - 自动化课程
徽标
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2023 UiPath. All rights reserved.