系统要求

在此版本上运行 ArcGIS Enterprise on Kubernetes 11.3 所需的最低硬件和基础架构如下所述。 在离线环境中进行部署时,上述要求同样适用。

支持的环境

如无特殊说明,系统要求和规范适用于所有受支持的环境。 对于此版本,支持以下环境:

建议您在 Kubernetes 集群中禁用自动升级。 当您的集群启用自动升级后,节点将自动更新为 Kubernetes 的最新版本,而对于 ArcGIS Enterprise 而言可能尚不支持这些未来的版本。

警告:
为了确保完全兼容和支持,请在升级 ArcGIS Enterprise on Kubernetes 之前确认您的 Kubernetes 版本在支持范围内。

每个环境的以下版本均已经过测试并受系统支持:

支持的环境受支持的 Kubernetes 版本

云端的托管 Kubernetes 服务(AKS、EKS、GKE)

Red Hat OpenShift Container Platform

(包含 ROSA 和 ARO)[4.14]

RKE 和 RKE2

1.27 - 1.29

注:

ArcGIS Enterprise on Kubernetes 仅在采用 x86_64 架构(64 位)的 CPU 上受支持。 工作节点必须基于 Linux

容器注册表

您可以从私有 Docker Hub 组织访问 ArcGIS Enterprise on Kubernetes 的容器镜像。 Esri 将为正在部署 ArcGIS Enterprise on Kubernetes 的人员提供对此组织资料档案库的访问权限。 在离线环境中进行部署时,您将需要将镜像从私有 Docker Hub 组织推送到可通过集群访问的您自己的私有容器注册表

获取 Esri 许可

要在部署过程中授权 ArcGIS Enterprise 组织,您需要 JSON 格式的 ArcGIS Enterprise on Kubernetes 许可文件(.json 文件)。 要获得此许可文件,请通过采取许可操作的权限访问 My Esri

worker 节点

ArcGIS Enterprise on Kubernetes 与三个架构配置文件之一一起部署。 关于资源(CPU内存)请求和限制以及整体计算要求的建议会根据所选配置文件而有所不同。 下面提供了对每个配置文件的建议。

以下是每个架构配置文件的最低节点要求。 需要额外的 worker 节点来支持组织中扩展的工作负载和启用功能。

建议每个工作/代理节点至少具有 8 个 CPU 和 32 GiB 的内存。 为了补偿与 ArcGIS Enterprise on Kubernetes 相关联的容器映像的下载,还建议最小根磁盘大小为 100 GiB。

架构配置文件最低工作/代理节点最低 CPU 总数最低 GiB 总数

增强可用性

5

40

160

标准可用性

4

32

128

开发

3

24

96

ArcGIS Enterprise on Kubernetes 部署中的 Pod 分布在集群中的所有工作节点上。 工作节点时钟必须同步到公共源,这样集群内的时间才会一致。 在扩展部署或将其他 ArcGIS Enterprise 部署添加到集群中时,您需要相应地配置硬件。 这可能需要增加每个节点的默认最大 Pod 数。 最初创建的 Pod 的数量随每个架构配置文件而变化。 当您水平扩缩或添加功能时,Pod 的数量会增加。

安全性

ArcGIS Enterprise on Kubernetes 的安全要求如下所述。

基于角色的访问控制

必须在 Kubernetes 集群上启用基于角色的访问控制 (RBAC)。 您无需 cluster-admin 权限即可部署 ArcGIS Enterprise on Kubernetes。 如果您没有 cluster-admin 权限,则用户必须拥有最小命名空间管理权限。 您可以通过在命名空间中创建 RoleBinding 来为用户分配默认 ClusterRole。 有关详细信息,请参阅 RBAC 角色资源

注册数据文件夹

要使用基于文件的数据发布项目(例如从文件地理数据库发布的项目),您需要将数据放置在 NFS 共享的位置。 必须将此 NFS 共享注册到 ArcGIS Enterprise 组织,以免在发布时将数据复制到服务器。 要成功注册共享文件夹,您需要向其他人授予文件级别读取权限。 您可以通过允许网络访问 Pod IP 范围来保护网络或基础架构级别的 NFS 共享。

网络

网络要求包括完全限定域名 (FQDN) 和负载均衡器或反向代理,负载均衡器或反向代理通过标准 HTTPS 端口 (443) 将流量从客户端定向到已配置的后端目标。 下面提供了每一项的详细信息。

完全限定域名

ArcGIS Enterprise on Kubernetes 需要 FQDN(例如 map.company.com)。 您可以使用现有的域名系统 (DNS) 服务来创建 CNAME 或记录,或者与云提供商的 DNS 服务(如 Amazon Route 53)集成。 您可以在部署后创建 DNS 记录,但是在部署期间必须提供 FQDN。 在此版本中,您在部署后无法修改 FQDN。

