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.
- Resource requests (
cpu/memory) must be specified for all PODs. - 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.