使用 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 集群

有容云案例系列基于Jenkins和Kubernetes的CI工作流

有容云案例系列基于Jenkins和Kubernetes的CI工作流

kubernetes 基于jenkins spinnaker的ci/cd实践一增加制品镜像扫描

kubernetes 基于jenkins spinnaker的ci/cd实践一增加制品镜像扫描