负载均衡器

负载均衡器可用于将流量引导至您的 ArcGIS Enterprise on Kubernetes 部署。 您可以从部署脚本配置第 4 层和第 7 层负载均衡器,无需手动配置。 与部署集成的负载均衡器从部署脚本将流量直接导入到集群内的 NGINX 入口控制器 pod。

或者,您可以使用 ArcGIS Enterprise on Kubernetes Web Adaptor 将流量导向到您的部署,这需要将传入流量发送到特定端口上部署的 worker 节点。

可以从部署脚本调配以下第 4 层负载均衡器,无需手动配置:

  • Azure 负载均衡器(公共或内部)- 可以在部署脚本中指定预配置的静态公共 IP 地址和 DNS 标注。
  • AWS 网络负载均衡器(面向 Internet 或内部)- 可以使用其他负载均衡服务;但是,必须在每个集群节点上手动对其进行配置。
    注:

    在公共子网或私有子网中创建网络负载均衡器需要用到 AWS 负载均衡器控制器加载项

  • Google Cloud Platform TCP 负载均衡器(面向 Internet 或内部)- 可以在部署脚本中指定一个预配置的静态公共 IP 地址。

可以使用底层 Kubernetes 服务对象上的注释来定制上面指定的负载均衡器。 例如,您可以在 AWS 中的网络负载均衡器上启用跨区域负载均衡,或将 Azure Blob 负载均衡器放入特定资源组中。 部署脚本中包含的 deploy.properties 模板文件包含如何在静默部署期间指定这些注释的示例。

部署脚本可以用于利用第 7 层负载均衡功能,如 Web 应用程序防火墙,或者满足组织对已部署应用程序的入口要求,使用预先存在的入口控制器。 可以直接从部署脚本部署或集成以下第 7 层负载均衡器:

  • AWS 应用程序负载均衡器
    注:

    在公共子网或私有子网中创建应用程序负载均衡器需要用到 AWS 负载均衡器控制器加载项

  • Azure 应用程序网关
  • Google Cloud Platform 应用程序负载均衡器

在集群级别实现的入口控制器将使用这些负载均衡器来实现集群级别的入口规则,以将传入的流量导向 ArcGIS Enterprise on Kubernetes 部署。 要在静默部署之前从部署脚本实现这些负载均衡器,您可以修改 layer-7-templates 文件夹中的模板 YAML 文件,将其保存到客户端工作站,并为 CLUSTER_INGRESS_CONTROLLER_YAML_FILENAME 参数指定此位置。 有关详细信息,请参阅集群级入口控制器

使用自我管理的负载均衡器或反向代理(如 NGINX)时,必须将 X-Forwarded-Host 标头设置为面向客户端的 URL 的主机标头值,以确保流量正确路由到 ArcGIS Enterprise 组织的 URL。 在 NGINX 中,可以使用以下指令实现这一点:proxy_set_header X-Forwarded-Host $host;

注:

ArcGIS Enterprise 不支持通过反向代理/负载均衡器进行 SSL 卸载。 如果您的配置使用反向代理,则其必须重定向到 ArcGIS Web Adaptor 或通过 HTTPS 直接重定向到组织。

IP 要求

提前规划集群网络对于确保实现成功部署、满足适当的扩展要求和提供升级能力而言至关重要。 ArcGIS Enterprise on Kubernetes 最初会部署 47-66 个 Pod,具体取决于架构配置文件。 随着其他功能的添加、部署的扩展以及升级过程的推进,Pod 的数量将会增加。

系统会向每个 Pod 分配一个唯一的 IP 地址,且 Pod 可以根据集群网络配置,从与主机网络(叠加网络)或主机子网的地址空间逻辑不同的地址空间获取其 IP 地址。 例如,如果您将集群配置为在 Azure 中使用 Kubenet(默认),则 Pod 将从逻辑不同的地址空间接收 IP 地址,并且将能够使用 NAT 访问 Azure 资源。

Kubernetes 支持容器网络接口 (CNI) 以及 AKS 和 EKS 等平台,并且会将平台特定的 CNI 插件用于集群网络。 例如,EKS 集群将默认使用虚拟私有云 (VPC) CNI。 如果集群配置有 CNI 插件,则 Pod 将接收来自主机子网以及 VPC/VNet 中可用的相应 IP 池的 IP 地址。

如果主机子网中没有足够数量的可用 IP,则部署将失败,或您将无法扩展部署。 例如,如果一个 EKS 集群配置有 2 个子网和一个 /26 IPv4 地址前缀(每个子网配置 64 个可用的 IPv4 地址),则 Pod 的可用 IP 地址不能超过 126 个。 虽然您也许能够在此集群中部署 ArcGIS Enterprise on Kubernetes,但您将无法将部署扩展为拥有 80 个要素服务 Pod,因为此扩展要求将超出可用 IP 地址的数量。

