我们真的需要k8s吗?

383 阅读3分钟

k8s是什么?Kubernetes的简称。

Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。它最初由Google开发,并在2014年发布为开源项目,现在由Cloud Native Computing Foundation(CNCF)进行维护和发展。Kubernetes的目标是简化容器应用程序的部署和管理,并提供可靠的、可扩展的容器编排解决方案。它可以自动地管理和调度多个容器化应用程序,确保它们能够在不同的主机上平稳地运行。Kubernetes提供了一组API和工具,使开发人员和运维人员能够更轻松地管理容器化应用程序的生命周期,包括部署、扩展、更新和监视。使用Kubernetes,开发人员可以更轻松地构建、测试和部署容器化应用程序,而运维人员可以更轻松地管理和监视它们。它还支持多云和混合云环境,使您可以在不同的云提供商和数据中心之间移动应用程序,从而实现更高的可靠性和弹性。总之,Kubernetes是一个功能强大且广泛使用的容器编排平台,它可以帮助企业更有效地管理和运行容器化应用程序,并为开发人员和运维人员提供更高的生产力和可靠性。

flower.svg

概括起来,k8s就一个容器编排工具,解决了存储、网络、安全等一系列基础服务;在此基础之上又解决了内部、外部流量平滑调度问题;同时又给运维、开发、测试人员解决了持续集成发布的问题;最后还解决了监控的问题。可谓是一个生态全家桶在手,万事都不愁啊。

这么完美的一个系统,真的只需要把它单纯当作一个开源软件,开箱即用就可以了么?

783b-2c43ba9260f4309dfb702fa89aaf3a12.jpg

说到这里,就不得不提下云原生的概念,云原生主要包括四个部分:微服务、容器化,DevOps和CI/CD。不知道大家发现没有,云原生的这四个部分,其实k8s都提供了对应的解决方案。那解决好这四个部分,我们不就可以游刃有余的使用k8s了么。然而目前很多企业的产品都是为了k8s去k8s,有一种这个年代,不用k8s都不好意思说出口的错觉。

适合云原生技术的企业不适合云原生技术的企业
容器化裁剪镜像,优化启动参数,资源限制等把jar包打进镜像便是容器化
微服务拆分、解耦服务偏重的单体服务或者象征性的拆解一部分
CI/CD具备完整的基于k8s持续交付的流水线流水线本质还是基于非k8s环境下的操作
DevOps开发、运维、测试都具备相关的理念和技术基本没有相关理念
K8S完全基于k8s去实现各类功能k8s只是一个管理容器的平台

k8s从表面上看只是一个工具链而已,实则包含了很多理念和开发模式在其中,毕竟是Google出品。所以说用好k8s,人的理念是第一位的,然后是技术和对业务的熟悉,最后才是软件;具备微服务的理念和相关技术后,其实用不用k8s都可以打造出一个很好的容器编排平台。反之就需要考虑下k8s真的适合你们吗?

最后顺便提一句,国内多半是业务驱动型企业,做好业务,才能活下去,至于要不要k8s,是个可选项,不是必选项。