本文主要是介绍05.k8s弹性伸缩,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5.k8s弹性伸缩
k8s弹性伸缩,需要附加插件heapster监控
弹性伸缩:随着业务访问量的大小,k8s系统中的pod比较弹性,会自动增加或者减少pod数量;
5.1 安装heapster监控
1:上传并导入镜像,打标签
ls *.tar.gz
for n in ls *.tar.gz;do docker load -i $n ;done
docker tag docker.io/kubernetes/heapster_grafana:v2.6.0 192.168.111.11:5000/heapster_grafana:v2.6.0
docker tag docker.io/kubernetes/heapster_influxdb:v0.5 192.168.111.11:5000/heapster_influxdb:v0.5
docker tag docker.io/kubernetes/heapster:canary 192.168.111.11:5000/heapster:canary
注释:
cAdvisor:该功能模块是内嵌入到kubelet里面
heapster:采集监控数据,从cAdvisor中去采集数据
influxdb:存储数据
grafana:出图
查看cadvisor得web界面
查看cadvisor端口为4194
直接访问nodeIP加端口访问即可;
2:上传配置文件,
kubectl create -f .
修改配置vim heapster-controller.yaml
containers:
- name: heapster
image: 192.168.111.11:5000/heapster:canary
imagePullPolicy: IfNotPresent #镜像下载策略,设置为不更新
3:打开dashboard验证,访问192.168.111.11:8080
5.2 弹性伸缩
1:修改rc的配置文件,为了方便首先创建一个命名空间即可namespace,这样便于查看监控;
containers:- name: ceshiimage: 192.168.111.11:5000/nginx:1.13ports:- containerPort: 80resources:limits:cpu: 100mrequests:cpu: 100m
2:创建弹性伸缩规则
kubectl autoscale -n test replicationcontroller ceshi --max=8 --min=1 --cpu-percent=8
#autoscale:对deployment,replicaSet或replicationController进行水平自动扩容和缩容的设置
3:测试
ab -n 1000000 -c 40 http://172.16.19.9/index.html
扩容截图,可以发现自动扩容了多台pod数
缩容:没有压力了自动收回其他pod
这篇关于05.k8s弹性伸缩的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!