
wunderio/silta-downscalerSilta downscaler是一套由两个应用组成的工具集,用于通过基于时间的调度暂停Kubernetes部署来节省资源。
downscaler.js:cronjob启动的进程,用于选择集群中带有特殊注解的Ingress资源,标记可缩减的部署。当应用被缩减时,Kubernetes服务类型会更改为externalName并指向占位符网站。index.js:提供占位符网站,允许被缩减的应用恢复扩展。该工具仅适用于非生产集群。
bashPLACEHOLDER_SERVICE_NAME=silta-cluster-placeholder-upscaler \ PLACEHOLDER_SERVICE_NAMESPACE=silta-cluster \ PLACEHOLDER_PROXY_IMAGE=wunderio/silta-downscaler:v1-proxy \ DEFAULT_MIN_AGE=1h \ RELEASE_MIN_AGE='{"^(dev|develop|development)":"2w","^(master|main|stage|staging)":"4w","^dependabot":"1h","^production":"10y"}' \ node downscale.js
downscaler.js终端日志示例:
Marked ingress drupal-project-k8s/cli-test-drupal as down Downscaled deployment drupal-project-k8s/cli-test-drupal from 1 to 0 Downscaled deployment drupal-project-k8s/cli-test-shell from 1 to 0 Suspended cronjob drupal-project-k8s/cli-test-cron-drupal Downscaled statefulset drupal-project-k8s/cli-test-mariadb from 1 to 0
启动占位符网站:
bashnode index.js
触发恢复扩展请求:
bashcurl -X POST "http://localhost:3000/upscale?domain=cli-test.drupal-project-k8s.[cluster-domain] # 成功响应: # {"message":"cli-test-drupal triggered"} # 重复或错误请求响应 # Not Found
index.js终端日志示例:
node ./index.js Example app listening on port 3000! Requesting to scale cli-test-drupal to 1 replica(s) Requesting to scale cli-test-shell to 1 replica(s) Requesting to scale cli-test-mariadb to 1 replica(s) Updated last-update annotation on drupal-project-k8s/cli-test-drupal ingress Unsuspended cronjob drupal-project-k8s/cli-test-cron-drupal Upscaled deployment drupal-project-k8s/cli-test-shell from 0 to 1 Upscaled statefulset drupal-project-k8s/cli-test-mariadb from 0 to 1 Upscaled deployment drupal-project-k8s/cli-test-drupal from 0 to 1 drupal-project-k8s/release=cli-test selector resources are ready drupal-project-k8s/app.kubernetes.io/instance=cli-test selector resources are ready Reset service drupal-project-k8s/cli-test-drupal to original service Someone tried to upscale cli-test.drupal-project-k8s.[cluster-domain] via ingress/cli-test-drupal
在GitHub中标记新发布版本后,Docker Hub集成将自动构建并发布镜像。
bashdocker build --tag 'wunderio/silta-downscaler:v1' --tag 'wunderio/silta-downscaler:v1.X' --tag 'wunderio/silta-downscaler:v1.X.Y' . docker push wunderio/silta-downscaler:v1 docker push wunderio/silta-downscaler:v1.X docker push wunderio/silta-downscaler:v1.X.Y docker build --tag 'wunderio/silta-downscaler:v1-proxy' proxy/ docker push wunderio/silta-downscaler:v1-proxy






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务