gitlab - 错误:准备失败:获取 Kubernetes 配置:无效配置:未提供配置 Gitlab
问题描述
嘿伙计们,这阻塞了我的流量!我在我的 Windows 机器上安装了我的 gitlab 运行器。
我在 kubernetes 执行器上注册了一个跑步者。它以前可以工作,但现在不行了。
我有一个 kubernetes 集群(由 docker desktop 提供),我的作业日志显示此错误:
ERROR: Preparation failed: getting Kubernetes config: invalid configuration: no configuration has been provided
我检查了有关此问题的其他一些资源,例如:this gitlab runner issue、this other gitlab issue和this SO questions,但没有解决方案。
我的跑步者设置中的跑步者正在跑步(绿色)
该config.toml
文件看起来正确:
concurrent = 5
check_interval = 0
[session_server]
session_timeout = 1800
[[runners]]
name = "kubernetes runner"
url = "https://gitlab.com/"
token = "My_Token"
executor = "kubernetes"
[runners.custom_build_dir]
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.cache.azure]
[runners.kubernetes]
host = ""
bearer_token_overwrite_allowed = false
image = ""
namespace = ""
namespace_overwrite_allowed = ""
privileged = false
service_account_overwrite_allowed = ""
pod_annotations_overwrite_allowed = ""
[runners.kubernetes.affinity]
[runners.kubernetes.pod_security_context]
[runners.kubernetes.volumes]
[runners.kubernetes.dns_config]
并且配置文件肯定在我的主目录中$HOME/.kube
我不确定在 Windows 上是如何工作的,也许代码无法配置为在 Windows 中找到此路径?问题是,它曾经工作过!
也在运行:
kubectl get pods
返回结果
有谁知道可能是什么原因?
解决方案
我有同样的问题。
我发现,当您运行时,您kubectl
使用 root 或某个用户运行它。然而,gitlab-runner
有一个单独的用户。
运行kubectl
有效,因为此用户有一个 Kubernetes 配置目录/home/<kubectl-user>/.kube
。它不适用于您的 gitlab 运行器,因为用户没有配置目录。
复制/home/<kubectl-user>/.kube/
到/home/<gitlab-runner-user>/
应该可以解决您的问题
推荐阅读
- css - bootstrap 和 bootstrap-rtl 在 LTR 模式下是不同的
- sql - 在同一列和表的两个不同日期之间计数
- python - Extract data from section of web page
- react-native - react-native-router-flux 将 props 传递给 tabbar 组件
- python - Python - read a text file with multiple lines into a list
- android - 即使我只在一个列表视图项目中按下按钮,多个列表视图项目按钮也会被按下
- java - 构建会话工厂时在字节伙伴中休眠 NoSuchMethodError
- python - Define custom seaborn color palette?
- python - Get value as list in pandas
- javascript - Calculation of total of three fields not working in angular