Kubernetes应用场景
Kubernetes,简称 K8s,是用 8 代替中间 8 个字符 “ubernete” 而成的缩写,是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes 提供了应用部署,规划,更新,维护的一种机制。Kubernetes 是一个分布式系统:有一台控制工作机器的主机器,工作被安排在不同的工作机器上。然后,每台机器在容器中运行工作。

Kubernetes是否适合项目?
项目应该具有多个服务或实例

从单体架构应用,部署应用只有一个或几个,部署与伸缩的确不算是麻烦,此时Kubernetes的确没有必要了。当拥有庞大的微服务架构时,或者每个租户都有专用实例,同时又有很多租户时,Kubernetes才有意义。
另外,服务应该是无状态的,并且状态应该存储在群集之外的数据库中。Kubernetes的另一个卖点是对网络的精细渐变控制。而且,也许使用Kubernetes的最普遍的论点是它提供了容易的可伸缩性。
如果不需要可扩展性,那么Kubernetes不适用!

如果服务严重依赖磁盘,那么是否要迁移到Kubernetes都应该三思。基本上,一个磁盘只能连接到一个节点,因此所有服务都需要驻留在该节点上。因此,将失去节点自动缩放功能,这是Kubernetes的最大卖点之一。出于类似的原因,如果不在公共云中托管基础架构,则可能不应该使用K8S。在本地运行应用程序时,您需要事先购买硬件,而不能仅仅凭空想像一下机器。因此,基本上,您也将失去节点自动扩展功能,除非您愿意使用混合云并通过分解公共云中的某些计算机来消除一些多余的负载。
如果有一个为所有客户提供服务的整体应用程序,并且需要在各处进行扩展,那么云服务提供商可以通过自动扩展组为您处理该应用程序。确实没有必要为此引入Kubernetes。
微服务
基于微服务的常规体系结构,该体系结构包含许多通过HTTP和消息传递队列进行通信的服务。每个服务都有其自己的数据库,并且大多数服务都在Minio中存储了一些文件。Minio是一个实现S3 API的对象存储系统。

当系统允许运行多服务时,很容易就会编写许多服务。其实,这并不是个好主意。
首先,分布式应用程序很难编写,服务越多,问题就会越多。
其次,分布式应用程序很难调试,可能需要新的工具和日志记录来调试。
微服务其实是一种组织层面的扩展技术,当 500 名开发人员在共同开发一个网站时,不同的开发团队需要独立工作,这时支付大规模分布式系统的成本是有意义的,如果是一个 5 人团队,微服务是没有意义的。
除非你的应用程序真的复杂到必须使用 Kubernetes,否则使用其它工具也可以很好的完成工作,例如单机 Docker Compose、类似 Heroku 的系统、用于计算管道的 Snakemake 等等。
今天先到这儿,希望对云原生,技术领导力, 企业管理,系统架构设计与评估,团队管理, 项目管理, 产品管管,团队建设 有参考作用 , 您可能感兴趣的文章:
领导人怎样带领好团队构建创业公司突击小团队国际化环境下系统架构演化微服务架构设计视频直播平台的系统架构演化微服务与Docker介绍Docker与CI持续集成/CD互联网电商购物车架构演变案例互联网业务场景下消息队列架构互联网高效研发团队管理演进之一消息系统架构设计演进互联网电商搜索架构演化之一企业信息化与软件工程的迷思企业项目化管理介绍软件项目成功之要素人际沟通风格介绍一精益IT组织与分享式领导学习型组织与企业企业创新文化与等级观念组织目标与个人目标初创公司人才招聘与管理人才公司环境与企业文化企业文化、团队文化与知识共享高效能的团队建设项目管理沟通计划构建高效的研发与自动化运维
某大型电商云平台实践
互联网数据库架构设计思路
IT基础架构规划方案一(网络系统规划)
餐饮行业解决方案之客户分析流程
餐饮行业解决方案之采购战略制定与实施流程
餐饮行业解决方案之业务设计流程
供应链需求调研CheckList
企业应用之性能实时度量系统演变
如有想了解更多软件设计与架构, 系统IT,企业信息化, 团队管理 资讯,请关注我的微信订阅号:
![MegadotnetMicroMsg_thumb1_thumb1_thu[2] MegadotnetMicroMsg_thumb1_thumb1_thu[2]](/files/a20212/20210218153449809.jpg)
作者:Petter Liu
出处:http://www.cnblogs.com/wintersun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-Petter Liu Blog。