在Kubernetes上运行Gitlab CI runner时POD的挂起状态
我目前正在尝试将Kubernetes集群用于Gitlab CI。 在遵循不太好的docs()时,我所做的是从Gitlab CI部分手动注册一个具有令牌的运行程序,这样我就可以获得另一个令牌,并在用于部署的ConfigMap中使用它 -配置映射在Kubernetes上运行Gitlab CI runner时POD的挂起状态,kubernetes,gitlab,gitlab-ci,gitlab-ci-runner,kubectl,Kubernetes,Gitlab,Gitlab Ci,Gitlab Ci Runner,Kubectl,我目前正在尝试将Kubernetes集群用于Gitlab CI。 在遵循不太好的docs()时,我所做的是从Gitlab CI部分手动注册一个具有令牌的运行程序,这样我就可以获得另一个令牌,并在用于部署的ConfigMap中使用它 -配置映射 apiVersion: v1 kind: ConfigMap metadata: name: gitlab-runner namespace: gitlab data: config.toml: | concurrent = 4
apiVersion: v1
kind: ConfigMap
metadata:
name: gitlab-runner
namespace: gitlab
data:
config.toml: |
concurrent = 4
[[runners]]
name = "Kubernetes Runner"
url = "https://url/ci"
token = "TOKEN"
executor = "kubernetes"
[runners.kubernetes]
namespace = "gitlab"
-部署
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: gitlab-runner
namespace: gitlab
spec:
replicas: 4
selector:
matchLabels:
name: gitlab-runner
template:
metadata:
labels:
name: gitlab-runner
spec:
containers:
- args:
- run
image: gitlab/gitlab-runner:latest
imagePullPolicy: Always
name: gitlab-runner
volumeMounts:
- mountPath: /etc/gitlab-runner
name: config
restartPolicy: Always
volumes:
- configMap:
name: gitlab-runner
name: config
有了这两个,我可以在Gitlab runner部分看到runner,但每当我开始一项工作时,新创建的POD都会处于挂起状态
我想修复它,但我所知道的是节点和pod会获得以下事件:
-豆荚:
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
35s 4s 7 {default-scheduler } Warning FailedScheduling No nodes are available that match all of the following predicates:: MatchNodeSelector (2).
-节点:
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
4d 31s 6887 {kubelet gitlab-ci-hc6k3ffax54o-master-0} Warning FailedNodeAllocatableEnforcement Failed to update Node Allocatable Limits "": failed to set supported cgroup subsystems for cgroup : Failed to set config for supported subsystems : failed to write 3783761920 to memory.limit_in_bytes: write /rootfs/sys/fs/cgroup/memory/memory.limit_in_bytes: invalid argument
知道为什么会发生这种情况吗?
编辑:kubectl添加了描述:
Name: runner-45384765-project-1570-concurrent-00mb7r
Namespace: gitlab
Node: /
Labels: <none>
Status: Pending
IP:
Controllers: <none>
Containers:
build:
Image: blablabla:latest
Port:
Command:
sh
-c
if [ -x /usr/local/bin/bash ]; then
exec /usr/local/bin/bash
elif [ -x /usr/bin/bash ]; then
exec /usr/bin/bash
elif [ -x /bin/bash ]; then
exec /bin/bash
elif [ -x /usr/local/bin/sh ]; then
exec /usr/local/bin/sh
elif [ -x /usr/bin/sh ]; then
exec /usr/bin/sh
elif [ -x /bin/sh ]; then
exec /bin/sh
else
echo shell not found
exit 1
fi
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-1qm5n (ro)
/vcs from repo (rw)
Environment Variables:
CI_PROJECT_DIR: blablabla
CI_SERVER: yes
CI_SERVER_TLS_CA_FILE: -----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
CI: true
GITLAB_CI: true
CI_SERVER_NAME: GitLab
CI_SERVER_VERSION: 9.5.5-ee
CI_SERVER_REVISION: cfe2d5c
CI_JOB_ID: 5625
CI_JOB_NAME: pylint
CI_JOB_STAGE: build
CI_COMMIT_SHA: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_COMMIT_REF_NAME: master
CI_COMMIT_REF_SLUG: master
CI_REGISTRY_USER: gitlab-ci-token
CI_BUILD_ID: 5625
CI_BUILD_REF: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_BUILD_BEFORE_SHA: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_BUILD_REF_NAME: master
CI_BUILD_REF_SLUG: master
CI_BUILD_NAME: pylint
CI_BUILD_STAGE: build
CI_PROJECT_ID: 1570
CI_PROJECT_NAME: blablabla
CI_PROJECT_PATH: blablabla
CI_PROJECT_PATH_SLUG: blablabla
CI_PROJECT_NAMESPACE: vcs
CI_PROJECT_URL: https://blablabla
CI_PIPELINE_ID: 2574
CI_CONFIG_PATH: .gitlab-ci.yml
CI_PIPELINE_SOURCE: push
CI_RUNNER_ID: 111
CI_RUNNER_DESCRIPTION: testing on kubernetes
CI_RUNNER_TAGS: docker-image-build
CI_REGISTRY: blablabla
CI_REGISTRY_IMAGE: blablabla
PYLINTHOME: ./pylint-home
GITLAB_USER_ID: 2277
GITLAB_USER_EMAIL: blablabla
helper:
Image: gitlab/gitlab-runner-helper:x86_64-a9a76a50
Port:
Command:
sh
-c
if [ -x /usr/local/bin/bash ]; then
exec /usr/local/bin/bash
elif [ -x /usr/bin/bash ]; then
exec /usr/bin/bash
elif [ -x /bin/bash ]; then
exec /bin/bash
elif [ -x /usr/local/bin/sh ]; then
exec /usr/local/bin/sh
elif [ -x /usr/bin/sh ]; then
exec /usr/bin/sh
elif [ -x /bin/sh ]; then
exec /bin/sh
else
echo shell not found
exit 1
fi
Volume Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-1qm5n (ro)
/vcs from repo (rw)
Environment Variables:
CI_PROJECT_DIR: blablabla
CI_SERVER: yes
CI_SERVER_TLS_CA_FILE: -----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
blablabla
-----END CERTIFICATE-----
CI: true
GITLAB_CI: true
CI_SERVER_NAME: GitLab
CI_SERVER_VERSION: 9.5.5-ee
CI_SERVER_REVISION: cfe2d5c
CI_JOB_ID: 5625
CI_JOB_NAME: pylint
CI_JOB_STAGE: build
CI_COMMIT_SHA: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_COMMIT_REF_NAME: master
CI_COMMIT_REF_SLUG: master
CI_REGISTRY_USER: gitlab-ci-token
CI_BUILD_ID: 5625
CI_BUILD_REF: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_BUILD_BEFORE_SHA: ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_BUILD_REF_NAME: master
CI_BUILD_REF_SLUG: master
CI_BUILD_NAME: pylint
CI_BUILD_STAGE: build
CI_PROJECT_ID: 1570
CI_PROJECT_NAME: blablabla
CI_PROJECT_PATH: blablabla
CI_PROJECT_PATH_SLUG: blablabla
CI_PROJECT_NAMESPACE: vcs
CI_PROJECT_URL: blablabla
CI_PIPELINE_ID: 2574
CI_CONFIG_PATH: .gitlab-ci.yml
CI_PIPELINE_SOURCE: push
CI_RUNNER_ID: 111
CI_RUNNER_DESCRIPTION: testing on kubernetes
CI_RUNNER_TAGS: docker-image-build
CI_REGISTRY: blablabla
CI_REGISTRY_IMAGE: blablabla
PYLINTHOME: ./pylint-home
GITLAB_USER_ID: 2277
GITLAB_USER_EMAIL: blablabla
Conditions:
Type Status
PodScheduled False
Volumes:
repo:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
default-token-1qm5n:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-1qm5n
QoS Class: BestEffort
Tolerations: <none>
Events:
FirstSeen LastSeen Count From SubObjectPath Type Reason Message
--------- -------- ----- ---- ------------- -------- ------ -------
39s 8s 7 {default-scheduler } Warning FailedScheduling No nodes are available that match all of the following predicates:: MatchNodeSelector (2).
名称:runner-45384765-project-1570-concurrent-00mb7r
名称空间:gitlab
节点:/
标签:
状态:待定
知识产权:
控制器:
容器:
建造:
图片:布拉布拉布拉:最新
端口:
命令:
嘘
-c
如果[-x/usr/local/bin/bash];然后
exec/usr/local/bin/bash
elif[-x/usr/bin/bash];然后
exec/usr/bin/bash
elif[-x/bin/bash];然后
exec/bin/bash
elif[-x/usr/local/bin/sh];然后
exec/usr/local/bin/sh
elif[-x/usr/bin/sh];然后
执行官/usr/bin/sh
elif[-x/bin/sh];然后
行政主任/银行代码/上海
其他的
未找到回音外壳
出口1
fi
卷装载:
/来自default-token-1qm5n(ro)的var/run/secrets/kubernetes.io/serviceCount
/来自回购(rw)的风险投资
环境变量:
CI_项目总监:布拉布拉布拉
CI_服务器:是
CI_服务器\u TLS\u CA_文件:-开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
CI:没错
GITLAB_CI:没错
CI_服务器_名称:GitLab
CI_服务器版本:9.5.5-ee
CI_服务器_版本:cfe2d5c
CI_JOB_ID:5625
CI_作业_名称:pylint
CI_作业_阶段:构建
CI提交:ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_提交_参考_名称:主
CI_提交_参考_段塞:主
CI_注册表_用户:gitlab CI令牌
CI_BUILD_ID:5625
CI构建参考:ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
施工前施工:ECE31293F8EEB3A36A85B79D4D21E0EBE8008F
CI_构建_参考_名称:主
CI_构建_参考_段塞:主
CI_构建_名称:pylint
CI_构建_阶段:构建
CI_项目编号:1570
CI_项目名称:布拉布拉布拉
CI_项目路径:blabla
CI_项目_路径_SLUG:blabla
CI_项目_命名空间:vcs
CI_项目_URL:https://blablabla
CI_管道编号:2574
CI_配置_路径:.gitlab-CI.yml
CI_管道_来源:推送
CI_RUNNER_ID:111
CI_RUNNER_描述:在kubernetes上进行测试
CI_RUNNER_标记:docker映像构建
CI_注册表:blabla
CI_注册表_图像:blabla
派林特之家:./派林特之家
GITLAB_用户_ID:2277
GITLAB_用户_电子邮件:blabla
帮手:
图片:gitlab/gitlab runner帮助程序:x86_64-a9a76a50
端口:
命令:
嘘
-c
如果[-x/usr/local/bin/bash];然后
exec/usr/local/bin/bash
elif[-x/usr/bin/bash];然后
exec/usr/bin/bash
elif[-x/bin/bash];然后
exec/bin/bash
elif[-x/usr/local/bin/sh];然后
exec/usr/local/bin/sh
elif[-x/usr/bin/sh];然后
执行官/usr/bin/sh
elif[-x/bin/sh];然后
行政主任/银行代码/上海
其他的
未找到回音外壳
出口1
fi
卷装载:
/来自default-token-1qm5n(ro)的var/run/secrets/kubernetes.io/serviceCount
/来自回购(rw)的风险投资
环境变量:
CI_项目总监:布拉布拉布拉
CI_服务器:是
CI_服务器\u TLS\u CA_文件:-开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
-----开始证书-----
喋喋不休
-----结束证书-----
CI:没错
GITLAB_CI:没错
CI_服务器_名称:GitLab
CI_服务器版本:9.5.5-ee
CI_服务器_版本:cfe2d5c
CI_JOB_ID:5625
CI_作业_名称:pylint
CI_作业_阶段:构建
CI提交:ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
CI_提交_参考_名称:主
CI_提交_参考_段塞:主
CI_注册表_用户:gitlab CI令牌
CI_BUILD_ID:5625
CI构建参考:ece31293f8eeb3a36a8585b79d4d21e0ebe8008f
施工前施工:ECE31293F8EEB3A36A85B79D4D21E0EBE8008F
CI_构建_参考_名称:主
CI_构建_参考_段塞:主
CI_构建_名称:pylint
CI_构建_阶段:构建
CI_项目编号:1570
CI_项目名称:布拉布拉布拉
CI_项目路径:blabla
CI_项目_路径_SLUG:blabla
CI_项目_命名空间:vcs
CI_项目_URL:blabla
CI_管道编号:2574
CI_配置_路径:.gitlab-CI.yml
CI_管道_来源:推送
CI_RUNNER_ID:111
CI_RUNNER_描述:在kubernetes上进行测试
CI_RUNNER_标签:
selector:
matchLabels:
name: gitlab-runner
selector:
matchLabels:
name: gitlab-runner
template:
metadata:
labels:
name: gitlab-runner