加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Kubernetes行使时必要留意的坑点

发布时间:2019-06-24 10:16:22 所属栏目:移动互联 来源:aoxiang
导读:在Kubernetes实践的进程中,蕴蓄了一些填坑履历,小做总结,拿来分享一下。 但愿能对筹备或正在行使Kubernetes的小搭档提供辅佐。 转动进级之更新太慢 默认环境下,转动进级是逐个更新的,当有几十上百个Pod必要更新时,再加上停当检测,整个进程将会更慢

在Kubernetes实践的进程中,蕴蓄了一些填坑履历,小做总结,拿来分享一下。

但愿能对筹备或正在行使Kubernetes的小搭档提供辅佐。

Kubernetes行使时必要留意的坑点

转动进级之更新太慢

默认环境下,转动进级是逐个更新的,当有几十上百个Pod必要更新时,再加上停当检测,整个进程将会更慢。假如你想和更多Kubernetes技能专家交换,可以加我微信liyingjiese,备注『加群』。群里每周都有环球各大公司的最佳实践以及行业最新动态

办理要领:

  1. rollingUpdate: 
  2.    maxSurge: 20% #每个转动更新的实例数目 
  3.    maxUnavailable: 10% #应承更新进程中有几多实例不行用 

停当检测之无损更新

凡是,处事重启的时辰会有一小段时刻是无法正常提供处事的。

为了停止这个进程中有哀求的流量进来,我们可以行使停当检测来检测处事是否停当可正常吸取并处理赏罚哀求。

  1. ...... 
  2.         readinessProbe: 
  3.           httpGet: 
  4.             host: api.xxx.com 
  5.             path: / 
  6.             port: 80 
  7.           initialDelaySeconds: 3 # 容器启动3秒后开始第一次检测 
  8.           periodSeconds: 60 # 每隔60s检测一次 
  9.           timeoutSeconds: 3 # http检测哀求的超时时刻 
  10.           successThreshold: 1 # 检测到有1次乐成则以为处事是`停当` 
  11.           failureThreshold: 1 # 检测到有1次失败则以为处事是`未停当` 
  12. ...... 

停当检测之全面瘫痪

停当检测是把双利剑,用欠好,反而轻易出大题目,好比处事全面瘫痪。

我们可以看到上面停当检测的设置,裂痕百出。

好比:超时,高并发环境下,哀求处理赏罚不外来,个体处事很轻易导致检测哀求的超时(504),立马被以为未停当,于是流量被转移到其余处事,进而让原来就高负荷的其余处事呈现同样环境,恶性轮回,很快,全部处事都被以为是未停当,功效发生全面瘫痪征象。

办理要领:配置更长的超时时刻,以及更高的失败次数。

从头陈设,这种环境也许是误操纵,也也许是其余非常导致处事挂了。总之,你必要在用户还在不绝实行哀求你处事的时辰重启。你会惊奇的发明,一向无法正常启动为停当状态,全部处事都是未停当。同样的缘故起因,处事启动进程不是一次所有起来,而是逐批启动,这样每批处事启动后都无法hold住流量,于是照旧恶性轮回,全面瘫痪。

办理要领:先去掉停当检测再从头陈设。

自动扩展之瞬时岑岭

自动扩展POD固然好用,但假如扩展的指标(CPU、内存等)配置的过高,如:50%以上,那么,当溘然有翻倍的流量过来时,根原来不及扩展Pod,处事直接就超时或挂掉。

办理要领:尽也许的把指标配置在一个较小的值,对以往流量做参考评估,确保了当有2倍、3倍乃至5倍的流量突袭时不至于hold不住。

自动伸缩之提前扩容

凡是,节点的自动伸缩依靠于Pod的自动扩展时资源是否富裕。然而在面临按时溘然流量岑岭的营业时,这种伸缩显然来不及,乃至经常呈现岑岭10分钟后才扩容的呆板,流量已经回到低谷,完全启不到浸染。而且,流量到底是由于营业属性很快回落,照旧由于扩容不实时导致的流失?

办理要领:按照自身营业,参考以住流量数目及推广时刻,找到纪律,提前或按时触发自动扩容。

容器运行之僵尸历程

这是一个Docker旧版(<1.13)已知题目,有些容器启动后会呈现defunct历程(ps aux | grep defunct),并且会越来越多,称为僵尸历程,也许导致内存走漏,并且kill不掉,除非重启容器。

办理要领:tini

集群节点之移除节点

怎样安详地移出节点?这个节点上面陈设了你的营业,乃至包罗kube-system的对象。

办理要领:kubectl drain,可以先把节点上的Pod遣散到其余节点,然后再移出该节点。

【编辑保举】

  1. 使Kubernetes更好用的22个开源器材
  2. Kubernetes怎样低落云的伟大性
  3. 甲骨文推出新的云基本办法署理 令Kubernetes开拓职员的糊口更轻松
  4. 切磋Kubernetes的差异陈计划策
  5. Kubernetes 收集、监控技能全面解读
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读