(1)镜像准备
mirrorgooglecontainers/hpa-example:latest
(2)部署这个服务
kind: Deployment
apiVersion: apps/v1
metadata:
name: hpa-example
labels:
app: hpa-example
spec:
replicas: 1
selector:
matchLabels:
app: hpa-example
template:
metadata:
labels:
app: hpa-example
spec:
containers:
- name: container-hpa-example
image: 'mirrorgooglecontainers/hpa-example:latest'
ports:
- name: tcp-0
containerPort: 80
protocol: TCP
resources:
limits:
cpu: 500m
memory: 500Mi
requests:
cpu: 500m
memory: 500Mi
kind: Service
apiVersion: v1
metadata:
name: hpa-example
labels:
app: hpa-example
spec:
ports:
- name: tcp-hpa-example0
protocol: TCP
port: 80
targetPort: 80
selector:
app: hpa-example
clusterIP: 10.68.46.115
type: ClusterIP
(3)查看配置的hpa
阈值分别是50%和10%,最小副本为1,最大副本为8
(4)测试。起一个测试容器,请求svc的地址
kubectl run -i --tty load-generator --image=busybox /bin/sh
while true; do wget -q -O- 10.68.46.115; done
(5)然后查看hpa,发现容器的cpu飙升,很快就达到了阈值,然后副本数升到最大数8
(6)然后我们停止执行那个测试进程。慢慢会发现,容器的副本数恢复到1了,也就是最小阈值副本数