Google Kubernetes Engine(GKE)节点池CPU升级及Nexus资源不足问题咨询
GKE Nexus资源不足及节点规格升级解决方案
问题根因说明
你之前新增节点无法解决问题的核心原因是新增节点依然为4核规格,GKE节点需要预留部分CPU给kubelet、操作系统组件运行,因此4核物理节点的可分配CPU仅为3.92核,本身小于Nexus要求的4核CPU请求阈值,无论新增多少个同规格节点,都没有节点能满足Nexus的调度要求。
方案1:升级现有节点池节点规格为6核
操作步骤如下:
- 先切换到对应GKE集群的操作上下文:
gcloud config set container/cluster <你的集群名称> --zone <集群所在可用区> - 执行节点池更新命令,将节点机型替换为6核对应规格(比如你当前用的是e2-standard-4就替换为e2-standard-6,保持机型系列一致即可):
gcloud container node-pools update <你的节点池名称> --machine-type <6核机型名称> --zone <集群所在可用区> - 注意:节点池更新会触发滚动重建所有节点,多副本业务不会中断,但如果你的Nexus是单副本挂载本地盘的场景,建议提前备份Nexus数据后再执行升级,避免数据丢失。
- 升级完成后6核节点的可分配CPU约为5.9核,完全满足Nexus的4核最低配置要求。
方案2:无需改动现有节点池的替代方案
如果不想调整现有业务节点的配置,可以选择以下成本更低的方案:
新增Nexus专属节点池
单独新建1个仅包含1~2个节点的专属节点池,直接选择6核及以上规格机型,给该节点池添加污点node-role=nexus:NoSchedule,同时给Nexus的Deployment配置对应的容忍度和节点选择器,强制Nexus调度到专属节点池,既满足资源要求,也不会影响现有业务节点的运行。临时调整Nexus资源配置
短时间无法调整节点规格的话,可以先修改Nexus的Deployment配置,将resources.requests.cpu调低至3核,resources.limits.cpu保持4核,只要节点实际CPU负载不长期跑满3核,Nexus可以正常运行,后续资源充足后再调回官方要求的配置即可。清理节点闲置资源
检查当前目标节点上的闲置负载,比如测试用临时Pod、已完成的Job残留、低优先级的非核心业务Pod,手动清理释放CPU资源,也有可能释放出足够的可分配CPU满足Nexus的运行要求。
内容的提问来源于stack exchange,提问作者StackOverflow Asker
相关产品推荐
相关产品推荐

