阅读原文:https://www.cnblogs.com/wuchangblog/p/14163960.html
1.下载并解压Metrics-Server
|
1
2
|
wget https://github.com/kubernetes-sigs/metrics-server/archive/v0.3.6.tar.gztar -zxvf v0.3.6.tar.gz |
2.修改Metrics-Server配置文件
|
1
2
|
# 文件路径
metrics-server-0.3.6/deploy/1.8+/metrics-server-deployment.yaml |
编辑 metrics-server-deployment.yaml 以下内容
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
---apiVersion: v1kind: ServiceAccountmetadata: name: metrics-server namespace: kube-system---apiVersion: apps/v1kind: Deploymentmetadata: name: metrics-server namespace: kube-system labels: k8s-app: metrics-serverspec: selector: matchLabels: k8s-app: metrics-server template: metadata: name: metrics-server labels: k8s-app: metrics-server spec: serviceAccountName: metrics-server volumes: # mount in tmp so we can safely use from-scratch images and/or read-only containers - name: tmp-dir emptyDir: {} containers: - name: metrics-server # 修改image 和 imagePullPolicy image: mirrorgooglecontainers/metrics-server-amd64:v0.3.6 imagePullPolicy: IfNotPresent # 新增command配置 command: - /metrics-server - --kubelet-insecure-tls - --kubelet-preferred-address-types=InternalDNS,InternalIP,ExternalDNS,ExternalIP,Hostname volumeMounts: - name: tmp-dir mountPath: /tmp # 新增resources配置 resources: limits: cpu: 300m memory: 200Mi requests: cpu: 200m memory: 100Mi |
3.安装Metrics-Server
|
1
|
kubectl apply -f metrics-server-0.3.6/deploy/1.8+/ |
4.查看node信息
|
1
2
3
4
5
|
[root@binghe101 ~]# kubectl top nodeNAME CPU(cores) CPU% MEMORY(bytes) MEMORY% binghe101 141m 7% 1113Mi 65% binghe102 62m 3% 549Mi 32%binghe103 100m 5% 832Mi 48% |
5、测试HPA
1)、创建部署deployment
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
apiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: docker.io/nginx ports: - containerPort: 80 resources: limits: cpu: 500m requests: cpu: 500m |
2)、设定自动扩容的条件
|
1
|
kubectl autoscale deployment hpa-demo --cpu-percent=10 --min=1 --max=10 |
--cpu-percent=10 cpu使用率超过10%
3)、使用ab工具进行压测,随者cpu负载升高,pod数量会增长
|
1
|
ab -c 5000 -n 2000000 http://10.244.1.10:80/ |
10.244.1.10 ---为pod的ip
浙公网安备 33010602011771号