Skip to content

Helm Using Helm Charts

Helm is a package manager for Kubernetes. It is used to manage your applications, i.e. install, update, configure and uninstall. Most applications that support running on Kubernetes has a corresponding Helm chart that you can use to deploy the application on any cluster. However, because EKC is a multi-tenant cluster, there are some policies that you need to follow when using native Helm charts.

  1. Resource requests (cpu/memory) must be specified for all PODs.
  2. Global resources (e.g., ClusterRole, ClusterRoleBinding) cannot be modified or created by users.

1. Configuring Resource Requests/Limits in Helm Charts

All Pods must define resources requests and limits. This you have to set in your Helm chart’s values.yaml:

Example: CPU/Memory configuration

# values.yaml  
resources:  
  requests:  
    cpu: "500m"   # Must be specified
    memory: "512Mi" # Must match limits.memory  
  limits:  
    cpu: "1000m"  # Optional
    memory: "512Mi"  

2. Avoiding Global Resources

Users cannot create/modify cluster-scoped resources (e.g., ClusterRole, ClusterRoleBinding).

Use namespaced resources instead:

  • Replace ClusterRole with Role.
  • Replace ClusterRoleBinding with RoleBinding.

RISE charts repository

The default rise-charts repository is hosted here:

https://gitlab.ice.ri.se/ice/helm

Fork our repository and modify the charts to suit your needs.