K8S 如何实现将git代码下拉到指定的容器路径中

 

 gitRepo 是 kubernetes Volume类型中的一种,gitRepo volume可以实现将git代码下拉到指定的容器路径中。 

备注:实现此功能,Pod运行的节点都必需要安装git。换句话说,如果你的Pod指定在哪个节点上运行,则此节点必需安装git;如果不指定,则所有的节点必需安装git。否则会提示:“找不到可执行文件...”错误

关于git的安装可查看 https://www.cnblogs.com/caoxb/p/11257549.html   

 

完整示例:

Pod配置文件 tomcat.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: myweb
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: myweb
    spec:
      containers:
      - name: myweb
        image: 192.168.38.23/library/tomcat:7.0.69-jre7  # 这里是我本地搭建的Harbor镜像地址
        ports:
        - containerPort: 8080
        volumeMounts:
        - mountPath: /usr/local/tomcat/webapps/k8sdemo.war  
          name: git-volume
          subPath: test/k8sdemo.war          
      volumes:       
      - name: git-volume
        gitRepo:
          repository: "http://192.168.38.22:8088/root/k8sdemo.git"  # 这里是我本地搭建的Gitlab项目地址
          revision: "master"

 $ kubectl create -f tomcat.yaml

配置说明:

  • image:        jre+tomcat的镜像地址;
  • repository:  gitlab上传的war包下载地址,如果是private,格式如下:http://用户名:密码@192.168.38.22:8088/root/test.git;
  • mountPath:挂载的POD路径,这里是把war放在Pod中tomcat的webapps目录下;
  • subPath:    gitlab项目的war包路径。例如:test/k8sdemo.war  test表示gitlab的项目名称。
  • revision:     gitlab项目分支的名称

 

Server配置文件 tomcatsvc.yaml

apiVersion: v1
kind: Service
metadata:
  name: myweb
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 30088
  selector:
    app: myweb

$ kubectl create -f tomcatsvc.yaml

 

转载于:https://www.cnblogs.com/caoxb/p/11257545.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值