Azure Kubernetes Service(AKS)允许的Docker镜像最大大小是多少
AKS 平台 Docker 镜像最大尺寸规则说明
AKS 没有设置平台层面统一的 Docker 镜像尺寸硬上限,和 Azure Container Instance(ACI)固定15GB的全局限制逻辑完全不同,实际可正常使用的镜像大小完全受集群自身配置约束,核心影响因素如下:
- 节点磁盘容量
AKS 节点的容器镜像、运行时数据默认存储在节点OS盘的专用分区,不同节点SKU对应的默认OS盘容量不同,常规通用型节点默认OS盘为128GB,该分区除了存镜像,还要预留空间给容器可写层、kubelet组件日志、系统预留资源,单镜像大小建议不超过节点可用数据分区的60%,否则容易触发磁盘压力导致Pod驱逐、镜像拉取失败。如果有大镜像需求,可以在创建节点池时挂载独立大容量数据盘,将containerd运行时的存储目录配置到数据盘上,扩展可用存储空间。 - 容器运行时约束
当前AKS默认使用的containerd运行时没有单镜像尺寸的硬编码限制,只要节点磁盘空间充足即可正常拉取运行;仍在使用旧版Docker运行时的存量集群,搭配overlay2存储驱动时也没有单镜像的强制尺寸上限,仅受节点磁盘空间约束。 - 拉取流程软限制
存储镜像的ACR高级版SKU本身支持最大200GB的单镜像,但过大的镜像会大幅拉长Pod启动、节点扩容的耗时,容易触发kubelet默认的5分钟镜像拉取超时阈值(对应配置项image-pull-progress-deadline),生产环境如果没有特殊需求,建议通过多阶段构建、冗余文件裁剪的方式把单镜像控制在10GB以内,降低拉取失败风险。
目前AKS官方文档没有给出统一的全局镜像尺寸上限数值,本质就是因为该阈值不做全局统一限制,完全跟随用户侧的集群节点配置变化,不存在和ACI对齐的15GB固定上限。
内容的提问来源于stack exchange,提问作者Anand Moghe
相关产品推荐
相关产品推荐

