首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将来自远程Kubernetes安装的自定义Docker容器部署为Jenkins奴隶?

如何将来自远程Kubernetes安装的自定义Docker容器部署为Jenkins奴隶?
EN

Stack Overflow用户
提问于 2018-08-17 15:40:47
回答 1查看 953关注 0票数 0

利用Kubernetes插件:https://wiki.jenkins.io/display/JENKINS/Kubernetes+Plugin

我所读过的大多数示例都描述了如何通过Kubernetes安装在相同的环境/机器中部署Jenkins主服务器。但是,出于测试目的,我在一个单独的VM上运行了一个小型库环境(也就是说,不是在Jenkins主程序正在运行的同一台机器上运行)。在完成一些端口转发、设置博客中描述的证书和配置Kubernetes云之后,我将成功地连接到VM。此外,如果我试图部署默认的JNLP容器,则将部署该从属服务器,并且我的作业将在其中成功运行。

因此,现在我想将两个自定义容器部署在一个单独的容器中,每个容器运行自己的应用程序(这是使用烧瓶的基本web服务),它将从前端容器的端口5001发送一个HTTP到端口5002后端容器。我主要是尝试在Jenkins全局配置中的web UI中设置这个,我还没有尝试在Jenkinsfile中设置pod模板。

一个小小的背景是,每次触发新作业时,我都希望能够部署一个单独和孤立的测试环境。我想让Kubernetes部署一个单独的Pod,其中包含前端和后端容器,然后运行关于它们如何交互的测试。我希望以Jenkins奴隶的身份部署这些吊舱,为每个构建提供合适的隔离环境来完成这一任务。

下面是我尝试过的最初Kubernetes插件的截图。我是否需要在每个容器中公开端口50000并运行JNLP进程以连接到主服务器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-17 18:29:55

我发现Jenkins默认部署一个JNLP从站来驱动Pod中的JNLP连接,所以我的吊舱中将有3个容器: JNLP奴隶、前端和后端。有关JNLP图像的信息可以在这里找到:https://github.com/jenkinsci/docker-jnlp-slave。这个从容器的默认配置并不完全符合我的要求,但它确实处理到Jenkins主服务器的连接。因此,我可能会修改它或用文档中提到的新容器覆盖它,以驱动我的测试分发到前端和后端容器。

此外,当设置工作dir时也要小心。我用这个指向了我的应用程序的python文件所在的位置,并且它们被覆盖了。我假设这是Jenkins工作区目录,它将覆盖已经存在的任何内容。

我还删除了容器的命令,因为我的Docker映像已经定义了一些初始命令,因此对于前端和后端容器来说,任何进一步的命令都不需要。

以下是工作容器的配置:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51898816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档