Coverage Matrix
Chkk Curated Release Notes | v0.3.0 to latest |
Private Registry | Supported |
Custom Built Images | Supported |
Safety, Health, and Readiness Checks | v0.4.0 to latest |
Supported Packages | Helm, Kustomize, Kube |
EOL Information | Available |
Version Incompatibility Information | Available |
Upgrade Templates | In-Place, Blue-Green |
Preverification | Available |
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 yourSleepInfo
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
’sexcludeRef
. 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 inSleepInfo
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.