我想和Kubernetes一起经营jenkins。我能够成功地使用jenkins kubernetes插件连接到kubernetes。现在,我正在运行一个管道示例,但是在运行过程中,我总是得到一个错误,上面写着:
Still waiting to schedule task
‘default-amd64-cm2rx’ is offline
它就挂在那里。如果我使用Kubectl get pods
检查pods,我会看到poddefault-amd64-cm2rx
正在运行,然后状态更改为completed,然后它就消失了。然后另一个名字相似的豆荚,开始和结束,循环继续。这些豆荚的最后一种状态如下:
Normal Created 10s kubelet, xx.xx.xx.xx Created container
Normal Started 10s kubelet, xx.xx.xx.xx Started container
如果我检查jenkins日志,我会得到一个错误,如下所示:
Mar 09, 2019 8:47:42 AM org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher launch
WARNING: Error in provisioning; agent=KubernetesSlave name: default-amd64-g5bgh, template=PodTemplate{inheritFrom='', name='default-amd64', namespace='', label='jenkins-latest-jenkins-slave-amd64', nodeSelector='beta.kubernetes.io/arch=amd64', nodeUsageMode=NORMAL, workspaceVolume=EmptyDirWorkspaceVolume [memory=false], volumes=[HostPathVolume [mountPath=/var/run/docker.sock, hostPath=/var/run/docker.sock]], containers=[ContainerTemplate{name='jnlp', image='myregistry;8500/jenkins-slave:latest', workingDir='/home/jenkins', command='/bin/sh -c', args='cat', resourceRequestCpu='200m', resourceRequestMemory='256Mi', resourceLimitCpu='200m', resourceLimitMemory='256Mi', livenessProbe=org.csanchez.jenkins.plugins.kubernetes.ContainerLivenessProbe@1e7ac0a6}], yaml=}
java.lang.IllegalStateException: Pod has terminated containers: default/default-amd64-g5bgh (jnlp)
at org.csanchez.jenkins.plugins.kubernetes.AllContainersRunningPodWatcher.periodicAwait(AllContainersRunningPodWatcher.java:149)
at org.csanchez.jenkins.plugins.kubernetes.AllContainersRunningPodWatcher.periodicAwait(AllContainersRunningPodWatcher.java:170)
at org.csanchez.jenkins.plugins.kubernetes.AllContainersRunningPodWatcher.await(AllContainersRunningPodWatcher.java:122)
at org.csanchez.jenkins.plugins.kubernetes.KubernetesLauncher.launch(KubernetesLauncher.java:121)
at hudson.slaves.SlaveComputer$1.call(SlaveComputer.java:293)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at jenkins.security.ImpersonatingExecutorService$2.call(ImpersonatingExecutorService.java:71)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
jnlp可能试图为slave和Kubernetes使用相同的端口,因为它看起来像是您的pod正在终止,而您在slave上运行此作业。将jnlp设置为使用随机端口,这样您就可以保证没有冲突。
在詹金斯,它在配置安全下。
摘自Jenkins文档:https://Jenkins.io/doc/book/managing/security/
随机:JNLP端口是随机选择的,以避免Jenkins主机上的冲突。随机化JNLP端口的缺点是,它们是在Jenkins master启动时选择的,这使得管理允许JNLP通信量的防火墙规则变得困难。
修正:JNLP端口是由Jenkins管理员选择的,并且在Jenkins Master的重启过程中是一致的。这使得管理允许基于JNLP的代理连接到主服务器的防火墙规则变得更加容易。
我试图使用Jenkins/Kubernetes插件来协调docker奴隶与Jenkins。 我正在使用这个插件:https://github.com/jenkinsci/kubernetes-plugin 我的问题是所有的从机都离线了,所以作业无法执行: 我已经用minikube在我的本地盒子上和我们的ops组托管的K8集群上尝试了这一点。我试过Jenkins1.9和Jenkins2。我总是得到同
编辑 当队列中有多个作业时,有时会有多个执行器变为live。在读取死亡容器的日志后,所有容器都死亡,因为它们无法连接到containerIP:8080/tcpslaveAgentListener/。
我们的模板配置可以在这里看到 Kubernetes吊舱Termplate配置 然后我们创建一个简单的任务来测试插件,看看是否会创建从程序,然后运行几个简单的bash命令。 然后我们在Jenkins“Build Now”中开始工作,然后看到在我们的K8s集群中创建的豆荚 但是请注意,在构建历史记录下,我们可以看到以下消息 (挂起-标签“自动缩放”的所有节点脱机) null
问题 我已经将Csanchez的jenkins-kubernetes插件(版本0.12)部署到本地的Minikube/Kubernetes环境中。在Jenkins UI中配置pod模板和容器模板时,pod会自动生成并处理简单的作业。然而,当POD模板和容器模板在管道脚本中定义时,Jenkins Master拒绝连接,称POD已经连接到Master。 环境 minikube版本:V0.20.0 Ku
我想知道以下情况是否可能,请帮助我:- 情景1:- 我把我的本地系统作为Jenkins主系统,每次我需要一个从系统来运行自动化测试脚本时,docker容器就会作为Jenkins从系统旋转起来,我的脚本就会在从系统上执行,执行完成后容器就会被销毁。 我可以旋转多个容器作为Jenkins从本地系统作为Jenkins主。 谢谢
我正在尝试将我的windows slave作为服务连接到jenkins 2.88。我通过webstart启动了这个奴隶,然后运行jenkins奴隶。exe install来安装服务。第二次运行作业时,从svn中检出内容,我得到以下错误: 该服务正在以“我的用户”身份运行,以使其具有所有必要的权限。简而言之,我的问题是jenkins是否正确支持从服务运行jenkins slave jar的方法。例如