网上找了很多 jenkins 使用 k8s 插件的例子,模仿着来但一直成功不了,可能是因为私有云的问题,所以特地写下来作为记录。划重点 私有云 你需要注意的点: 1.网络问题: 因为私有云和公司性质,所以你的机器和云集群不一定开通了网络访问关系,切记,去将要开的 ip,端口 统统的都开放了。 如果日志里提示是什么 connection time out 一定首先排查网络。 1.1.在 jenkins 中指定 agent 端口(你要保证这个端口也是开通了网络关系的),这样在 slave 响应 master 的时候才可以响应到。 2.在 jenkins 配置页面中完成基本的 k8s 插件的配置。在创建容器的时候,container template 名称要写成 jnlp,然后指定 jnlp 的镜像,切记运行的命令这一栏什么都不要写。你仔细看他问号有一个解释,写了之后就会覆盖容器原来的命令。你的 slave 节点就不会执行链接 master 的操作,然后你的 jenkins 日志就会一直等待 slave 去回应。(如果回应一直超时,请检查 jenkins agent 设置是否指定了开放的端口,然后该端口是否开通了网络关系。) ,命令参数:${computer.jnlpmac}${computer.name} 具体为什么这么写,我目前也不知道,只知道必须这么写。 3.然后新建 job 在 job 中选择 Restrict where this project can be run 在 label expression 时候填写你之前在配置 k8s 插件里的那个 label.之后就可以使用了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.