【问题标题】:Azure Disk PVC on AKS -- Value too large for defined data type at mounted locationAKS 上的 Azure 磁盘 PVC - 对于挂载位置上定义的数据类型,值太大
【发布时间】:2021-11-05 06:14:42
【问题描述】:

我们在 AKS 中有一组运行 CI/CD 系统(GitHub Actions 运行程序)的 Pod,每个 Pod 都有一个 32 GiB Azure 磁盘(标准 SSD),附有 PVC,我们在其中挂载 /var/lib/docker ,以便缓存基于 docker 图像的 GitHub 操作层(我们使用 DinD,并在 pod 启动时在脚本中启动 docker 守护程序)。 Pod 作为 StatefulSet 运行,PV 使用 volumeClaimTemplates 附加。

大约有 30% 的 pod 启动时,尝试访问 /var/lib/docker 会导致 值对于定义的数据类型而言太大。结果,docker 守护进程无法启动。 以下是来自 docker daemon 的日志

当尝试 chmod 从命令行更改 /var/lib/docker 的权限时,错误是一样的。

手动杀死 pod 并重新创建它通常可以解决问题,因为它是一个间歇性问题,并且似乎没有遵循任何模式。查看集群日志显示所有 PV 都被附加,没有问题,也没有显示错误。

我们用于跑步者的图像基于 ubuntu:focal,我们正在安装以下软件包:

gnupg2 gnupg apt-transport-https ca-certificates software-properties-common pwgen git make curl wget zip libicu-dev build-essential libssl-dev git rsync lsb-release jq nodejs npm openjdk-16-jdk

OS information:

Distributor ID: Ubuntu    
Description:    Ubuntu 20.04.3 LTS    
Release:        20.04    
Codename:       focal    
Platform:       x86_64

Kubernetes 版本:1.20.9

研究表明一个 32 位应用程序试图访问一个大文件或大量文件,但我希望这样的问题总是会发生,而不是间歇性地发生,就像这种情况一样。

关于这个问题背后的原因有什么提示吗?

更新 作为附加信息,我们使用 sysbox(CE,版本 0.4.1)在 docker 中运行 docker。我们发现 sysbox 在 /var/lib/docker 中执行 shiftfs,这不应该发生,因此可能是 sysbox 的问题。

【问题讨论】:

    标签: docker azure-aks persistent-volumes


    【解决方案1】:

    经过进一步调查,发现问题是由 sysbox 中的错误引起的,现已纠正。

    详情可以在这里找到:

    https://github.com/nestybox/sysbox/issues/431

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-21
      • 2019-08-22
      • 2019-11-27
      • 2019-11-08
      • 1970-01-01
      • 2021-09-22
      • 2020-07-19
      • 1970-01-01
      相关资源
      最近更新 更多