当前位置: 首页 > 工具软件 > sgo > 使用案例 >

go项目打包交给k8s发布并管理步骤

葛海阳
2023-12-01

在项目根目录创建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
ADD conf/app.conf /root/conf/app.conf
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 
 1007  kubectl apply -f 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 
 1013  kubectl apply -f 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 
 1023  kubectl apply -f go-deployment.yaml 
 1024  kubectl get pods -n guanghe-test
 1025  kubectl get   pods  -n guanghe-test
 1026  kubectl get   svc  -n guanghe-test

 类似资料: