CentOS单机安装k8s并部署.NET 6程序 压测 记录

  • A+
所属分类:.NET技术
摘要

前面部分依照CentOS单机安装k8s并部署.NET 6程序来进行,内存、cpu、centos版本一致,之前222元买的三年8M 2c4g腾讯云轻量服务器,这个教程算是写的很详细的了,基本可以一致执行下去就能打开网页

前面部分依照CentOS单机安装k8s并部署.NET 6程序来进行,内存、cpu、centos版本一致,之前222元买的三年8M 2c4g腾讯云轻量服务器,这个教程算是写的很详细的了,基本可以一致执行下去就能打开网页

我卡在了搭建私有仓库部分,里面写的是需要添加insecure-registries,然后重启,但是重启之后我这里一直启动不了(IP已经修改成自己服务器的IP),随后我将添加的insecure-registries部分删掉,然后推送仓库时推送到了自己的docker hub(10.211.55.10:8888替换成自己的hub名称,后面的yaml里面也需要对应修改),并且想着后面做压测,就稍微改了一下代码,在app.Run();前增加了

app.UseEndpoints(endpoints => {     endpoints.MapGet("/get",async content => {         await content.Response.WriteAsync("hello!");     }); }); 

这样,压测我们就直接访问/get

如果按照教程搞完之后,需要对网站进行修改,然后更新到k8s,那么可以在 dotnet publish 之后,将文件复制进容器中

docker ps -a  docker cp /root/publish/. a4951a90cc85:/app/  docker commit -m="添加get" a4951a90cc85 wangpengzong/k8s-netcore-demo:1.1  docker push wangpengzong/k8s-netcore-demo:1.1 

然后去修改yaml文件里面的image,将image: wangpengzong/k8s-netcore-demo修改成image: wangpengzong/k8s-netcore-demo:1.1,然后保存

执行kubectl delete -f deploy.yaml删除之前创建的yaml和对应pod等
再执行一下kubectl create -f deploy.yaml --validate一下即可,执行之后需要重新查看新的端口号kubectl get svc -n k8s-netcore

压测我是用的是go-stress-testing(压测工具如何选择? ab、locust、Jmeter、go压测工具【单台机器100w连接压测实战】),安装时可能出现安装不了的问题,例如
A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.,更改一下代理go env -w GOPROXY=https://goproxy.cn,direct即可

   -c 表示并发数     -n 每个并发执行请求的次数,总请求的次数 = 并发数 * 每个并发执行请求的次数     -u 需要压测的地址     # clone 项目    git clone https://github.com/link1st/go-stress-testing.git     # 进入项目目录    cd go-stress-testing     # 运行     go run main.go -c 1 -n 100 -u https://www.baidu.com/ 

简单压测,如果直接访问网站go run main.go -c 100 -n 100 -u http://ip:port,结果是这样的
CentOS单机安装k8s并部署.NET 6程序 压测 记录
某运维大佬评价
CentOS单机安装k8s并部署.NET 6程序 压测 记录

访问刚才的/get `go run main.go -c 100 -n 100 -u http://ip:port/get```,结果是这样
CentOS单机安装k8s并部署.NET 6程序 压测 记录

此次给出的评价是
CentOS单机安装k8s并部署.NET 6程序 压测 记录