k8s使用metrics-server实现hpa弹性伸缩
警告
本文最后更新于 2020-05-30 17:09,文中内容可能已过时。
集群版本:

1.下载metrics-server
直接下载yaml文件:
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.6/components.yaml
或者下载源代码进入到deploy目录
metrics-server-xxx/deploy/
2.修改镜像地址
sed -i 's#k8s.gcr.io#registry.aliyuncs.com/google_containers#' components.yaml
3.安装
kubectl apply -f components.yaml
报错1:

默认通过dns解析主机名,解析失败,可以通过修改coredns配置解决
或者修改启动参数,手动指定ip类型
–kubelet-preferred-address-types=InternalIP

安装:
kubectl apply -f components.yaml
报错2:

证书问题,添加跳过认证的参数–kubelet-insecure-tls
4.验证
kubectl top ndoe

5.配置deplotment
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: hpa-test
labels:
app: hpa
spec:
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-c
image: nginx:1.14.2
ports:
- containerPort: 80
resources:
requests:
cpu: 0.005
memory: 100Mi
limits:
cpu: 0.010
memory: 100MGi
6.创建hpa资源
kubectl autoscale --max=10 --min=1 --cpu-percent=5 deployment hpa-test

7.压测

开始测试:
while true;do curl -I 10.244.1.90;done
可以看到配置已经生效


请我喝杯水

