前面部分依照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
,结果是这样的
某运维大佬评价
访问刚才的/get `go run main.go -c 100 -n 100 -u http://ip:port/get```,结果是这样
此次给出的评价是