• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

部署go项目到k8s集群

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go项目

项目代码

package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "welcome jeff!!!",
		})
	})
	r.Run(":8888")
}

Dockerfile

FROM docker.sharkgulf.cn/public/alpine-ca:3.10

RUN mkdir -p /app /app/log

COPY ./bikesvc /app/

WORKDIR /app

VOLUME [ "/app/log" ]

RUN chmod +x ./bikesvc

EXPOSE 8888

ENTRYPOINT ["./bikesvc"]

go交叉编译linux可执行文件

CGO_ENABLED=0 GOOS=linux  go build -a -installsuffix cgo -o . .

docker编译镜像

// docker build -t 标签:版本 go可执行文件位置
docker build -t docker.sharkgulf.cn/shark-bs/gin:v1 .

k8s部署

因为用的是本地镜像测试,所以在每一台node节点创建生成镜像

bs-namespace.yaml

# 名称空间
kind: Namespace
apiVersion: v1
metadata:
  name: sg-bs
  labels:
    release: stable

bs-service.yaml

# NodePort模式service
apiVersion: v1
kind: Service
metadata:
  name: bs-service
  namespace: sg-bs
spec:
  selector:
    release: stable
  type: NodePort
  ports:
    - name: http
      port: 8888
      targetPort: 8888
      protocol: "TCP"
    - name: https
      port: 443
      targetPort: 443
      protocol: "TCP"

bs-deployment.yaml

# Deployment控制器
kind: Deployment
apiVersion: apps/v1
metadata:
  name: bs-deployment
  namespace: sg-bs
spec:
  replicas: 1
  selector:
    matchLabels:
      release: stable
  template:
    metadata:
      labels:
        release: stable
    spec:
      containers:
        - name: bikesvc
          image: docker.sharkgulf.cn/shark-bs/gin:v1
          imagePullPolicy: Never  # 用本地镜像

NodePort模式访问

http://192.168.0.216:31720/ping
{"message":"welcome jeff!!!"}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go-new函数使用发布时间:2022-07-10
下一篇:
[Go]golang调用第三方smtp发送邮件发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap