步骤3:测试HPA
现在,我们可以测试HPA是否按预期工作。为此,我们可以使用Apache Bench(ab)来模拟负载。我们将使用以下命令运行ab:
代码语言:javascript复制ab -n 5000 -c 100 http://<NODE_IP>:<NODE_PORT>/
其中,<NODE_IP>是您的节点的IP地址,<NODE_PORT>是Service分配的NodePort。该命令将在5000个请求中使用100个并发客户端发送HTTP GET请求。
使用以下命令获取NodePort:
代码语言:javascript复制kubectl get svc nginx-service
然后,使用以下命令获取节点的IP地址:
代码语言:javascript复制kubectl get nodes -o wide
在发送请求后,使用以下命令检查HPA的状态:
代码语言:javascript复制kubectl get hpa
您将看到类似于以下输出:
代码语言:javascript复制NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
nginx-hpa Deployment/nginx-deploy 0%/50% 1 10 1 2m
在开始测试时,Pod副本数为1。在发送一些请求后,HPA将启动新的Pod副本,以处理负载。在完成测试后,HPA将收缩Pod副本数量,以减少资源的浪费。
步骤4:删除资源
测试完成后,您可以使用以下命令删除Deployment、Service和HPA:
代码语言:javascript复制kubectl delete deployment nginx-deployment
kubectl delete service nginx-service
kubectl delete hpa nginx-hpa
这些命令将删除部署、服务和HPA,以便您可以从集群中删除示例应用程序。