After creating taints, you must configure tolerations for Kyvos worker pods through Kyvos Manager in the kyvos-compute-worker-job.yaml.template file. This is applicable for all clouds (AWS, Azure and GCP).
Prerequisites for creating taints (GCP)
If you do not have taints created for GCP, perform the steps mentioned below in this section to run Kyvos worker pods on a specific node pool.
You must have the required IAM permissions to add taints:
Editor or roles/container.admin or a custom role with sufficient permissions.
A separate Node pool is required to run system pools. Create a Node pool with the ‘n2-highmem’ configuration with Autoscaling disabled and count as 1.
Note
The node pool must be up and running before scheduling a semantic model process.
For configuration, two separate node pools are required with different taints added to each node pool. For more information, refer to Adding taints to Node pool.
Adding Taints to a New Node Pool (GCP)
When creating a new node pool, you can add taints during the creation process through:
Command-Line:
gcloud container node-pools create NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--node-taints=KEY=VALUE:NoSchedule \
--num-nodes=NUMBER_OF_NODESConsole:
Follow steps to create a new node pool.
Specify the taints in the Node taints section.
Configure Tolerations
After adding taints to Node pool, configure tolerations in the kyvos worker's YAML specification. Tolerations allow pods created by the job to be scheduled on nodes with matching taints.
Login to Kyvos Manager.
Navigate to the Utilities > Manage Configuration Files.
To configure taints as per your requirement, modify the kyvos-compute-worker-job.yaml.template.
Download the kyvos-compute-worker-job.yaml.template file. In the kyvos-compute-worker-job.yaml.template file, you will find the below section.
tolerations:
key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"Copy the tolerations part and replace it in the kyvos-compute-worker-job.yaml.template file under the KYVOSMANAGER_PATH/cloud/gcp/terraform/kyvos-k8s/ section.
Note
The path varies for each cloud. In the above-step, the path is mentioned for GCP.
After configuring the tolerations, navigate to Kyvos and Ecosystem > Compute Cluster and then click Save to reapply the configuration to make it effective.
Add taints to a node pool
Taints allow you to mark nodes with specific restrictions, so pods will only be scheduled on them if they have corresponding tolerations.
Adding Taints to an Existing Node Pool
Option 1: Using gcloud Command
List your clusters and node pools to identify the target:
gcloud container clusters list
gcloud container node-pools list --cluster CLUSTER_NAMEUpdate the node pool to add taints:
gcloud container node-pools update NODE_POOL_NAME \
--cluster=CLUSTER_NAME \
--node-taints=KEY=VALUE:NoScheduleReplace KEY and VALUE with the required taint details.
Verify the added taints using the kubectl describe nodes
Option 2: Using the Google Cloud Console
Go to the GKE Clusters page.
Click your cluster's name.
Navigate to the Node Pools tab.
Click the pencil/edit icon next to the node pool you want to modify.
Add the taints under the Node taints section.
Save the changes.
Additional Notes
If you want to add multiple taints, separate them with commas: --node-taints=KEY1=VALUE1:NoSchedule,KEY2=VALUE2:NoSchedule