K8S在大集群中的问题集锦之一
# 前言
k8s在大集群下会遇到各种各样有意思的问题, 在此记录一些遇到的问题。
# 大应用服务的变更的坑
1. 镜像下载对带宽压力的影响
海量的node同时去下载业务镜像, 会对集群的带宽产生压力, 甚至可能影响到正常业务, 另外如果镜像仓库有流量限制, 也会对应用的变更操作造成影响, 有可能会卡死
2. 磁盘空间的浪费
海量的业务也意味着海量的镜像和容器, 节点上保存太多的容器和镜像会对磁盘造成影响, 而如果去设置kubelet的垃圾回收机制,又可能会遇到上面的问题
【】
3. 集群资源使用的不可控
k8s的应用有个特点-滚动更新(rollingUpdate), 在普通集群中可能没啥问题, 但是在大集群中就会有意想不到的问题, 例如, 一个10000个pod的deploy走滚动更新,按照默认的maxSurge 25%, 那么在更新的过程中,集群中就会同时存在12500个pod
一般对于大集群来说, 冗余的节点资源是非常有限的, 毕竟50万C的集群,多冗余10%就是5万C, 这是非常浪费的, 并且上面只是一个应用的更新, 如果集群同时有多个应用更新, 那么对集群资源的使用就难以控制了, 如果此时集群出现一些节点的宕机,可能会对业务的稳定性造成影响
而简单的把滚动更新的配置调小, 那么对于应用的更新速度又可能会受到影响, 毕竟谁也不想花大把时间更新一个应用
扫码关注我
天府云计算架构茶话会