十三、kubernetes学习—HPA
HPA(Horizontal Pod Autoscaler)
- HPA v1为稳定版自动水平伸缩,只支持CPU指标
- V2为beta版本,分为v2beta1(支持CPU、内存和自定义指标)
- v2beta2(支持CPU、内存、自定义指标Custom和额外指标ExternalMetrics)
kubectl create deployment hpa-nginx --image=nginx:latest --dry-run=client -oyaml
kubectl expose deployment hpa-nginx --port=80
kubectl autoscale deployment hpa-nginx --cpu-percent=10 --min=1 --max=10
# 测试
while true; do wget -q -O- http://10.110.254.92 > /dev/null; done
必须安装metrics-server或其他自定义metrics-server
必须配置requests参数
不能扩容无法缩放的对象,比如DaemonSet
十四、kubernetes学习—Label和Selector
1、Label:对k8s中各种资源进行分类、分组,添加一个具有特别属性的一个标签
2、Selector:通过一个过滤的语法进行查找到对应标签的资源
当Kubernetes对系统的任何API对象如Pod和节点进行“分组”时,会对其添加Label(key=value形式的“键-值对”)用以精准地选择对应的API对象。而Selector(标签选择器)则是针对匹配对象的查询方法。注:键-值对就是key-value pair。
例如,常用的标签tier可用于区分容器的属性,如frontend、backend;或者一个release_track用于区分容器的环境,如canary、production等。