CI/CD与docker关系

本文介绍了如何利用Jenkins集成Docker镜像实现自动化发布,包括应用打包、镜像构建及部署过程。同时探讨了Docker集群环境下Kubernetes的部署方式,并对比分析了Kubernetes与Mesos的特点及适用场景。

1、整体思路

a)gitlab或者Jenkins发布到docker register

b)通过集群管理工具来升级相关的镜像,比较常见的是kubernetes

 

2、Jenkins集成Docker镜像实现自动发布

Jenkins集成Docker镜像实现自动发布与Jenkins发布mavne项目思路一样总体流程 为:
Jenkins 拉去远端源码 —— gitl
实现应用打包 —— jenkins本地
把应用程序打包进Docker镜像 —— Dockerfile
镜像上传到Docker私有仓库 —— shell或者 Docker相关的Jekins插件
删除老的Docker容器,运行新的Docker容器 —— shell脚本

 

针对单节点本机Docker的打包部署方式,如需要多借点部署,不用多次编译构建,只需执行一次构建操作,把镜像上传到企业内部私有仓库,通过ansibles 实现多节点部署。

- Docker集群环境的部署方式

使用kubernets集群管理工具通过Deployment(1.2版本新增)文件实现滚动升级容器(等同于应用的部署)

 

3、kubernetes 相关概念

image

 

kube maste:

kube-apiserver k8s的管理接口

kube-scheduer k8s调度器,容器的启动、迁移、扩容缩减时候,选择哪个node,就看它了。

kube-controller-manager k8s对node的控制行为,比如怎么去调用node启动一个容器。

kube minion(node):

kubelet 负责node的管理,基本所有操作都靠它。

kube-proxy 每个node里的container都在一个私有网络中,kube-proxy的作用就是做一个反向代理,让访问者访问这个node的时候,可以转发到内部对应的container。

Flannel: 实现多台容器跨主机网络通信 (这里和minion放在一起)

etcd: 作为kubernetes的数据库,存储了k8s自身的信息、以及各种业务容器信息等。 存储flannel网络配置信息,供各节点协调。 (这里和master放在一起)

 

4、Mesos和Kubernetes使用哪个好,关键还是要看业务需求,当然是适合业务需求的最好。

  • 两者参数都都挺多的,针对于容器管理,两者也都挺灵活,一般都可以满足,不过学习成本也会相对提高。
  • 两者对比,有点类似搭积木,Mesos是零散的积木,你需要自己组装实现自己的业务模型,Kubernetes就是组装好的积木,你直接拿来用就好了。
  • Mesos自身定义为一个分布式内核,也就是最核心的资源管理它帮你实现了,如果自己实现业务调度,那么就需要公司有一定的开发能力,当然了,一般的需求使用Mesos的框架Marathon和Aurora等也能满足了。
  • 两者发展的侧重点不同,Mesos更侧重底层资源的管理,Kubernetes侧重业务层的调度,容器服务编排,服务发现等。还有现在Kubernetes也可以运行在Mesos上,这样你也可以选择两者结合。
  • 现在在国内,Kubernetes感觉更火些,个人觉得这可能跟容器的爆发有关,并且有Google公司的光环。

使用Mesos的国内公司有:

小米
当当
豆瓣
去哪儿
携程
唯品会
知乎
新浪微博
爱奇艺
七牛
UCloud
唯品会
bilibili
中国联通
中国移动
中国电信
华为
数人云
...

 

5、参考文档:

Kubernetes和Mesos有啥区别,我该使用哪个好 https://www.zhihu.com/question/53751176?from=profile_question_card 

Openstack+Kubernetes+Docker微服务实践之路--弹性扩容  http://blog.youkuaiyun.com/qkecki24028/article/details/54342304

docker集群管理工具kubernetes初步搭建  https://www.jianshu.com/p/85e6b7188b50

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小她爹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值