在 Amazon Web Services (AWS) 中部署 ArcGIS Enterprise on Kubernetes 之前,您必须准备一个满足 ArcGIS Enterprise 系统要求的 Amazon Elastic Kubernetes Service (EKS) 集群。
准备 EKS 集群包括在多个支持环境中通用的步骤(例如设置 Kubernetes 集群和对应节点)以及环境特定的步骤(例如配置 AWS Identity and Access Management (IAM) 角色)。
请仔细查看以下步骤,如要了解有关如何准备环境的更多详细说明,请参阅 AWS 文档。
- 创建 Amazon Virtual Private Cloud (VPC)。
您必须创建一个同时满足 Amazon EKS 要求和 ArcGIS Enterprise on Kubernetes 可伸缩性要求的 VPC。
大型 Kubernetes 部署可能会使用数千个 IP 地址。 创建集群后,无法修改 VPC 的无类别域际路由选择 (CIDR) 范围和关联子网。
您所需的 IP 地址数量主要取决于集群内部工作负载的数量,但是可伸缩性测试显示为每个子网配置的子网掩码至少应为 /18。 这样可使每个子网有 16,000 个可用的 IP 地址。
- 可以选择性地启用机密的信封加密并创建 Key Management Service (KMS) 密钥。
建议您为 EKS 集群存储在 ectd 中的机密启用信封加密。 为此,在 Amazon EKS 中必须具有对称加密密钥。
注:
为集群启用信封加密后,无法将其禁用。 如果需要,可以在现有集群上启用该功能。
- 创建 EKS 集群。
创建 EKS 集群时,您将引用在之前的步骤中创建的 VPC、子网、IAM 角色和 KMS 密钥。 ArcGIS Enterprise on Kubernetes 在 AWS 上不受支持,因为基础节点不可配置。
集群的 Kubernetes 版本应该与系统要求中列出的版本匹配。
- 创建节点组 IAM 角色。
创建集群后,您必须创建一个工作节点组。 创建节点组需要一个额外的 IAM 角色,用于定义相关 EC2 实例能够访问的 AWS 服务。
- 创建节点组。
创建后,集群不具有任何可调度的工作节点。 要将任意工作负载部署到集群,至少需要一个节点组来启动相关的 Pod。 建议使用托管节点组以简化未来的集群升级。
- 更新 kubectl 配置。
创建集群后,可以使用 AWS 命令行界面 (CLI) 将 cluster-admin 连接信息拉取到 kubeconfig 文件。 使用以下命令:
aws eks update-kubeconfig -name <CLUSTER_NAME> --region <REGION>
- 创建集群 IAM 角色。
Amazon EKS 集群需要一个 IAM 角色,该角色用于定义集群可以访问的资源。 除了 AWS 概述的要求之外,ArcGIS Enterprise on Kubernetes 没有任何附加要求。
- 创建 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 所需的管理工作。
- 安装负载均衡器控制器加载项。
在 EKS 中,管理员可以通过多种方式将流量路由到集群。 要使用负载均衡器,管理员必须安装负载均衡控制器。 AWS 负载均衡控制器管理 Kubernetes 集群的 AWS 弹性负载均衡器。
在部署过程中,管理员可以通过部署脚本预配置负载均衡器。 当脚本运行时,负载均衡控制器会创建网络负载均衡器(内部或外部)、目标组、安全组以及其他设置来管理对工作节点的路由。
或者,管理员也可以使用集群级别的入口控制器来路由流量,但这需要额外的步骤。 当管理员使用集群级入口控制器时,脚本不会预配置应用程序负载均衡器 (ALB)。 请参阅在 EKS 上使用应用程序负载平衡的额外步骤。 使用集群级入口控制器时,负载均衡控制器将创建 ALB、目标组、安全组以及其他设置来管理对工作节点的路由。
- 安装 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 创建负载均衡器。 配置组织时,需引用您创建的存储类。