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
K8S 如何实现将git代码下拉到指定的容器路径中的更多相关文章
- git仓库下拉和上传
git仓库比较方便,可以实现白天在公司写的代码,下班之前上传到git仓库,晚上在另一台电脑上直接下拉下来,其实感觉和开发用的svn差不多 在另一篇博客里面写到,需要先在git里面新增好仓库和成员之后, ...
- 使用git checkout 指定git代码库上的指定分支
因为曾经一直是在用svn,到狼厂,大家都用Git. 哥的开发环境:IntelliJ 说说简单的操作过程吧. 1.检出Git代码库 cd到指定文件夹 git clone http://..../andr ...
- code -结合实例总结代码下拉流程
1.查看手机需要的版本 1)如果手机本来就可以正常工作,可以使用指令 zhangshuli@zhangshuli-MS-:~/Desktop/day_note/plan$ adb shell getr ...
- 下拉框——把一个select框中选中内容移到另一个select框中遇到的问题
在使用jQuery实现把一个select框中选中内容移到另一个select框中功能时遇到了一个问题,就是点击按钮时内容可以到另一个select框中,但是到了另一个select框中的内容却很快闪退回原来 ...
- git 从远端拉取指定分支和推送本地某个分支到远端
如题,可以直接从远端拉取某个分支,也可以直接将本地某个分支推送到远端. 原文链接:https://www.cnblogs.com/hamsterPP/p/6810831.html
- jQuery下拉框联动(JQ遍历&JQ中DOM操作)
1.下载jQuery,并导入:https://blog.csdn.net/weixin_44718300/article/details/88746796 2.代码实现: <!DOCTYPE h ...
- uni-app 下拉至指定高度固定view
uni.createSelectorQuery().select(‘#salyt’).boundingClientRect(function(rects){ console.log(rects) va ...
- git 常用操作,下拉,提交,更新,还原
注: origin为远程仓库名称 master为远程分支名称 //第一次提交所有代码 1.git clone 项目url 2.复制.git 和文件到根目录 3.git add . 4.git co ...
- iOS 下拉刷新-上拉加载原理
前言 讲下拉刷新及上拉加载之前先给大家解释UIScrollView的几个属性 contentSize是UIScrollView可以滚动的区域. contentOfinset 苹果官方文档的解释是&qu ...
随机推荐
- git 创建标签 tag
1. git tag <name>就可以打一个新标签 加上-a参数来创建一个带备注的tag,备注信息由-m指定.如果你未传入-m则创建过程系统会自动为你打开编辑器让你填写备注信息. git ...
- Zabbix 设置自动添加主机两种方法(自动注册、自动发现)
在实际生产环境中,我们可能需要将很多台主机添加到 Zabbix Server 里,我们进行手动添加的话,会比较麻烦.费时,而且还容易出错.所以一般我们会设置主机自动注册.这样就比较方便. 官方文档链接 ...
- C#, CSV,Generic, 泛型,导出
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...
- Prism——Window 必须是树的根目录。不能将 Window 添加为 Visual 的子目录。
这个错误就是作为Region的view添加时选成了界面,正确的应在添加时选择用户控件. 解决方法: 这俩处的Window改为UserControl即可.
- 最简单取得外网IP
#coding=utf-8import urllib2import re print re.search('\d+\.\d+\.\d+\.\d+',urllib2.urlopen("http ...
- Mysql 报错:#1067 - Invalid default value for 'update_time
由于 字段UPDATE_TIME 的字段类型是 timestamp ,默认值是:'0000-00-00 00:00:00' 即:`UPDATE_TIME` timestamp NOT NULL DEF ...
- Windows动态链接库:dll与exe相互调用问题
本文回顾学习一下Windows动态链接库:dll与exe相互调用问题.一般滴,exe用来调用dll中的类或函数,但是dll中也可以调用exe中的类或函数,本文做一些尝试总结. dll程序: Calcu ...
- Kali无法使用Chrome原因及解决方法
Kali安装好后,默认的浏览器是Firefox-ESR(Extended Support Release 长期支持)版本. 作为Chrome的死忠粉,当然是要下Chrome用用的. 直到我 ...
- Mac下安装npm全局包提示权限不够
Mac OS下安装npm的全局包,总是出现如下提示Missing write access,需要提升权限才能继续. npm WARN checkPermissions Missing write ac ...
- 再谈EFAGE寄存器中的C位,P位,O位
由于写EFLAGE博文中,有关C位,P位,O位,我觉得我没有描述清楚,而且C位也没有演示过借位情况,P位中也有些坑没讲,我还是决定再补一篇,争取把每个标志位描述清楚,不光是让看我文章的人能看的明白,也 ...