系统存储

对于系统存储,ArcGIS Enterprise on Kubernetes 需要持久卷 (PV),持久卷可通过存储类动态配置,或由管理员在创建组织之前静态配置。 了解有关静态配置动态配置的详细信息。

ArcGIS Enterprise 的有状态的工作负载包括关系数据库管理系统和 NoSQL 数据库。 建议您将 PV 配置于低延迟的块存储设备上,例如 EBS 卷(使用 EKS 时)、Azure 磁盘(使用 AKS 时)、永久性磁盘(使用 GKE 时)及 vSphereVolume 或 Longhorn 卷(部署到自我管理的集群时)。

由于这些 PV 用于存储组织的数据和设置,因此您必须使用限制性安全策略为其提供保护。 对于基于网络文件存储(例如 NFS、Azure 文件和 GlusterFS)的 PV,请确保设置权限以防止未经授权的访问。 对于块存储(例如 EBS、Azure 磁盘、vSphereVolume 和 Longhorn 卷),请确保存储卷的访问权限仅提供给需要的用户。

以下是存储卷及其预期用途的说明:

注:

持久卷要求针对 11.3,可能与之前的版本有所不同。

  • 内存中 - 存储临时系统资源。
  • 项目包 - 存储大型上传文件和文件包,以支持发布工作流。
  • 对象 - 存储已上传和保存的内容、托管切片、图像和场景图层缓存以及地理处理输出。
  • 队列 - 存储异步地理处理作业。
  • 关系 - 存储托管要素数据和管理内容(例如自定义和配置设置)。 部署需要两项内容。
  • 时空大数据和索引 - 存储日志和索引以及托管要素数据。
    注:

    此版本不支持时空托管要素图层。

  • 使用度量数据 - 存储 GIS 服务使用情况数据。

考虑组织的存储要求,并相应地定义每个 PV 的大小。

客户端工作站

部署脚本为 bash 脚本,其可从远程客户端工作站运行。 运行脚本的用户必须对脚本具有读取和写入权限,才能将临时资源文件写入子目录。

注:

由于已知的兼容性问题,Linux 仿真器不支持用于部署 ArcGIS Enterprise on Kubernetes

设置客户端工作站时,需要以下内容(已提供下载链接):

  • Kubectl
  • 特定于环境的命令行界面 (CLI)

Kubectl 是运行部署脚本的先决条件。 使用 Kubectl 安装和设置来下载 Kubernetes 命令行工具。

注:

kubectl 客户端版本和 Kubernetes API 服务器版本之间相差不得超过一个小版本。 例如,kubectl 1.28 与 Kubernetes 集群版本 1.27-1.29 兼容。

在管理部署时,您可以使用特定于环境的命令行工具。 使用以下链接下载特定于环境的 CLI:

TLS 证书

ArcGIS Enterprise on Kubernetes 使用基于 NGINX 的入口控制器。 此入口控制器的作用域为命名空间,并且已被部署为仅侦听 ArcGIS Enterprise 命名空间的入口流量。 需要证书通用名称和主题备选名称中包含 FQDN 的传输层安全性 (TLS) 证书。 可以使用 CA 签名证书或自签名证书;但是出于安全原因,建议使用 CA 签名证书。 这是入口控制器的默认 TLS 证书。 部署脚本可提供以下证书选项,以将 TLS 证书应用于入口流量:

  • 包含私钥和证书的现有 TLS 机密
  • 包含私钥和证书的 .pfx 文件
  • PEM 格式的私钥和证书
  • 自签名证书

ArcGIS Enterprise on Kubernetes 支持将由 Kubernetes cert-manager 颁发和管理的 TLS 证书用于入口控制器。 您必须将此证书存储在与 ArcGIS Enterprise 相同的命名空间中的 TLS 机密中。 然后,可以在部署过程中或创建 ArcGIS Enterprise 组织后引用 TLS 机密。

ArcGIS Pro

  • ArcGIS Pro 3.3 是 ArcGIS Enterprise on Kubernetes 11.3 的配套版本。 要从可用的最新功能中获益,请使用 ArcGIS Pro 3.3。
  • 要将服务发布到 ArcGIS Enterprise on Kubernetes,需要使用 ArcGIS Pro 2.8 或更高版本。
  • 要使用 ArcGIS Enterprise on Kubernetes 中的服务,需要使用 ArcGIS Pro 2.7 或更高版本。

从企业级地理数据库中注册数据存储项时,地理数据库版本必须为 10.9.0.2.8 或更高版本。

注:
要从可用的最新功能中获益,请将您的地理数据库版本升级到 11.3.0。

有关详细信息,请查看客户端与地理数据库的兼容性