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 ...
随机推荐
- FPGA最小系统设计
以EP4CE6E22I7为例,设计FPGA最小系统. 程序存储设计 一般使用EPCS4I8N: FPGA_DATA0:13 FPGA_DCLK :12 FPGA_nCS:8 ASDO:6 时钟 待续
- [笔记] NuGet Warning NU5100 处理
问题描述 在将 .NET 项目编译成 NUGET 包时,如果项目引用了其它 dll 文件,则可能出现这个警告,如果不处理,Nuget 包中可能无法正确引用所添加的 dll . 处理方式 在项目 .cs ...
- 纯C语言实现链栈
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef struct StackNode{ E ...
- Ext.create方法分析
Ext.create方法实际上是Ext.ClassManager的instantiate的别名 分析如下: (function(Class, alias, arraySlice, arrayFrom, ...
- Qt for Android使用grpc探索
利用Qt在Android上使用grpc需要*.a的静态库,Windows上编译的lib库以及linux编译出来的.a,经过尝试,均无法链接成功.本文尝试使用NDK来编译Android版本的grpc静态 ...
- 通过Request对象获取请求的IP地址
/** * 标识要从哪些消息头中获取IP地址 */ private static final String[] getIpArray = {"HTTP_X_FORWARDED_FOR&quo ...
- 03导航链接的制作(wx:for循环)和小程序警告request fail url not in domain list
06==>导航链接的制作 <!-- 导航链接 --> <navigator url="../list/list" hover-class="nav ...
- Js中的对象、构造函数、原型、原型链及继承
1.对象 在传统的面向过程的程序设计中,会造成函数或变量的冗余.而JS中对象的目的是将所有的具有相同属性或行为的代码整合到一起,形成一个集合,这样就会方便我们管理,例如: var person1={ ...
- E05 【餐厅】What kind of coffee or tea would you like?
核心句型 What kind of coffee or tea would you like? 你想喝什么咖啡或者茶? What would you like? 你喜欢什么?/你想要什么? ...
- Mybatis-Plus 代码生成器基本使用
Mybatis-Plus 代码生成器基本使用 参考 https://mp.baomidou.com/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%95%99%E ...