在项目根目录创建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