Coverage Matrix

Chkk Curated Release Notesv0.3.0 to latest
Private RegistrySupported
Custom Built ImagesSupported
Safety, Health, and Readiness Checksv0.4.0 to latest
Supported PackagesHelm, Kustomize, Kube
EOL InformationAvailable
Version Incompatibility InformationAvailable
Upgrade TemplatesIn-Place, Blue-Green
PreverificationAvailable

Kube-green Overview

Kube-green is an open-source Kubernetes operator designed to optimize energy efficiency by automatically scaling down workloads during off-peak hours. It introduces the SleepInfo custom resource to schedule downtime for Deployments, StatefulSets, and CronJobs, saving their state in Secrets to ensure accurate restoration. This reduces cloud costs and environmental impact by eliminating idle resource usage overnight or during weekends. Kube-green centralizes and automates these actions, providing consistent enforcement of energy-saving policies without manual intervention. It ensures smooth operation continuity when workloads are reactivated.

Chkk Coverage

Curated Release Notes

Chkk tracks and summarizes kube-green release notes, highlighting changes relevant to your deployments. Updates such as the removal of Kubernetes version support or new CRD fields are clearly flagged, enabling quick, informed actions. For example, Chkk highlights significant updates like kube-green v0.6.0’s introduction of StatefulSet support. This proactive summary ensures engineers are aware of impactful changes without needing to manually review upstream release notes.

Preflight & Postflight Checks

Chkk’s preflight checks verify cluster compatibility with kube-green’s version requirements, such as minimum supported Kubernetes versions, and detect deprecated fields or APIs in your SleepInfo configurations. Postflight checks confirm the successful upgrade by validating operator health, proper reconciliation, and correct execution of scheduled actions. They ensure no disruptions occur, such as missed sleep/wake events or incorrectly restored replica counts. These automated checks significantly reduce risks associated with kube-green updates.

Version Recommendations

Chkk advises when your kube-green version approaches end-of-life or becomes incompatible with newer Kubernetes releases. Chkk analyses upstream release cadence, change-logs, and real-world production mileage reported by the community, to recommend specific stable and tested upgrade paths. For instance, if your kube-green version lacks critical bug fixes or has compatibility risks with current Kubernetes releases, Chkk provides clear guidance on selecting a suitable target version. This targeted advice helps maintain operational stability and support coverage.

Upgrade Templates

Chkk offers structured Upgrade Templates for kube-green, clearly outlining in-place and blue-green upgrade methods. Templates provide step-by-step procedures tailored for installations via Helm, plain manifests, or GitOps practices, including critical verification steps and rollback instructions. They detail safeguards like pausing schedules during upgrades to avoid unintended downtime. This structured approach minimizes human error, ensuring smooth, controlled kube-green upgrades.

Preverification

Chkk’s preverification process rehearses kube-green upgrades in an isolated test environment, using real configurations and workloads. This approach identifies potential issues such as webhook validation errors, resource changes, or altered scheduling logic. It also verifies accurate execution of sleep/wake cycles, ensuring the upgrade won’t disrupt production workloads. Integrating preverification into deployment pipelines provides confidence and reduces risks during actual upgrades.

Supported Packages

Chkk supports kube-green across multiple installation methods, including Helm, plain YAML manifests, Kustomize, and Operator Lifecycle Manager. It respects customizations like private registries, specific namespaces, and GitOps-managed deployments, suggesting precise, minimal changes necessary for upgrades. Chkk seamlessly integrates with existing deployment strategies, ensuring continuity and consistency throughout upgrade processes.

Common Operational Considerations

  • GitOps Sync Conflicts: Configure GitOps tools like Argo CD to recognize kube-green scaling actions, preventing repeated automatic rollbacks. Consider sync windows or ignoring replica count changes during scheduled downtimes.
  • Autoscalers and Scale-To-Zero: Align Horizontal Pod Autoscaler (HPA) minimum replicas with kube-green schedules. Set HPA minimum replicas to zero or disable autoscaling on workloads managed by kube-green to prevent conflicts.
  • Excluding Essential Components: Explicitly exclude critical infrastructure pods and deployments from kube-green schedules using SleepInfo’s excludeRef. Accidental inclusion can result in unintended outages or lost monitoring data.
  • Scheduled CronJobs vs. Sleeping Pods: Synchronize CronJob execution with kube-green’s sleep windows. Suspend jobs during downtime or adjust schedules to ensure essential tasks run successfully when services are active.
  • Time Zones and Sleep Accuracy: Always specify timeZone explicitly in SleepInfo resources to avoid scheduling errors caused by defaults or daylight savings shifts. Verify initial executions closely to confirm accurate timing.
  • Manual Overrides and Wake-Up Gaps: Avoid manual scaling during scheduled downtimes to prevent state inconsistencies upon wake-up. Ensure SleepInfo resources have defined wake-up times to avoid indefinitely scaled-down states requiring manual intervention.

Additional Resources