Skip to content

v0.22.8

Choose a tag to compare

@uchinda-sph uchinda-sph released this 07 Apr 14:56
· 21 commits to main since this release
53b66f4

What's Changed

Features

  • Standardize Fargate SecurityGroupPolicy exclusions: Introduced granular pod exclusions by label to prevent unintentional "Pod ENI" injection on node-level agents (DaemonSets) like ebs-csi-node, aws-node, and kube-proxy. This resolves startup delays and EBS mounting failures in the kube-system namespace.
  • Automated KEDA-based scaling for non-production environments: Introduced automated "scale to zero" during off-peak hours for non-production clusters to reduce costs.
    • Added is_production and keda_scaling_enabled flags to toggle scaling logic.
    • Automated creation of KEDA ScaledObject resources for system components (metrics-server, cert-manager, karpenter, ebs-csi-controller, aws-load-balancer-controller).
    • Added automated CronJob resources to scale KEDA itself up and down around office hours.
    • Exposed keda_additional_scaling_targets variable for user-defined workloads.

New Variables

Fargate SecurityGroupPolicy Exclusions:

  • fargate_security_group_policy_excluded_apps (default: ["ebs-csi-node"]): List of 'app' label values to exclude.
  • fargate_security_group_policy_excluded_k8s_apps (default: ["aws-node", "kube-proxy"]): List of 'k8s-app' label values to exclude.
  • fargate_security_group_policy_excluded_names (default: ["eks-pod-identity-agent"]): List of 'app.kubernetes.io/name' label values to exclude.

Automated KEDA Scaling (Essentials Module):

  • is_production (default: false): Toggles whether the environment is production (disables aggressive downscaling if true).
  • keda_scaling_enabled (default: true): Toggles scaling for KEDA operator and metric server.
  • keda_additional_scaling_targets (default: []): List of additional, user-defined scaling targets.
  • keda_scaling_timezone (default: "Asia/Singapore"): Timezone for cron schedules.
  • keda_self_scale_down_schedule (default: "0 21 * * 1-5"): Cron schedule to scale down KEDA components.
  • keda_self_scale_up_schedule (default: "30 7 * * 1-5"): Cron schedule to scale up KEDA components.

Enhancements & Upgrades

  • EKS 1.35 Support: Bumped the maximum supported EKS cluster version to 1.35.
  • Karpenter: Bumped Karpenter Helm chart and CRD chart versions to 1.10.0.
  • Tooling:
    • Updated tflint-ruleset-aws plugin to version 0.47.0.
    • Updated pre-commit-terraform and markdown-link-check hooks.

Fixes

  • Karpenter Fargate Profile: Restricted the fargate_node_security_group_policy_for_karpenter to explicitly match app.kubernetes.io/name: karpenter.

Full Changelog: v0.22.7...v0.22.8