https://github.com/wolf27w/kubernetes-cronhpa-controller
根据README中的描述,我们需要先安装kubernetes-cronhpa-controller,并认证。下载后进入目录后执行
#安装 CRD [wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl apply -f config/crds/autoscaling.alibabacloud.com_cronhorizontalpodautoscalers.yaml #安装RBAC [wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl apply -f config/rbac/rbac_role.yaml [wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl apply -f config/rbac/rbac_role_binding.yaml #部署 kubernetes-cronhpa-controller [wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl apply -f config/deploy/deploy.yaml #验证 [wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl get deployments kubernetes-cronhpa-controller -n kube-system -o wide NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR kubernetes-cronhpa-controller 1/1 1 1 148m kubernetes-cronhpa-controller registry.aliyuncs.com/acs/kubernetes-cronhpa-controller:v1.4.0-d8a6afa7-aliyun app=kubernetes-cronhpa-controller,controller-tools.k8s.io=2.0
验证成功后说明已经安装好了,下面我们找一个服务测试一下看看是否可以做到定时伸缩,下面是我的定时伸缩文件内容:
apiVersion: autoscaling.alibabacloud.com/v1beta1 kind: CronHorizontalPodAutoscaler metadata: labels: controller-tools.k8s.io: "1.0" name: base-gateway-service-crontab-hpa #定时伸缩名称 namespace: beijing-qa #伸缩的命名空间 spec: scaleTargetRef: apiVersion: apps/v1 #注意1.21版本使用apps/v1,1.18版本用的是apps/v1beta2 kind: Deployment name: base-gateway-service #需要伸缩的服务名称 jobs: - name: "scale-down" schedule: "30 */1 * * * *" #缩时间 targetSize: 2 #保留副本数 runOnce: true - name: "scale-up" schedule: "0 */1 * * * *" #伸时间 targetSize: 4 #共伸缩副本数
下面验证一下,每分钟的零秒伸缩到4个副本,30秒到时候缩到2个副本,因为在伸缩的时候服务启动时间过长,所以这里的伸缩一直在创建和删除。
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# kubectl get pod -n beijing-qa base-gateway-service-66685f77fd-7qs8z 1/1 Running 0 19m base-gateway-service-66685f77fd-gwzk8 0/1 ContainerCreating 0 1s base-gateway-service-66685f77fd-l25qx 1/1 Running 0 105m base-gateway-service-66685f77fd-qszrv 0/1 Terminating 0 61s base-gateway-service-66685f77fd-rbnzr 0/1 ContainerCreating 0 1s base-gateway-service-66685f77fd-rdjvd 1/1 Terminating 0 61s
这是在举例,在生产环境中不会这样,如果你的活动时间很短,但是也要在活动的前三十分钟启动起来准备好环境,如果时间过短服务还没启动就会造成用户体验不佳。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