使用 Jenkins 中的 Kubernetes 插件未进行卷挂载
Posted
技术标签:
【中文标题】使用 Jenkins 中的 Kubernetes 插件未进行卷挂载【英文标题】:Volume mount is not happening using Kubernetes plugin in Jenkins 【发布时间】:2017-08-22 15:24:07 【问题描述】:我正在使用 Kubernetes 为我的构建启动 jenkins slaves。我可以让插件正常工作。
现在,我正在尝试使用插件安装卷。在插件中添加卷信息后,它甚至没有启动容器。我不确定这里缺少什么。
在 Docker 文件中,我添加了这一行:
音量 /home/myslave
在 POD 模板中(在 jenkins 配置下)我有这些卷配置:
主机路径:/jenkins/slave
挂载路径:/home/myslave
提前致谢。
【问题讨论】:
您的 Kubernetes 是否启用了 Pod 安全策略?此外,来自日志/命令的任何错误消息都会有所帮助。 嗨 Slava,Pod 安全性未启用。此外,kubernetes 中没有特定的错误。在 POD 创建期间,它会达到“已启动”状态。之后,它创建了另一个 POD 并不断发生。 这听起来像是 pod 内的进程每次都失败,Kubernetes 正在重新启动一个 pod。你能检查一下 pod 的日志吗? 这是最大的挑战。当我尝试获取日志时,它显示“找不到容器”。 您可以先尝试使用emptyDir
吗?确保一切正常,然后换入主机路径卷?
【参考方案1】:
您需要执行 3 个操作来解决此问题:
-
在 kubernetes 插件中将您的容器名称重命名为
jnlp
。
在您的图像入口点中正确配置 JNLP
让“运行命令”和传递给命令的参数为空。
【讨论】:
以上是关于使用 Jenkins 中的 Kubernetes 插件未进行卷挂载的主要内容,如果未能解决你的问题,请参考以下文章
Jenkins on Kubernetes中的Pipeline语法以及自定义Slave的使用方式
有容云案例系列基于Jenkins和Kubernetes的CI工作流
有容云案例系列基于Jenkins和Kubernetes的CI工作流