AKS 上的 Azure 磁盘 PVC -- 对于已安装位置定义的数据类型,值太大
Azure Disk PVC on AKS -- Value too large for defined data type at mounted location
我们在 AKS 运行 中有一个 pods 舰队 CI/CD 系统(GitHub 行动 运行 人员),每个人都有一个附有 PVC 的 32 GiB Azure 磁盘(标准 SSD),我们在其中安装 /var/lib/docker,以便缓存基于 docker 图像的 GitHub 操作层(我们使用 DinD 并开始pods 启动时脚本中的 docker 守护进程)。 pods 运行 正在作为一个 StatefulSet 和使用 volumeClaimTemplates 附加的 PV。
大约 30% 的 pod 启动时间,尝试访问 /var/lib/docker 会导致 对于定义的数据类型来说值太大 。因此,docker 守护程序无法启动。
以下是来自 docker 守护程序
的日志
当尝试 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 打开jdk-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 in docker。我们发现 sysbox 在 /var/lib/docker 中执行 shiftfs,这不应该发生,因此可能是 sysbox 的问题。
经进一步排查,发现问题是由sysbox中的一个bug引起的,现已修复。
可在此处找到详细信息:
我们在 AKS 运行 中有一个 pods 舰队 CI/CD 系统(GitHub 行动 运行 人员),每个人都有一个附有 PVC 的 32 GiB Azure 磁盘(标准 SSD),我们在其中安装 /var/lib/docker,以便缓存基于 docker 图像的 GitHub 操作层(我们使用 DinD 并开始pods 启动时脚本中的 docker 守护进程)。 pods 运行 正在作为一个 StatefulSet 和使用 volumeClaimTemplates 附加的 PV。
大约 30% 的 pod 启动时间,尝试访问 /var/lib/docker 会导致 对于定义的数据类型来说值太大 。因此,docker 守护程序无法启动。 以下是来自 docker 守护程序
的日志当尝试 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 打开jdk-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 in docker。我们发现 sysbox 在 /var/lib/docker 中执行 shiftfs,这不应该发生,因此可能是 sysbox 的问题。
经进一步排查,发现问题是由sysbox中的一个bug引起的,现已修复。
可在此处找到详细信息: