在 Kubernetes 中使用 ab 工具测试 HPA

发布时间 2023-12-08 18:13:47作者: dongzhiwei-blog

在 Kubernetes 中使用 ab 工具测试 HPA

Kubernetes 提供了强大的横向扩展能力,可以根据负载动态调整 Pod 的副本数量。本文将介绍如何使用 ab 工具测试 Horizontal Pod Autoscaler(HPA)。

下载并安装 ab 工具

首先,确保你的系统上安装了 ab 工具。在 Ubuntu 上,可以使用以下命令安装:

sudo apt update
sudo apt install apache2-utils -y

在 CentOS 上,可以使用以下命令安装:

sudo yum install httpd-tools -y

创建测试 Deployment 和暴露服务

使用以下命令创建一个测试的 Deployment,并将其暴露为服务:

kubectl create deployment nginx --image=nginx --requests='cpu=100m,memory=256Mi' --limits='cpu=200m,memory=512Mi'
kubectl expose deployment nginx --port=80 --type=NodePort

设置 HPA

设置 Horizontal Pod Autoscaler(HPA),指定 CPU 的目标使用率为 50%,最小和最大 Pod 数量分别为 1 和 10:

kubectl autoscale deployment nginx --cpu-percent=50 --min=1 --max=10

使用 ab 工具进行测试

执行 ab 命令来测试服务的性能:

ab -n 100000 -c 10000 http://<Node-IP>:<NodePort>/

结果验证

使用一下命令可以观测新起一个pod

kubectl get pod