首页 > 解决方案 > 在 K8S 中使用 Jenkins 时如何处理“docker-in-docker”问题

问题描述

Kubernetes 新手,一个有点复杂的问题需要帮助。

背景

  1. 在 GKE(Google Kubernetes 引擎)中使用 Jenkins
  2. 想用jenkins-docker插件为每类测试提供具体的测试环境
  3. 不想docker在 Jenkins 映像中混入二进制文件(因为它很大)
  4. 不想docker-in-docker
    1. 更具体地说,我不希望 Jenkins Pod 成为新的 Docker 服务器

我想要的是

  1. 每个测试环境都可以在 GKE Cluster 中创建一个新的 Pod,而不是在 Jenkins Pod 内部创建容器

附言

我刚刚看了一些文章,其中一半是在讲述“如何使用 K8S 扩展 Jenkins(使用 jenkins-slave + jenkins-kubernates 插件)”,另一半是在讲述如何“在一个裸机上的 dockerized jenkins 容器(您可以用来/var/run/docker.sock在主机和 docker 容器之间进行通信)”,但我找不到 **如何在 K8S 内的 dockerized jenkins 容器中使用 docker 插件(提供特定环境)

标签: dockerjenkinskubernetescontinuous-integrationkubernetes-helm

解决方案


推荐阅读