CentOS單機安裝k8s並部署.NET 6程序 壓測 記錄
前面部分依照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=//goproxy.cn,direct
即可
-c 表示並發數
-n 每個並發執行請求的次數,總請求的次數 = 並發數 * 每個並發執行請求的次數
-u 需要壓測的地址
# clone 項目
git clone //github.com/link1st/go-stress-testing.git
# 進入項目目錄
cd go-stress-testing
# 運行
go run main.go -c 1 -n 100 -u //www.baidu.com/
簡單壓測,如果直接訪問網站go run main.go -c 100 -n 100 -u //ip:port
,結果是這樣的
某運維大佬評價
訪問剛才的/get `go run main.go -c 100 -n 100 -u //ip:port/get“`,結果是這樣
此次給出的評價是