Important Update: Migrating to New Implementation of Okteto Pod Tolerations and Node Selectors

Hi community,

We’re excited to announce an upcoming update to the Okteto chart that improves how you configure and manage pod tolerations and node selectors. In Okteto chart 2.0, we are removing the current tolerations configuration within values.yaml in favor of the new approach using globals.tolerations, globals.nodeSelectors , buildkit.tolerations , and buildkit.nodeSelectors.

This change offers several benefits:

  • Improved Clarity: globals.tolerations and globals.nodeSelectors sit alongside other global configurations for Okteto components, making the structure of your values.yaml file more intuitive.
  • Enhanced Flexibility: This approach allows for fully defining custom tolerations and node selectors to be applied to all Okteto components, rather than a single toleration and node selector.

Migration Steps:

To prepare for this change, we recommend migrating your existing toleration configurations to the new format. Here’s how:

  1. Locate your tolerations configuration: Your tolerations configuration might look something like this within values.yaml:

YAML

tolerations:
  oktetoPool: okteto
  buildPool: build
  devPool: dev
  1. Move the configuration to globals and buildkit: Write down the values you used for the tolerations configurations, and simply set those values in the corresponding fields under the appropriate sections of globals.tolerations and globals.nodeSelectors, or under the buildkit.tolerations and buildkit.nodeSelectors configurations in your values.yaml.

YAML

globals:
  tolerations:
    okteto: # Replaces **tolerations.oktetoPool**
    - key: "okteto-node-pool"
      operator: "Equal"
      value: "<value in tolerations.oktetoPool>"
      effect: "NoSchedule"
    dev: # Replaces **tolerations.devPool**
    - key: "okteto-node-pool"
      operator: "Equal"
      value: "<value in tolerations.devPool>"
      effect: "NoSchedule"
  nodeSelectors:
    okteto:
      okteto-node-pool: "<value in tolerations.oktetoPool>"
    dev:
      okteto-node-pool: "<value in tolerations.devPool>"

buildkit: # Replaces **tolerations.buildPool**
  tolerations:
  - key: "okteto-node-pool"
    operator: "Equal"
    value: "<value in tolerations.buildPool>"
    effect: "NoSchedule"
  nodeSelectors:
    okteto-node-pool: "<value in tolerations.buildPool>"

Looking Ahead:

Starting in Okteto chart 1.21, the tolerations configuration within values.yaml will be marked as deprecated, and a warning message will be displayed during deployments. We encourage you to migrate your configurations before Okteto chart 2.0.

As always, we value your input! If you have any questions or suggestions regarding this change, feel free to leave a comment below or reach out to us on the usual channels.

Thanks,

The Okteto Team