扩缩容

heapster从1.11被废弃,之后版本建议使用 Metrics-server

部署metrics_server

部署metrics_server插件(k8s集群环境v1.25.3)

第一步:拉取镜像

docker pull k8simage/metrics-server:v0.6.1
docker tag k8simage/metrics-server:v0.6.1 k8s.gcr.io/metrics-server/metrics-server:v0.6.1

第二步:部署metric server

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

第三步:修改metrics-server的启动参数

- --kubelet-insecure-tls=true

第四步:测试

kubectl top node --sort-by='memory'
kubectl top node --sort-by='cpu'

扩缩容

方法一:手动扩缩容

kubectl scale deployment python --replicas=0

方法二:基于metres server /heapster自动扩缩容

仅支持基于cpu/memory

第一步:环境打架

  • 创建deploy
kubectl create deploy test --image=1209233066/tools-alpine --dry-run=client -oyaml -- tail -f /dev/null

需要添加request

        resources:
          requests:
            cpu: 10m
            memory: 10Mi
  • 创建hpa

    kubectl autoscale deployment test --cpu-percent=90 --min=1 --max=5 --dry-run=client -oyaml
    

第二步:进入容器进行压测cpu

# 计算圆周率
echo "scale=5000;a(1)"|bc -l -q

同时打开另一个终端观察cpu的变化和容器数量变化

kubectl get hpa test --watch
kubectl top pods -l app=test 

自定义指标扩缩容

来源 《kubernetes权威指南》 p95
prometheus-adapter
第一步:部署promethes
第二步:部署prometheus-adapter
第三步:在hpa资源中定义指标来源

posted @ 2021-10-14 14:20  mingtian是吧  阅读(37)  评论(0编辑  收藏  举报