1.利用goland將專案打包成二進位制檔案:
在專案根目錄建立build.bat檔案,目的是為了打包成二進位制檔案:
@echo off
echo build platform %1
set goos=%1
go build -a -tags netgo main.go
####目錄說明
```$xslt
├── build.bat window編譯指令碼/build.bat linux
├── conf 工程配置檔案
├── controller 控制器
├── jet 存放sql模板
├── model 模型
├── router 路由配置
├── script 指令碼
│ ├── docker docker-compose 配置檔案
│ ├── k8s ks配置檔案
│ └── sql 資料庫配置檔案
├── service 業務**
├── test 測試**
└── util 工具**
2.建立dockfile檔案將二進位制檔案打成映象並推到允許外部訪問的docker所在伺服器(一般是開啟2375埠號)
from alpine
add main /root/main
run chmod o+x /root/main
run apk add --no-cache tzdata
env tz asia/shanghai
workdir /root
entrypoint ["/root/main"]
expose 8080:8080
3.進入允許外部訪問docker的伺服器將images打標籤推送k8s管理的私倉上
docker images
docker tag aff784e5f69f reg:5000/go-management:0.1.4
docker push reg:5000/go-management:0.1.4
4.進入k8s的master節點進行部署該應用pods
cd /home/k8s
1001 ls
1002 cd dev
1003 ls
1004 cd go-management/
1005 ls
1006 vim go-deploy.yaml
1008 kubectl get pods -n guanghe
1009 kubectl describe pod guanghe-go-management-784dcdc588-spqs8 -n guanghe
1010 ls'
1011 ls
1012 vim go-deploy.yaml
1014 kubectl get pods -n guanghe
1015 cd ..
1016 ls
1017 cd tes
1018 cd test/
1019 ls
1020 cd go-management/
1021 ls
1022 vim go-deployment.yaml
1024 kubectl get pods -n guanghe-test
1025 kubectl get pods -n guanghe-test
1026 kubectl get svc -n guanghe-test
k8s灰度更新 k8s實現灰度發布
灰度發布在實際生產部署中是經常被使用的方式,常規的方法是手動從前端lb 負載均衡 上將後端伺服器摘掉,然後,停服務,最後上傳 完成軟連線更新。在使用ci cd工具時,這個過程變得自動化了,我們只需要通過jenkins這個功能強大的開源持續整合和部署工具,就可以聯合gitlab 或 gogs 來實現自...
k8s搭建WebUI Dashborad管理介面
k8s的webui管理介面可以更好更直觀更便捷的讓我們去管理我們的k8s集群。1 vim kubernetes dashboard.yaml此時會建立很多資源,其中service是訪問時的 訪問service就可以訪問到dashboard的webui,但是預設生成的service訪問型別是clust...
小白學k8s 4 使用k8s發布go應用
使用ingress 部署ingress 配置ingress 策略 新增本機的host 參考搭建了一套k8s,嘗試發布乙個go應用 映象打包 之前已經打包過乙個go的映象了,這次就直接跳過了,打包記錄 編寫yaml檔案 kind deployment metadata spec replicas 2 ...