ArcGIS Enterprise on Kubernetes 由许多微服务组成,这些微服务将协同工作以适应和支持各种软件功能和工作负载。 这些微服务将被实现为一个或多个 Kubernetes 部署,且在您的组织中将被实例化为 Pod。
管理员可以使用 ArcGIS Enterprise Manager 或 ArcGIS Enterprise Administrator API,通过调整 Pod 数量来手动水平扩展服务部署,并通过调整内存和 CPU 来手动垂直扩展 Web 服务部署。 例如,Pod 分布在多个节点上,因此增加 Pod 数量可以提升对组织的可用性,从而减少发生故障的几率。
此外,管理员可以通过设置 CPU 或内存的阈值来启用自动水平扩缩,从而减少手动管理这些服务的需要。
服务部署的默认值因服务类型而异。 这些值将配置为运行多个 Pod,以提高整体可用性和吞吐量。 但是,在某些情况下,添加了资源的单个 pod 可能具有相同或更高的效率。 服务部署非常灵活,它们允许在两个维度上进行调整。
注:
部署组织的 Kubernetes 集群具有有限数量的计算机节点。 通过手动或自动扩缩许多 GIS 服务,组织可能会达到分配给 ArcGIS Enterprise on Kubernetes 的计算机资源的限制。 如果发生这种情况,请与您的 IT 管理员一起将更多节点添加到 Kubernetes 集群中。 请考虑在您的环境中使用 Cluster Autoscaler 作为解决方案。
要监控组织服务 Pod 的运行状况、状态和使用情况,请使用概述设置页面和服务使用情况统计数据。 凭借服务使用情况统计数据,您可以测量 Web 服务的响应时间以及故障和超时率。 这些指标可以帮助您了解服务的整体性能,并提供必要的输入,以确定是否需要使用更多或更少的资源来调整任何服务 Pod。
注:
服务使用情况统计数据不会按每个服务 Pod 提供 CPU 和内存使用情况。 部署的基于角色的访问控制会禁止采集此类指标。 或者,您可以使用具有权限的外部监控工具来采集除了那些可用指标之外的系统级别指标。
例如,您可以定期查询服务使用情况统计数据,并在达到指定阈值时调用 ArcGIS Enterprise Administrator API 以相应调整资源,从而完全控制服务 Pod 的扩展。
此外,请使用 ArcGIS Enterprise Manager 来分配服务部署资源以扩展 Pod 数量、设置资源限制以及停止和启动服务。
ArcGIS Enterprise Manager 中的服务页面包含以下三个选项卡,这些选项卡对服务部署类型进行了分类:
- GIS 服务
- 系统服务
- 实用程序服务
GIS 服务
GIS 服务可启用组织的地理空间功能。 GIS 服务包括地图、要素和地理编码服务以及托管地图和要素服务。 托管服务将使用系统管理的数据存储进行发布。 这些服务位于“托管”文件夹中。
创建组织后,SampleWorldCities 将立即作为默认地图服务进行提供。 您可以使用此地图服务从组织的地图和应用程序测试和预览服务的功能。
引用用户管理的数据存储的 GIS 服务需要与已注册数据存储的活动连接。 使用托管数据的服务连接到系统管理的数据存储。
可以将 GIS 服务配置为以共享或专用模式运行。
系统服务
系统服务是指能够协助在组织中运行 GIS 服务的工具。 例如,PublishingTools 服务可将数据发布为 Web 服务。 创建组织时,会启动许多系统服务;但是,某些服务必须手动启动,其中包括 ReportingTools、SceneCachingControllers 和 SceneCachingTools。
系统服务将以专用模式运行。
实用程序服务
实用程序服务将启用组织中的特定功能,例如打印地图、定位地址、计算面积、查找方向和执行分析。 一些实用程序服务中包含默认服务,但您也可以使用自己的服务。 要了解如何配置组织以使用实用程序服务,请参阅配置实用程序服务。
实用程序服务将以专用模式运行。
扩缩服务部署
要扩展服务部署,请执行以下步骤:
- 以管理员身份登录到 ArcGIS Enterprise Manager。
- 单击服务按钮。
服务页面随即显示。 在此页面上,服务部署将在以下服务类型选项卡上进行组织:GIS 服务、系统服务和实用程序服务。
- 单击适用的服务选项卡,然后选择要扩展或管理的服务部署。
概述页面提供了服务部署的概述,其中包括当前状态和已启动的 Pod 的数量。 此外,GIS 服务会指示服务以哪种模式运行。
- 在设置页面上,可以选择提供 Pod 数量、资源限制和服务时间的新值。 或者,可以通过在此页面上设置开始和停止值来打开和关闭服务。
- 单击保存。
启用自动扩缩
要设置服务部署的自动扩缩,请执行以下步骤:
注:
要在 ArcGIS Enterprise on Kubernetes 中应用 水平 Pod 自动扩缩,需要使用指标服务器从每个运行节点上的 kubelet 收集 Pod 资源消耗指标。 有关详细信息,请参阅 Kubernetes Metrics Server。
- 以管理员身份登录到 ArcGIS Enterprise Manager。
- 单击服务按钮。
服务页面随即显示。 在此页面上,服务部署将在以下服务类型选项卡上进行组织:GIS 服务、系统服务和实用程序服务。
- 单击适用的服务选项卡,然后选择要扩展或管理的服务部署。
概述页面提供了服务部署的概述,其中包括当前状态和已启动的 Pod 的数量。 此外,GIS 服务会指示服务以哪种模式运行。
- 在扩缩部分的设置页面上,启用自动扩缩。
- 为各种自动扩缩参数提供新值:
- 最小 pod 数 - 分配给服务运行的最小 pod 数。
- 最大 pod 数 - 分配给服务运行的最大 pod 数。
- 设置阈值 - CPU 和内存利用率的阈值。 此值用于确定何时必须扩大或缩小 pod。 利用率是服务部署的所有正在运行的 pod 的平均值,表示为 CPU 和内存资源请求的百分比。
注:
CPU 通常用于确定自动扩缩要求。
您也可以通过在此页面上设置开始和停止值来打开和关闭服务。
- 单击保存。
设置扩缩值
在设置扩缩值时,必须考虑多个因素。 在确定服务的适当值时,请考虑以下一般建议:
由于您为 CPU 指定的值是 CPU 请求的百分比,因此请评估您的 CPU 请求和限值,它们表示为服务部署的最小值/最大值。
默认情况下,服务部署上设置的 CPU 请求的默认值相对较低。 特意这样做的目的是为了使初始整体占用量较小,初始拥有成本较低。 CPU 请求值可能不代表您的服务负载或典型 CPU 利用率。 建议您根据 CPU 确定服务的典型使用模式,并将 CPU 请求增大到此使用范围的百分比。 这将使您设置的百分比值更加真实。
- 可以在 ArcGIS Enterprise Administrator API 中编辑扩缩参数,并通过编辑行为和策略进一步对其进行自定义。