Kloudfuse can be installed on a shared Kubernetes cluster. Within the shared cluster, it is highly recommended to have a dedicated node group for running Kloudfuse.
Using Taints and Tolerations to Deploy Kloudfuse on the Dedicated Node Group
Add Taint to Node Group
Ensure that the nodes have NoSchedule
taint, e.g., dedicated=kfuse:NoSchedule
taint. It is recommended that the taint is configured through the cloud provider, rather than kubectl
. This ensures that the taints are persisted across node restart or replacement.
On GKE, refer to https://cloud.google.com/kubernetes-engine/docs/how-to/node-taints#console_1 .
On EKS, refer to https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html .
Configure Tolerations on the Helm Custom Values
In the default values.yaml
, each services Kfuse service has a tolerations
section that is defaulted to []
. Copy and overwrite the tolerations
sections in the custom_values.yaml
. Using the example taint configuration above, add the following in each tolerations section:
tolerations: - key: "dedicated" operator: "Equal" value: "kfuse" effect: "NoSchedule"
FAQ
Kloudfuse pods are getting scheduled and run on other nodes (not on the nodes dedicated for Kloudfuse).
Ensure that all nodes have taints configured. Nodes groups for other workload need to have the corresponding taints configured. Taints are treated like a denylist by Kubernetes. Kubernetes can schedule pods on Untainted nodes.