Kubernetes学习|kubernetes学习(15)---HPA、Label和Selector

十三、kubernetes学习—HPA
【Kubernetes学习|kubernetes学习(15)---HPA、Label和Selector】HPA(Horizontal Pod Autoscaler)
Kubernetes学习|kubernetes学习(15)---HPA、Label和Selector
文章图片

  • 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=80kubectl 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等。

    推荐阅读