您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
63、Kubernetes - Helm 及其它功能性组件 - prometheus、资源限制(3]
发布时间:2023-02-01 22:08:37编辑:雪饮阅读()
Step1
继上篇,我们要达成的目的是php-apache的pod数量达到10个
那么为什么我这里只有2个呢?
因为命令
kubectl run php-apache --image=gcr.io/google_containers/hpa-example --requests=cpu=200m --expose --port=80
这里是说创建的pod的初始化cpu使用资源为200(这里requests是软限制,而limits是硬限制是最大使用资源,但用法不是这样用的)
而对于另外的这个命令
kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10
大概就是说每个pod内cpu资源使用占比为50%时候就开始扩建新的pod,而pod数量最多为10个,但如果压力小了,则pod开始删减,但至少留下一个pod
另外就是说pod删减时候比较慢,因为回收策略觉得如果突然来了大压力,则数量较少的pod们无法承受,所以回收速度不能太积极。
Step2
就不多说了,既然pod扩建不起来(貌似是说我们的cpu性能太好了,所以那个php程序不太好消耗的。。。),我们就试试多开几个客户端(多开几个会话)进行多个压力测试
都执行
kubectl run -i --tty load-generator --image=busybox /bin/sh
并在该命令产生的pod内部运行压力测试
while true; do wget -q -O- http://php-apache.default.svc.cluster.local; done
就是把这两个操作再多开几个会话进行执行
如
[root@k8s-master01 ~]# kubectl run -i --tty load-generator1 --image=busybox /bin/sh
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
If you don't see a command prompt, try pressing enter.
/ #
/ #
/ # while true; do wget -q -O- http://php-apache.default.svc.cluster.local; done
实际上我这边只是又多开了一个会话,然后这个pod数量就噌噌噌的上到了10个了
[root@k8s-master01 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
load-generator-7d549cd44-f8hzl 1/1 Running 0 46m
load-generator1-5bbb6d67c4-lkqnx 1/1 Running 0 3m31s
php-apache-799f99c985-2kjgw 1/1 Running 0 2m25s
php-apache-799f99c985-45xnf 1/1 Running 0 2m25s
php-apache-799f99c985-56ws7 1/1 Running 0 2m40s
php-apache-799f99c985-6fzrb 1/1 Running 0 100s
php-apache-799f99c985-d2z2w 1/1 Running 0 2m25s
php-apache-799f99c985-g8lzq 1/1 Running 0 100s
php-apache-799f99c985-jjbd4 1/1 Running 0 2m40s
php-apache-799f99c985-t4t27 1/1 Running 0 2m25s
php-apache-799f99c985-vng8s 1/1 Running 0 49m
php-apache-799f99c985-wb4fn 1/1 Running 0 2m40s
Step3
那么相反的,如果我们压力减少了,则像Step1所讲的pod数量会缩减,只是缩减速度很慢。
那么我们退出下刚才新开的那个会话里面的pod里面的测试脚本的执行。
退出后等了好久终于有缩减pod的势头。。。
[root@k8s-master01 ~]# kubectl get pod -w
NAME READY STATUS RESTARTS AGE
load-generator-7d549cd44-f8hzl 1/1 Running 0 48m
load-generator1-5bbb6d67c4-lkqnx 1/1 Running 1 5m31s
php-apache-799f99c985-2kjgw 1/1 Running 0 4m25s
php-apache-799f99c985-45xnf 1/1 Running 0 4m25s
php-apache-799f99c985-56ws7 1/1 Running 0 4m40s
php-apache-799f99c985-6fzrb 1/1 Running 0 3m40s
php-apache-799f99c985-d2z2w 1/1 Running 0 4m25s
php-apache-799f99c985-g8lzq 1/1 Running 0 3m40s
php-apache-799f99c985-jjbd4 1/1 Running 0 4m40s
php-apache-799f99c985-t4t27 1/1 Running 0 4m25s
php-apache-799f99c985-vng8s 1/1 Running 0 51m
php-apache-799f99c985-wb4fn 1/1 Running 0 4m40s
php-apache-799f99c985-g8lzq 1/1 Terminating 0 8m36s
php-apache-799f99c985-6fzrb 1/1 Terminating 0 8m36s
php-apache-799f99c985-6fzrb 0/1 Terminating 0 8m36s
php-apache-799f99c985-g8lzq 0/1 Terminating 0 8m36s
php-apache-799f99c985-6fzrb 0/1 Terminating 0 8m41s
php-apache-799f99c985-6fzrb 0/1 Terminating 0 8m41s
这里就不再等了哈,最终是会缩减完成的哈。
关键字词:prometheus,资源限制