在Jenkins中建立docker 集群-docker cloud配置详解

   日期:2024-12-29    作者:jswxbyd 移动:http://ljhr2012.riyuangf.com/mobile/quote/80111.html

前面的文章中,我们从基础镜像入手制作了一个容器,安装好需要的工具后又通过它生成了一个镜像,已经验证完成它可以被拉取使用,但这样生产的是一个类似于半永久的节点,容器在宿主机会一直存在直到有人手动删除它,而且容易受到执行过程的影响而改变了原有的样貌。

在Jenkins中建立docker 集群-docker cloud配置详解

所以这里考虑到了使用Jenkins节点下方的cloud功能。

K8S的配置网上已经有很多的资料了,但对docker cloud的配置,网上一搜索就是一大堆建立docker的Jenkins和通过Jenkins生产docker镜像的教程。所以这里对docker的集群配置进行详细展示。

Jenkins与容器环境在同一个机器不用配置此项,可以掠过。

通过service docker status 命令,找到docker的服务启动点。

修改它,将其中的ExecStart行修改为ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2376

此时是谁都可以访问的。公有云上可以配置访问控制,阻断大部分的恶意扫描,但还是尽量不要用默认的2375,2376作为Jenkins默认其实也要少用。在对外开放端口的生产环境一定要配置证书,加上对应的证书参数。

配置后使用systemctl daemon-reload加载配置,并使用service docker restart重启服务。

 

在没有任何cloud插件时,Jenkins会自动展示此类插件,里面选择Docker插件。

在configure cloud中选择添加Docker集群。

配置分为Docker Cloud details和Docker Agent templates两个部分。

主要配置集群主机的信息。

其中Docker Host URI就是前面配置的tcp连接路径,Server credentials如果有的话是个安全链接用的证书,其他的基本不用配置,如果你在URI里用的域名没有写入Jenkins hosts文件的话,需要在高级配置的Docker Hostname or IP address配置IP地址。Container Cap代表这个机器上的承载上限。

这个可以配置多个,类似于node,通常用一个镜像代表一个标签

其中的labels就是标签;name用于生产随机的容器时候的前缀;Docker Image是机器上的镜像,可以写死版本号,代表唯一的一个镜像版本,也可以不带版本号,随宿主机动态更新。

点开Registry Authentication,这个Credentials是远程docker hub的认证,只在本地拉的话不需要配置。

点开Contain settings,Docker Command代表这个镜像生成容器时候的启动命令。和前面文章中一样,这里使用/usr/sbin/sshd -D。Contain settings中的其他配置根据需要设置,可以进行桥接网络,设置资源限制,设置环境变量等操作。

Instance Capacity代表这个模板能被拉起的最大值,与其他template一起受前面大项里的Container Cap限制,甚至会受到原有机器上已经启动的容器限制。

Remote File System Root是Jenkins运行任务的目录,可以不存在,有权限的话会自己创建。

Connect method还是选择ssh,和前面节点配置一样。

Stop timeout是容器执行完任务要被释放的时间限制。

Pull strategy 拉取策略,选用Never pull就会保持不变,选择Pull once and update latest就会更新,配置更新的话一定要配置远程的docker hub证书。

配置完后建立任务选择这个label进行运行,能够看到右侧运行位置是在docker_1-0045skks6e35f,代表配置是成功的

目前做出来的镜像只能是root用户登录,哪怕增加了别的用户和其ssh配置,估计和其他的配置有关。

在配置成功docker集群的detail部分后,就可以在系统管理中下方的docker查看服务器的活动容器和镜像。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号