AWS EKS kubernetes群集中的守护进程不支持docker buildkit
我正在使用构建工具包为每个微服务构建docker映像 /build.shAWS EKS kubernetes群集中的守护进程不支持docker buildkit,docker,jenkins,kubernetes,terraform,docker-buildkit,Docker,Jenkins,Kubernetes,Terraform,Docker Buildkit,我正在使用构建工具包为每个微服务构建docker映像 /build.sh export DOCKER_BUILDKIT=1 # .... docker build -t .... # ... 这在我的机器上与docker一起工作(18.09.2) 但是,Jenkins无法使用它,我将其设置为: EKS配备了地形模块 module "eks" { source = "terraform-aws-modules/eks/aws" version = "5.0.0" # ...
export DOCKER_BUILDKIT=1
# ....
docker build -t ....
# ...
这在我的机器上与docker一起工作(18.09.2)
但是,Jenkins无法使用它,我将其设置为:
- EKS配备了地形模块
module "eks" { source = "terraform-aws-modules/eks/aws" version = "5.0.0" # .... }
- Jenkins部署在EKS上(
,v1.12.10-EKS-ffbd9
)通过此docker://18.6.1
- Jenkins插件在helm版本的值中定义:
- 库伯内特斯:1.18.1
- 工作流程作业:2.33
- 工作流聚合器:2.6
- 凭证绑定:1.19
- 吉特:3.11.0
- 蓝海:1.19.0
- 比特桶oauth:0.9
- Jenkins管道是声明性的,它使用一个Pod模板,其中容器图像为
,容器名称为docker:18 dind
dind
- 这是我的詹金斯档案
}pipeline { agent { kubernetes { defaultContainer 'jnlp' yamlFile 'jenkins-pod.yaml' } } stages { stage('Build Backends') { steps { container('dind') { sh 'chmod +x *sh' sh './build.sh -t=dev' } containerLog 'dind' } } }
buildkit not supported by daemon
我不确定应该升级哪个软件以使docker buildkit正常工作?哪个版本
- Terraform eks模块现在是5.0.0
- docker:18丁的形象,表现得像短暂的詹金斯奴隶的环境
- Jenkins插件
kubernetes:1.18.1
buildkit
会话的要求,成功检查isSessionSupported
有两个要求:
dockerli.ServerInfo()
versions.GreaterThanOrEqualTo(dockerli.Client().ClientVersion(),“1.31”
- 检查
库的版本docker cli
- 并且
选项已启用HasExperimental
docker版本-f'{.Server.Experimental}}
docker buildkit支持在18.09中从实验版本中推出,因此您可能需要升级EKS内部的docker:
EKS(v1.12.10-EKS-ffbd9,docker://18.6.1
或者您可能有一个旧的dind图像(18 dind的
18
应该足够新,但是指向18.06或18.03的较旧版本的标签不会)。您可以尝试18.09-dind
和19-dind
,如果构建实际上发生在dind中,这两种方法都应该有效。您可以在/build.sh
中尝试DOCKER\u BUILDKIT=1 DOCKER build-t...
?