Manage pod placement

In ArcGIS Enterprise on Kubernetes, you can use ArcGIS Enterprise Manager to set node affinity and tolerations to manage the placement of data store and service pods. See Pod placement for more information about the benefits and use cases for applying node affinity and tolerations.

It is recommended to apply tolerations before tainting node groups. This ensures you avoid unintentionally evicting pods that do not yet have matching tolerations, causing disruption to your services

In most environments, you can group your workloads using node pools or node groups. It is recommended that you apply labels and taints to groups of nodes rather than individual nodes.

Access pod placement settings

How you access pod placement settings in ArcGIS Enterprise Manager depends on the type of pod you are configuring.

Note:

Raster analysis and notebook service workloads that need to run GPU-enabled nodes require specific node affinity and toleration settings. For more information on these settings, see Configure GPU-enabled nodes for raster analysis workloads and View and edit runtimes for notebook service workloads.

Access data store pod placement settings

You can configure pod placement settings for system managed data store pods when you create an organization or for an existing organization. To access the pod placement settings for existing data store pods, complete the following steps:

  1. Sign in to ArcGIS Enterprise Manager as an administrator.
  2. Click the Data stores button on the sidebar.
  3. Select the data store that you want to manage, and click the Pod placement tab.

To ensure data integrity while data store pods are rescheduled, applying a pod placement policy will put the organization into read-only mode until the data store pods are restarted on their new nodes. It is recommended that you update the pod placement policy for data store nodes during a scheduled maintenance period to reduce operational impacts.

Access GIS, system, and utility service pod placement settings

To access pod placement settings for GIS, system, and utility service pods, complete the following steps:

  1. Sign in to ArcGIS Enterprise Manager as an administrator.
  2. Click the Services button on the sidebar.
  3. Select the service that you want to manage, and click the Pod placement tab.

Configure pod placement settings

To configure pod placement settings, complete the following steps:

  1. To add a node affinity rule to pods, provide the following information in the Node affinity section and click Add:
    • Type—The type of node affinity. The following are the available types:
      • Preferred (PreferredDuringSchedulingIgnoredDuringExecution)—The pod prefers to be scheduled on a node that satisfies the rule.
      • Required (RequiredDuringSchedulingIgnoredDuringExecution)—The pod must be scheduled on a node that satisfies the rule.
    • Key—The key of the node label or annotation that the rule should match.
    • Operator—The operator for the rule. The following are the available operators:
      • In—The node label or annotation must be in the list of values specified.
      • Not in—The node label or annotation must not be in the list of values specified.
      • Exists—The node must have the specified label or annotation.
      • Does not exist—The node must not have the specified label or annotation.
    • Value—The list of values to match against the node label or annotation.
  2. To add tolerations to pods, provide the following information in the Tolerations section and click Add:
    • Effect—The taint effect that the toleration should match. The following are the available effects:
      • No schedule—New pods are not scheduled to the tainted node without a matching toleration.
      • Prefer no schedule—New pods try to avoid being scheduled on the tainted node without a matching toleration, but it is not guaranteed.
      • No Execute—Any pods without a matching toleration are evicted immediately after the node is tainted. New pods are not scheduled to the tainted node without a matching toleration.
    • Key—The key of the taint that the toleration should match.
    • Operator—The operator to use for the toleration. The following are the available operators:
      • Equal—The pod tolerates a taint with the specified key and value.
      • Exists—The pod tolerates any taint with the specified key.
    • Value—The value of the taint that the toleration should match if the operation is set to equal.
  3. Click Save.

    To edit node affinity rules and tolerations, click the Edit button Edit next to each listing. To delete them, click the Delete button Delete.

    Note:

    Pods already running on nodes will not be evicted if a change is made and the rule or toleration is no longer satisfied.