当前位置: 首页 > 知识库问答 >
问题:

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

夏令秋
2023-03-14

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

我读过的大多数示例都描述了在同一环境/机器中通过Kubernetes安装来部署Jenkins master。然而,出于测试目的,我有一个minikube环境运行在一个单独的VM上(即,不在Jenkins master运行的同一台机器上)。在做了一些端口转发、设置了本博客中描述的证书并配置了Kubernetes云之后,我成功地连接到了VM。另外,如果我尝试部署默认的JNLP容器,那么该从容器将被部署,并且我的作业将在其中成功运行。

因此,现在我想在一个pod中部署两个自定义容器,每个容器都运行自己的应用程序(这些应用程序是使用Flask的基本web服务),它们将从前端容器上的端口5001向后端容器端口5002发送HTTP post。我只是尝试在Jenkins global config中的web UI中设置这个,我还没有尝试在Jenkinsfile中设置pod模板。

共有1个答案

黄景胜
2023-03-14

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

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

我还删除了容器的命令,因为我的Docker映像已经定义了一些初始命令,所以前端和后端容器不需要进一步的操作。

 类似资料:
  • 我想知道以下情况是否可能,请帮助我:- 情景1:- 我把我的本地系统作为Jenkins主系统,每次我需要一个从系统来运行自动化测试脚本时,docker容器就会作为Jenkins从系统旋转起来,我的脚本就会在从系统上执行,执行完成后容器就会被销毁。 我可以旋转多个容器作为Jenkins从本地系统作为Jenkins主。 谢谢

  • 我让jenkins在github上的容器和项目源代码中运行。 我需要在与jenkins相同的主机上运行容器中的项目,但不是作为docker中的docker,我希望将它们作为兄弟容器运行。 我的管道如下所示: 从github中提取源文件 我现在要做的是使用jenkins容器中主机的docker套接字: jenkins容器将源代码为/var/jenkins_home/workspace/BRANCH_

  • 然而,在我创建了另一个docker服务器并创建了其中两个服务器的群并再次尝试运行jenkins jobs之后,它仍然只在原始服务器(现在也是一个管理器)上部署容器。我希望swarm能够平衡负载,并在swarm中均匀地分配新创建的容器。我错过了什么? 也许我必须使用服务吗?

  • 问题内容: 我面临以下问题:我创建了一个Jenkins Docker容器,并将主机上的Docker套接字与该容器链接。像这样: 然后,当我尝试在詹金斯上创建一些作业时,我收到通常的“权限被拒绝”消息: 尝试在unix:///var/run/docker.sock上连接到Docker守护程序套接字时获得的权限被拒绝:获取 http://%2Fvar%2Frun%2Fdocker.sock/v1.29

  • 我想用基本的ubuntu模板启动一个容器——但我希望它能自动安装几个额外的软件包——或者理想情况下运行一个bash脚本。 看起来我应该使用钩子,当我在一个配置文件中创建一个容器传递时,它将一个特定的钩子设置为我的bash脚本。但我忍不住想一定有更简单的方法?

  • 本文向大家介绍docker kubernetes dashboard安装部署详细介绍,包括了docker kubernetes dashboard安装部署详细介绍的使用技巧和注意事项,需要的朋友参考一下 docker之kubernetes dashboard部署 1. 环境说明: 1). 架构: 注: 本次实验服务器环境均采用centos 7. 服务安装均采用yum install. 192.16