前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8S node NotReady 后如何保证服务可用

K8S node NotReady 后如何保证服务可用

作者头像
YP小站
发布2020-06-04 15:45:58
1.6K0
发布2020-06-04 15:45:58
举报
文章被收录于专栏:YP小站

k8s 集群提供的功能

  • 调度与扩展,容器应该在哪里运行,根据 CPUMEMORY 实现自动扩容
  • 生命周期和健康状况,能自动替换失效的 POD,防止服务中断
  • 服务发现,自动发生一组容器,并实现相互通信
  • 监控,剔除故障节点,保证容器正常运行
  • 认证,谁能访问我

K8S 架构草图

Node 是什么?

NodeKubernetes工作节点,以前叫做 minion。取决于你的集群,Node 可以是一个虚拟机或者物理机器。每个 node 都有用于运行 pods 的必要服务,并由 master 组件管理。Node 上的服务包括 Docker网络组件 (flannel)kubeletkube-proxy

Node Conditions 字段描述

Node 条件

描述

Ready

True 节点运行状况良好并准备好接受Pod,False 如果节点运行状况不佳并且未接受Pod,Unknown 节点控制器最近一次未从节点收到消息 node-monitor-grace-period(默认值为40秒)

MemoryPressure

True 节点内存上存在压力,即节点内存不足;除此以外 False

PIDPressure

True 进程是否存在压力,即节点上的进程是否过多;除此以外 False

DiskPressure

True 磁盘大小是否受到压力,即磁盘容量是否不足;除此以外 False

NetworkUnavailable

True 节点的网络配置不正确,否则 False

Node 故障,什么时候驱逐 Pod

是由 Master 组件 kube-controller-manager 两个参数控制:

  • --pod-eviction-timeout:缺省为 5m,删除故障 node 上 Pod 的宽限期
  • --node-monitor-grace-period:缺省为 40s,在标记 node 运行状况为不正常之前,允许运行的 node 停止响应的时间

保证服务可用一些方法

  • Pod 部署能提高服务性能,并且遇到极端情况也保证服务高可用
  • 建议采用节点互斥的方式进行部署
  • 对关键组件的监控,应该建立从进程到指标的多级监控,减小服务故障的时间
  • Pod 存活检查健康检查,对容器内应用监控是非常必要的
  • 云上 K8S集群 Node节点应选择多个 可用区
  • 集群Master组件 kube-apiserverkube-controller-managerkube-scheduler 一定要支持高可用
  • ETCD 也要支持高可用
  • 尽量程序操作,减少人为失误

参考链接

  • https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
  • https://kubernetes.io/docs/concepts/architecture/nodes/
  • https://blog.fleeto.us/post/node-downtime/

欢迎大家关注交流,定期分享自动化运维、DevOps、Kubernetes、Service Mesh和Cloud Native

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 YP小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • k8s 集群提供的功能
  • Node 是什么?
  • Node Conditions 字段描述
  • Node 故障,什么时候驱逐 Pod
  • 保证服务可用一些方法
  • 参考链接
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档