【发布时间】:2018-08-17 15:40:47
【问题描述】:
使用 Kubernetes 插件:https://wiki.jenkins.io/display/JENKINS/Kubernetes+Plugin
我读过的大多数示例都描述了通过在同一环境/机器中安装 Kubernetes 来部署 Jenkins 主服务器。但是,出于测试目的,我有一个在单独的 VM 上运行的 minikube 环境(即不在 Jenkins 主机运行的同一台机器上)。在进行了一些端口转发、设置证书如blog 中所述并配置 Kubernetes 云之后,我成功连接到 VM。此外,如果我尝试部署默认的 JNLP 容器,该从属容器将被部署,并且我的作业将在其中成功运行。
所以现在我想在一个 pod 中部署 2 个自定义容器,每个容器都运行自己的应用程序(这些是使用 Flask 的基本 Web 服务),它将从前端容器上的端口 5001 发送 HTTP 帖子到端口5002 后端容器。我主要只是尝试在 Jenkins 全局配置的 Web UI 中对此进行设置,我还没有尝试在 Jenkinsfile 中设置 pod 模板。
一点背景知识是,我希望能够在每次触发新作业时部署一个单独且隔离的测试环境。我想让 Kubernetes 部署一个单独的 Pod,其中包含前端和后端容器,然后运行测试它们如何交互。我希望将这些 pod 部署为 Jenkins 从属设备将为我的每个构建提供正确的隔离环境来实现这一目标。
以下是我尝试过的初始 Kubernetes 插件配置的屏幕截图。我是否需要公开端口 50000 并在每个容器中运行 JNLP 进程才能连接到主容器?
【问题讨论】:
-
现在,当我运行我的作业时,我看到从服务器尝试部署,但我看到了以下消息:“(待定——标签为‘combined’的所有节点都处于脱机状态)”
标签: docker jenkins flask kubernetes jenkins-slave