我在 Kubernetes 中运行了一个 GitLab 安装,突然间,我的连接dind
停止工作。这个问题开始出现在大约 30 个项目中的一个项目中,并且正在其他项目中工作,并且没有进行任何更改。
构建给出以下错误:
*** WARNING: Service runner-c542f8fe-project-3-concurrent-0-docker-0 probably didn't start properly.
Health check error:
service "runner-c542f8fe-project-3-concurrent-0-docker-0-wait-for-service" timeout
Health check container logs:
Service container logs:
2018-08-13T08:40:53.274661600Z mount: permission denied (are you root?)
2018-08-13T08:40:53.274713900Z Could not mount /sys/kernel/security.
2018-08-13T08:40:53.274730800Z AppArmor detection and --privileged mode might break.
2018-08-13T08:40:53.275949300Z mount: permission denied (are you root?)
*********
我正在运行容器特权,如我的/etc/gitlab-runner/config.toml
:
metrics_server = ":9252"
concurrent = 10
check_interval = 30
[[runners]]
name = "mothy-jackal-gitlab-runner-bb76cb464-7fq6z"
url = "[redacted]"
token = "[redacted]"
executor = "kubernetes"
[runners.cache]
[runners.kubernetes]
host = ""
image = "ubuntu:16.04"
namespace = "gitlab"
namespace_overwrite_allowed = ""
privileged = true
cpu_request = "100m"
memory_request = "128Mi"
service_cpu_request = "100m"
service_memory_request = "128Mi"
service_account_overwrite_allowed = ""
[runners.kubernetes.volumes]
我发现与确保跑步者享有特权的唯一其他解决方案是this one。我尝试将我的变量设置为.gitlab-ci.yaml
:
variables:
DOCKER_HOST: "tcp://docker:2375"
DOCKER_DRIVER: overlay
错误保持不变。
根据另一篇文章,值得注意的是以下命令的输出:
bash-4.3# find /lib/modules/`uname -r`/kernel/ -type f -name "overlay*"
find: /lib/modules/4.4.111-k8s/kernel/: No such file or directory
bash-4.3# lsmod | grep overlay
overlay 45056 12
请注意“没有这样的文件或目录”错误。
我被难住了,由于我的构建在注册阶段失败,我无法发布。关于去哪里的任何指示?
谢谢。
编辑
这不是一个解决方案,但我注意到发生这种情况是因为我为这个项目设置了一个专门的跑步者。一旦我删除它,它就会再次起作用。不是修复,但对于遇到相同问题的任何人来说都是重要的信息。