1.第一点,在提升成功率的进程中,我们面临的最大问题就是镜像下载的问题。要知道,Pod 必须在规定时间内交付,而镜像下载通常需要非常多的时间。为此,我们通过计算镜像下载时间,还专门 设置了一个ImagePullCostTime 的错误,即镜像下载时间太长,导致 Pod 无法按时交付。还好,阿里镜像分发平台 Dragonfly 支持了 Image lazyload 技术,也就是支持远程镜像,在 Kubelet创建容器时,不用再下载镜像。所以,这大大加速了 Pod 的交付速度。 2.第二点,对于提升单个 Pod 成功率,随着成功率的提升,难度也越来越难。可以引入一些workload 进行重试。在蚂蚁,paas 平台会不断重试,直到 Pod 成功交付或者超时。当然,在重试时,之前的失败的节点需要排除。 3.第三点,关键的 Daemonset 一定要进行检查,如果关键 Daemonset 缺失,而把 Pod 调度上去,就非常容易出问题,从而影响创建/删除链路。这需要接入故障机体系。4. 第四点,很多 Plugin,如 CSI Plugin,是需要向 Kubelet 注册的。可能存在节点上一切正常,但 向 Kubelet 注册的时候失败,这个节点同样无法提供 Pod 交付的服务,需要接入故障机体系。最后一点,由于集群中的用户数量是非常多的,所以隔离非常重要。在权限隔离的基础上,还需要 做到 QPS 隔离,及容量的隔离,防止一个用户的 Pod 把集群能力耗尽,从而保障其他用户的利益。
答复内容摘自《云原生技术与架构实践年货小红书》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1127
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。