kubernetes从2014年6月份面世以来,一直处于一种高速的发展模式,是目前最火的开源技术,没有之一。截至2020年9月27日,已经v1.20.0-alpha.1版本了,基本保持着每年3个版本的发布速度,可见其火爆程度。
由于Kubernetes大火,再加上一些大厂的推广,现在使用kubernetes成为了一种“潮流”,不论小厂还是大厂都在往这方面靠。大厂就不说了,人家技术底蕴深厚,人才储备充足,资金力量雄厚,他们想干嘛就干嘛。但是对于大部分中小企业来说,kubernetes并不是那么好用的。
以下是从运维的角度来分析的。
要使用Kubernetes肯定得先学习它,要学Kubernetes又得先学容器,要学容器又得先学linux,反正这就是一环套一环。如果是长期从事这方面职业的学习时间可能快点,但是对于不经常使用或者门外汉来说就难了。 我们先看Kubernetes的架构,如下:
kubernetes的架构并不复杂,安装部署也很简单,但是我们要用好它必须得学习它们的原理,只有深入了解它们的原理才能算入门了。然后还需要去学习各种名词以及它们的意思,比如:
然后你还得具备一定的网络知识,如下:
除了网络还有存储,对于存储方面需要考虑以下几个问题:
上面仅仅是简单说明了一下需要了解组件,了解一些名词,注意网络和存储等。但是在实际工作中涉及的周边产品非常多。
上面这些都是普通使用需要学习的东西,实际在工作中还有很多的需求,比如要二次开发,你得去学习源码相关的知识,如果你不会go语言,你还得去学习go语言。这样算下来的学习成本是相当高的。
就算前期的学习方面没问题,我们也不得不考虑一个问题:企业真的需要Kubernetes吗? 假如你的公司就3-5个应用,现在传统部署运行的好好的,你需要Kubernetes吗?我们不能为了用Kubernetes而用kubernetes,我们要考虑用Kubernetes会给公司带来多少效益?我们切换的代价有多大?其他技术人员接受Kubernetes的时间会有多长?公司目前的技术储备,人才储备能够很好的维护这部分系统吗? 这些都是我们要考虑的一个问题,毕竟公司的目标的挣钱,虽然它不在乎你下面的人是怎么做的,但是它在乎你下面的人能不能稳定的让它挣钱。
上面其实已经说了技术广,那么随之而来的就是维护成本大。在中小企业中运维就2-3个人,但是要维护的技术栈却非常多,这就要求运维人员每个人都要懂、要会,这样的技术人才本身就少,所以就会造成公司运维人员技术实力良莠不齐,在本身繁重复杂的情况下再火上浇油。
推行Kubernetes并不是运维说上就上,还需要开发、测试等的配合才行。首先得给开发以及测试培训kubernetes相关知识,比如kubernetes的基本概念,如何查看日志,如何部署等。然后还要统计整理是否需要改代码等。这还是在相当配合的情况下,如果不配合的情况下就没办法搞了。所以要推Kubernetes,平级推的难度系统⭐⭐⭐⭐⭐,由上而下要好一些,这就要求你如何去打动上级实施推广kubernetes。
圈里传的一句话是“容器节约资源”。实际上节约资源并不代表节约成本,所以你需要去考虑使用Kubernetes会花多少钱。在中小企业中钱是一个敏感数字,在同样的使命下,如果价格太昂贵,那么是否还有必要推行下去? 在考虑 Kubernetes 是否适合你的项目或组织时,我说了自己的一些看法,但是这不妨碍kubernetes是一个非常优秀的项目,而且我个人是非常热爱这个项目的。我们目前在使用它,在这个过程中的感受是不是我们会用,是让别人能够轻松使用。
完