在 Kubernetes 中运行时,TeamCity 服务器报告可用磁盘空间为零

在 Kubernetes 中运行时,TeamCity 服务器报告可用磁盘空间为零

我在 TeamCity 服务器(和 TeamCity 代理)上遇到了一个奇怪的问题。我让它们在 Kubernetes 中运行。它们都报告说可用磁盘空间为零。但是,磁盘空间足够,如果我忽略这些警告,一切都会正常。

例如这是 TeamCity 服务器的消息:

Warning: Low disk space for the directory: "/data/teamcity_server/datadir/system".
Disk space available: 0 B which is below the limit of 500 MB.
Please contact your system administrator.

部分版本:

  • 物理主机是Ubuntu Trusty 14.04.5
  • minikube 0.23
  • kubectl 1.8.3 客户端,1.8.0 服务器
  • TeamCity 服务器 2017.1.5(内部版本 47175)
  • TeamCity 代理 47175(我认为与服务器版本相同)

TeamCity 服务器和代理的 Docker 镜像在卷方面均配置正确。我可以看到这一点,因为所有文件和文件夹都正确写入了主机上。

然而,TeamCity 坚持认为没有可用磁盘空间。这会导致一些不必要的烦人的警告,但它还会自动暂停构建队列,这意味着每次我想运行构建时,我都必须手动登录并取消暂停队列。

有人遇到过这种情况吗?听起来像是 TeamCity 尝试确定剩余磁盘空间的问题,但我不知道如何解决这个问题,而且我在网上也找不到相关资料。

答案1

好的,在其他几台计算机上重复设置后,我发现问题是典型的 PEBKAC 案例。

我错误地将文件夹的物理路径配置为“/home/myuser/foo”。在 Linux 主机上,“/home”目录在 minikube 中显示为“/hosthome”。因此,正确的使用方法与 minikube 内部看到的方式相同,即“/hosthome/myuser/foo”。

如果它可以帮助别人:

  1. 使用 minikube ssh 来仔细检查。
  2. 在 Mac 主机上,“/Users/foo”在 minikube 内显示为“/Users/foo”(未改变)。
  3. 在 Windows 主机上,“C:\Users\foo”在 minikube 中显示为“/c/Users/foo”。
  4. 在 Linux 主机上,“/home/foo”在 minikube 内显示为“/hosthome/foo”。

相关内容