helm-k8s.jpg
Cover image for gouthampratapa

Goutham Pratapa Verified userVerified user

Sr. DevOps

Appsmith

More HA Options in Appsmith Helm Charts

We are thrilled to announce the latest updates to our Helm charts for Appsmith, just in time for the new year. These enhancements are designed to boost performance, ensure high availability, and improve the overall user experience.

Key Highlights of the Update:

New Features:

Pod Disruption Budgets (PDBs):

  • Pod Disruption Budgets help manage how many pods should be available at any given time. This is especially useful if you are running Appsmith on spot instances, where nodes can be suddenly evicted. PDBs ensure that node evictions respect these budgets, keeping your pods running with high availability.
  • Learn more about PDBs here.

Topology Spread Constraints:

  • Topology Spread Constraints ensure that pods are evenly distributed across your nodes, preventing all pods from being scheduled on a single node. This helps maintain high availability for Appsmith.

Enhancements:

Support for KEDA Scaled Objects:

  • We now support KEDA, an intelligent event-based pod auto-scaling tool. With KEDA, you can set custom alerts (e.g., with Prometheus) to scale pods based on specific events. This ensures your nodes scale efficiently, especially with tools like Karpenter in place.
  • Learn more about KEDA here.

How to Update:

Update your Helm charts to the latest version (3.0.11) with the following commands:

helm repo update
helm show values appsmith-ee/appsmith --version 3.0.11 > values.yaml

Here are some sample changes you might include in your values.yaml file:

podDisruptionBudgets:
  minAvailable: 1

keda:
  enabled: false
  pollingInterval: 30
  cooldownPeriod: 60
  minReplicaCount: 1
  maxReplicaCount: 6
  fallback:
    failureThreshold: 3
    replicas: 4
  triggers: []

# topologySpreadConstraints:
#   - maxSkew: 1  # Distribute pods evenly
#     topologyKey: kubernetes.io/hostname  # Use hostname as topology domain
#     whenUnsatisfiable: ScheduleAnyway  # Schedule pods even if distribution can't be even

After updating your values.yaml file as needed, apply the update with:

helm upgrade -i <release-name> appsmith-ee/appsmith -f values.yaml

We know how important seamless integration and operational continuity are, and we are here to support you through the update process.

Thank you for choosing Appsmith! We appreciate your continued support and look forward to enhancing your experience with these updates.

Happy coding!