栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

README

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

README

**

1书写go文件

**

2、书写go的dockerfile文件

`FROM golang:1.16 as builder

ENV GOOS linux

ENV GOPROXY=https://goproxy.cn

WORKDIR $GOPATH/src/gin-demo

COPY . .

RUN go mod download

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main .

FROM scratch

ENV GIN_MOD=release

WORKDIR /gin-demo

COPY --from=builder /go/src/gin-demo/main .

EXPOSE 9090

ENTRYPOINT ["./main"]`

3、将镜像上传到私域或者是dockerHub里面

docker tag gin-demo:latest 843665303/gin-demo:v1.0

docker push 843665303/gin-demo:v1.0

4、搭建k8s集群

4-1、新建文件namespace.yaml文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/069d2e907ce14dadb19f2f1fe03ab9b4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAamlhbmd4aWFvY2FuMTIz,size_18,color_FFFFFF,t_70,g_se,x_16#pic_center)

执行命令:

kubectl apply -f namespace.yamlkubectl get ns //查看存在的命名空间kubectl delete namespaces hello // 删除命令

生成命名空间,如果后面的service和deployment都是命名空间,则参数需要增加 -n参数表达式

4-2、生成deployment.yaml文件

![在这里插入图片描述](https://img-blog.csdnimg.cn/81aebfb6155841769388f6a61b437a36.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAamlhbmd4aWFvY2FuMTIz,size_18,color_FFFFFF,t_70,g_se,x_16)

生成deployment,注意apiversion上面的apps不要忘记了

containerPort: 9090 这里暴露的是containers端口,就是访问containers端口从而能够访问到容器指定的端口

kubectl apply -f deployment.yamlkubectl get deployment -n hello//查看deployment,-n表示获取具体的命名空间下kubectl delete deployment hello-world-app -n hello # 删除

4-3、部署service

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/d6904f6fd17f4fa38124c3a41f5232ea.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAamlhbmd4aWFvY2FuMTIz,size_20,color_FFFFFF,t_70,g_se,x_16)

kubectl apply -f service.yamlkubectl get svc -n hello //查看servicekubectl get pods -n gin-demo //获取命名空间下一共有多少个pods的在使用

通过访问url:http://127.0.0.1:30001/hello直接访问到服务

犯错记录

1、COPY --from=builde 来自上面的第一个FROM,当时没有注意到

2、gin里面启动带有地址进行启动了,导致一直容器外面访问不到容器内部的http服务。gin.RUN(“localhost:9090”)这样进行启动了3、windows里面的docker启动kubernates比较久可能是网络超时的原因可以通过采用如下是访问如下的链接地址

github地址

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757347.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号