在 Amazon Elastic Kubernetes Service 中部署集群

Amazon Web Services (AWS) 中部署 ArcGIS Enterprise on Kubernetes 之前,您必须准备一个满足 ArcGIS Enterprise 系统要求的 Amazon Elastic Kubernetes Service (EKS) 集群。

准备 EKS 集群包括在多个支持环境中通用的步骤(例如设置 Kubernetes 集群和对应节点)以及环境特定的步骤(例如配置 AWS Identity and Access Management (IAM) 角色)。

请仔细查看以下步骤,如要了解有关如何准备环境的更多详细说明,请导航至 AWS 文档。

  1. 创建 Amazon Virtual Private Cloud (VPC)

    您必须创建一个同时满足 Amazon EKS 要求ArcGIS Enterprise on Kubernetes 可伸缩性要求的 VPC。

    大型 Kubernetes 部署可能会使用数千个 IP 地址。 创建集群后,无法修改 VPC 的无类别域际路由选择 (CIDR) 范围和关联子网。

    您所需的 IP 地址数量主要取决于集群内部工作负载的数量,但是可伸缩性测试显示为每个子网配置的子网掩码至少应为 /18。 这样可使每个子网有 16,000 个可用的 IP 地址。

  2. 可以选择性地启用机密的信封加密创建 Key Management Service (KMS) 密钥

    建议您为 EKS 集群存储在 ectd 中的机密启用信封加密。 为此,在 Amazon EKS 中必须具有对称加密密钥。

    注:

    为集群启用信封加密后,无法将其禁用。 如果需要,可以在现有集群上启用该功能。

  3. 创建 EKS 集群

    创建 EKS 集群时,您将引用在之前的步骤中创建的 VPC、子网、IAM 角色和 KMS 密钥。 ArcGIS Enterprise on KubernetesAWS 上不受支持,因为基础节点不可配置。

    集群的 Kubernetes 版本应该与系统要求中列出的版本匹配。

  4. 创建节点组 IAM 角色

    创建集群后,您必须创建一个工作节点组。 创建节点组需要一个额外的 IAM 角色,用于定义相关 EC2 实例能够访问的 AWS 服务。

  5. 创建节点组

    创建后,集群不具有任何可调度的工作节点。 要将任意工作负载部署到集群,至少需要一个节点组来启动相关的 Pod。 建议使用托管节点组以简化未来的集群升级。

  6. 更新 kubectl 配置

    创建集群后,可以使用 AWS 命令行界面 (CLI) 将 cluster-admin 连接信息拉取到 kubeconfig 文件。 使用以下命令:

    aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>
    
  7. 创建集群 IAM 角色

    Amazon EKS 集群需要一个 IAM 角色,该角色用于定义集群可以访问哪些资源。 除了 AWS 概述的要求之外,ArcGIS Enterprise on Kubernetes 没有任何附加要求。

  8. 创建 OpenID Connect (OIDC) 身份提供程序

    要与集群中的其他 AWS 服务交互,AWS 建议使用 OIDC 身份提供程序。 此提供程序可以将 Kubernetes 集群与 AWS 组织联合,从而将 Kubernetes 服务帐户的访问权限映射到 AWS 资源。 对于 ArcGIS Enterprise on Kubernetes 而言,我们建议这样做以支持 AWS 负载均衡器控制器和 Amazon Elastic Block Store (EBS) 容器存储接口 (CSI) 驱动程序的运行。 这两个加载项可以大大减少部署 ArcGIS Enterprise on Kubernetes 所需的管理工作。

  9. 安装负载均衡器控制器加载项

    AWS 负载均衡器控制器能够在部署过程中配置一个网络负载均衡器(内部或外部)。 控制器还负责创建目标组、安全组及其他设置,以管理从网络负载均衡器到工作节点的路由。

    如果负载均衡器通过手动方式创建,则必须手动配置这些设置。 第一步是创建 IAM 角色和 Kubernetes 服务帐户。 第二步是将 AWS 负载均衡器控制器的工作负载部署到集群上。

  10. 安装 Amazon EBS CSI 驱动程序加载项

    Amazon EBS CSI 驱动程序是 Amazon EKS 1.23 及更高版本的要求,它允许通过集群内的持久卷声明 (PVC) 动态配置 EBS 卷。 第一个主要步骤是为 CSI 驱动创建一个 IAM 角色和一个 Kubernetes 服务帐户。 第二个主要步骤是将 CSI 驱动程序的工作负载部署到集群。

    为了使用最新的 EBS 卷类别,建议您创建一个引用 gp3 类型的存储类。 相应的 YAML 文件应该使用以下命令应用到集群:

    kubectl apply -f <storageClass.yaml>
    

    有关详细信息,请参阅默认存储类 YAML 示例和备份存储类 YAML 示例。

在您的 Kubernetes 集群中创建命名空间后,您的 EKS 集群应该已可以用于部署和配置 ArcGIS Enterprise。 进行部署时,请记得指示 ArcGIS Enterprise 创建负载均衡器。 配置组织时,请确保引用您创建的存储类。