1.HPA
(Horizontal Pod Autoscaler)是用来控制Pod水平伸缩的控制器,HPA周期性检查Pod的度量数据,计算满足HPA资源所配置的目标数值所需的副本数量,进而调整目标资源(如Deployment)的replicas字段。

想要做到自动弹性伸缩,先决条件就是能感知到各种运行数据,例如集群节点、Pod、容器的CPU、内存使用率等等。而这些数据的监控能力Kubernetes也没有自己实现,是通过Metrics Server采集的。
2.Metrics Server
下载官方yaml文件
wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
替换image的下载位置为docker-hub的镜像
sed -r -i '/image:/s@(image: ).*@\1bitnami/metrics-server:latest@' components.yaml
不验证客户端证书
sed -i -r '/kubelet-use-node-status-port/a\ \ \ \ \ \ \ \ - --kubelet-insecure-tls' components.yaml
开放Pod 可以使用宿主机的网络名字空间
sed -i -r '/containers:/i\ hostNetwork: true' components.yaml
拉起Metrics Server
kubectl apply -f components.yaml
验证Pod拉起正常

验证top命令
kubectl top nodes
kubectl top pods
网友评论