准备集群

在部署 ArcGIS Enterprise on Kubernetes 之前,查看以下关于准备集群的指导。

命名空间

ArcGIS Enterprise on Kubernetes 需要自己专有的命名空间。 必须在运行部署脚本之前创建命名空间。 在单个集群中运行多个 ArcGIS Enterprise on Kubernetes 部署需要每个部署具有唯一的命名空间。

资源配额

注:

如果要升级到 11.3,则必须首先将命名空间中的资源配额值更新为 11.3 要求。

ArcGIS Enterprise on Kubernetes Pod 具有已定义的 CPU 和内存的请求和限制。 如果命名空间包含 ResourceQuota 对象,则配额必须高于所有 Pod 的请求和限制的总和。 这些值将根据您选择的架构配置文件而有所不同,如下所述。

注:

如果您要为组织授予高级功能许可,则必须将以下资源配额值再增加 10%,以支持添加的功能。

以下建议值是每个架构配置文件的最低要求。 请考虑您可能需要增加这些值以适应组织的可伸缩性要求。

增强可用性配置文件:

spec: 
    hard: 
      limits.cpu: "230" 
      limits.memory: 394Gi 
      requests.cpu: "36" 
      requests.memory: 188Gi

标准可用性配置文件:

spec: 
    hard: 
      limits.cpu: "218" 
      limits.memory: 359Gi 
      requests.cpu: "32" 
      requests.memory: 130Gi

开发配置文件:

spec: 
    hard: 
      limits.cpu: "144" 
      limits.memory: 249Gi 
      requests.cpu: "20" 
      requests.memory: 86Gi

命名空间网络要求

如果使用 Kubernetes NetworkPolicies,请确保在 ArcGIS Enterprise 命名空间中允许不间断的 Pod 到 Pod 和 Pod 到服务的通信。

此外,确保命名空间中的 Pod 有权访问 Kubernetes API 服务器。 可通过默认命名空间中名为 Kubernetes 的服务访问 API 服务器。 ArcGIS Enterprise Pod 使用完全限定域名 (FQDN) kubernetes.default.svc.cluster.local 查询 API 服务器。

注:

cluter.local 是集群的默认域。

Pod 安全性标准

Pod 安全性标准是一个 Kubernetes 功能,允许管理员在 Pod 在集群内部调度之前对其实施一套安全性规则。 默认情况下,有三种级别:特权、基线和受限。 这些标准的警告和实施按照命名空间进行控制。

设置基线或受限实施级别时,如果 Pod 不符合这些级别的安全性要求,则不允许该 Pod 运行。 有关各个级别的详细信息,请参阅以下内容:

  • 特权 - 特权是不受限制的 Pod 安全性标准,提供大量权限不受限制的访问权限。 ArcGIS Enterprise 可在此级别下运行,无需任何配置修改。 此级别允许集群内部已知的权限提升,因此不建议在此级别运行。
  • 基线 - 基线是更受限制的 Pod 安全性标准,此级别阻止 Pod 访问主机文件系统,并且存在对功能和其他卷类型的限制。 通过修改运行的应用程序上下文外部的基础工作节点,并于部署之前在部署属性文件中将 ALLOW_PRIVILEGED_CONTAINERS 属性设置为 false,ArcGIS Enterprise 即可在基线实施级别下运行。

    为了匹配工作节点组的灵活性,管理员必须使用脚本化进程,通过直接修改启动模板的方式,在每个新配置的节点上将 vm.max_map_count 设置增加到 262144

  • 受限 - 受限 Pod 安全性标准对 Pod 安全性施加最严格的限制,此标准需要显式配置大多数 securityContext 属性。 在此版本中,ArcGIS Enterprise 无法在受限级别运行。

有关详细信息,请参阅 Pod 安全性准入Pod 安全性标准

指标服务器

要在 ArcGIS Enterprise on Kubernetes 中应用 水平 Pod 自动扩缩,需要使用指标服务器从每个运行节点上的 kubelet 收集 Pod 资源消耗指标。 有关详细信息,请参阅 Kubernetes Metrics Server