kubernetes和docker为代表的容器技术越来越火,打开猎聘等求职网站,招聘devops和运维岗位,技能要求都会写上有kubernetes经验优先。

这貌似不会kuberntes是做不了devops呢?

其实我觉得真有点神化kubernetes了。就好像kubernetes有什么魔法似的,有了它整个运维体系就跑起来了。

真是这样么? 在软件行业没有银弹。 devops、sre这个细分领域同样没有。

kuberntes整个体系非常庞大, 每一个细分领域都需要单独研究, network, ingress, serivce, volume,甚至configmap没有经过实践,没有计算机基础知识,没有传统运维得经验, 没有开发者思维怕是一时半会理解不了。

如果想直接转化成生产力,如果要么小规模实验,要么团队够强。

为什么这么说呢?

对于一家中小公司,开发者数十人一下规模,线上业务模式又非常复杂的,还是别急于上线了。我觉得有一下两个原因

  1. 人员成本问题。 熟练掌握kuberntes的sre/devops本身薪水不低, 一家中小公司更应该把重心放在产品和赚钱上面,运维方面自动化脚本加物理机加云产品的选择更加方便快捷。
  2. kubernetes逻辑复杂,维护起来复杂度高。大家都知道kuberntes 一套框架搭建起来就够复杂了, 更别说还要配置各种容器,ingress, 等等了。而一旦出问题,如果运维能力不够真的就是抓虾。现在云平台的控制面基本上免费提供给客户使用,省了不少时间精力。但整体难度依然很大。

对于一家中小公司,从运维角度来看,自动化、标准化、信息化这些基础的才是最重要的。

比如说大家的git普及了没有, 基于git的CI/CD做得如何?CMDB是否有效运转, 常见问题,解决思路是否已经文档化,报警是否完备有效?

如果以上都比较完备了,考虑kuberntes 确实对于团队对于个人都是由帮助的。不然盲目考虑kuberntes, 我觉得这些操作更像是运维岗在刷题,刷简历,给自己镀金,为下一份工作做准备。

我的观点,团队实力强, 运维体系已经成型,且有时间的中小公司和大公司可以考虑kubernetes,中小公司,中小团队还是做好基础组件自动化以及信息化,如果想在容器上有所突破,可以先小规模试水docker,作为kuberntes的试金石。