kubernetes实践之二十九:Kubernetes+Harbor+Gitlab+Jenkins+Maven DevOps

一:流程结构

说明:

1. 用户向Gitlab提交代码,代码中包含 Dockerfile文件。

2.Jenkins监听Gitlab代码库的推送和变更事件

3.Jenkins调用maven插件对源码进行编译打包

4.Jenkins调用docker工具根据Dockerfile文件生成镜像,并推送镜像到Harbor仓库

5.Jenkins通过SSH远程调用Kubernetes集群的master节点,更新Pod的模板YAML文件,调用kubectl命令进行发布操作

6.Kubernetes集群的Node 节点从Harbor仓库,拉取镜像,启动Pod和应用容器。


二:实施步骤

1. Docker+Gitlab+Jenkins+Maven代码持续集成与自动部署
请参照之前的博文  http://blog.itpub.net/28624388/viewspace-2151638/

2. 使用Harbor作为私有镜像仓库
请参照之前的博文  http://blog.itpub.net/28624388/viewspace-2153568/

3.kubernetes集成(以应用desktop为例

a.Jenkins中安装SSH插件

b.Jenkins中创建 Credentials ssh


c.系统关联-->系统配置-->ssh remote hosts配置


d.在项目配置的最后,增加ssh remote命令调用的脚本


desktop-ds.yaml 文件如下

点击(此处)折叠或打开

  1. apiVersion: extensions/v1beta1
  2. kind: DaemonSet
  3. metadata:
  4.   name: desktop
  5.   labels:
  6.     app: desktop
  7. spec:
  8.     selector:
  9.        matchLabels:
  10.             app: desktop
  11.     template:
  12.       metadata:
  13.           labels:
  14.             app: desktop
  15.       spec:
  16.          containers:
  17.          - name: desktop
  18.            image: 120.79.156.135/desktop/tomcat:desktop
  19.            volumeMounts:
  20.            - name: jdkdir
  21.              mountPath: /usr/local/jdk
  22.            - name: uploaddir
  23.              mountPath: /mnt/upload
  24.            ports:
  25.            - containerPort: 8080
  26.          imagePullSecrets:
  27.          - name: registry-secret
  28.          volumes:
  29.          - name: jdkdir
  30.            hostPath:
  31.               path: /mnt/devops/jdk1.8
  32.          - name: uploaddir
  33.            hostPath:
  34.              path: /mnt/upload

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-2153655/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28624388/viewspace-2153655/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值