Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 Node Affinity, 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 EKS, refer to https://docs.aws.amazon.com/eks/latest/userguide/node-taints-managed-node-groups.html .

Add Label to Node Group

Ensure that the nodes have a custom label for Kloudfuse, e.g., dedicated=kfuse.

Configure

...

Helm Custom Values

Tolerations

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:

Code Block
  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).

...

Node Affinity

In the default values.yaml, each Kfuse service has a affinity.nodeAffinity section. Copy and overwrite the the nodeAffinity sections in the custom_values.yaml. Using the example label configuration above, add the following in each nodeAffinity section:

Code Block
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: dedicated
            operator: In
            values:
            - kfuse