k8s使用metrics-server实现hpa弹性伸缩

集群版本:

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

可以看到配置已经生效

 

 

 

 

 

相关文章

发表新评论