Using Kubernetes Tolerations

To use the Taints and Tolerations feature of Kubernetes, you must define the tolerations override property for each Apigee hybrid component. The following components support defining tolerations:

  • ao
  • apigeeIngressGateway
  • cassandra
  • cassandraSchemaSetup
  • cassandraSchemaValidation
  • cassandraUserSetup
  • connectAgent
  • istiod
  • logger
  • mart
  • metrics
  • mintTaskScheduler
  • redis
  • runtime
  • synchronizer
  • udca
  • Watcher

See the Configuration property reference for more information about these components.

Apply Tolerations to individual components by adding the tolerations: configuration properties in your overrides file and then upgrading the Helm chart for the component.

See the Apigee Helm charts reference for a list of which Helm charts manage each hybrid component.

For example, to apply the tolerations to the Apigee operator deployment

  1. Add the tolerations: properties to ao: in your overrides file:
    ao:
      tolerations:
      - key: "key1"
        operator: "Equal"
        value: "value1"
        effect: "NoExecute"
        tolerationSeconds: 3600
    
  2. Apply the change to the apigee-operator chart:
    helm upgrade operator apigee-operator/ \
      --install \
      --create-namespace \
      --namespace apigee-system \
      --atomic \
      -f overrides.yaml
    

To apply the tolerations to the Cassandra StatefulSet:

  1. Add the tolerations: properties to cassandra: in your overrides file:
    cassandra:
      tolerations:
      - key: "key1"
        operator: "Equal"
        value: "value1"
        effect: "NoExecute"
        tolerationSeconds: 3600
    
  2. Apply the change to the apigee-datastore chart:
    helm upgrade datastore apigee-datastore/ \
      --install \
      --create-namespace \
      --namespace  \
      --atomic \
      -f overrides.yaml