Kubernetes为DevOps团队提供了无与伦比的优势,包括更流畅地运行应用程序,自动修复系统,正常时间保持高水平运转,降低使用成本等,用户可以轻松愉快地使用它。
Kubernetes 是一种工具,就像任何工具一样,无论你是否使用它,它都能为您提供好处。
组织受益
技术是有趣的,但底线始终是最重要的。您希望以最低的成本获取最高的性能,并且始终在寻找价值和影响力之间的交集。
KUBERNETES将为您做什么?
- 快速增长 Kubernetes使企业业务能够适应环境的变化,并在您的团队开发和测试的时候,尽快将更新的内容发布到应用程序当中。它可以轻易地设计一个无需停机即可进行更新的系统。
- 跨越行业 Kubernetes正在帮助不同行业的企业,包括运营商、零售和制造业、银行、金融服务、媒体、政府和医疗保健机构。所有这些行业均发现,Kubernetes帮助他们的业务更加成功。
- 避免锁定 Kubernetes是一款100%开源的软件,它于2018年3月成为了仅次于Linux的第二大开源项目。截至2018年10月,Kubernetes在100多家公司中拥有了24,500名贡献者。只要您的企业使用来自CNCF的OSS版本,而非功能受限的分支,您的项目就永远不会因其创建者放弃的框架而失败。
- 保持开放 Docker允许团队打包应用程序并在Docker运行的任何位置运行这些应用程序,以确保应用程序的一致性。Kubernetes进一步实现了这一概念,它将容器连接到应用程序中,并提供容器间通信、负载均衡、监视、指标、日志和其他服务,它保证了这些应用程序可以在任何Kubernetes环境中运行。如今,云应用程序和云供应商提供的服务已经连接在一起,Kubernetes将这些服务抽象为可插拔模块。应用程序使用这些模块来供应和使用诸如存储等资源,而无需担心资源的位置和配置方式。最终,您可以根据业务需要,在供应商和提供者之间自由切换。
- 降低成本 Kubernetes使您在本地和云中的基础设施投资最大化。如果您选择在如AWS、GCP或Azure等Kubernetes托管环境中运行应用程序,您就已经开始减少占用空间并从按使用量付费的云计算模型当中受益。Kubernetes中的监控帮助您将应用程序打包到接近最大密度的状态,如果应用程序需要更多资源,Kubernetes将自动向上或向下扩展资源或底层基础设施,以满足您的使用需求。您只需为您使用的资源付费,Kubernetes将确保您在任何特定时刻使用的资源数量都是准确的。
用户受益
开发或运维工程师对平台的要求有两个,一是稳定性,二是敏捷性。所以他们需要一种解决方案,该方案在自动执行人工任务的同时,仍遵循控制它的人员设置的命令。
KUBERNETES将为您带来哪些好处?
- 集成部署系统 Kubernetes受其API驱动。您的CI/CD系统可以通过它的REST和CLI界面与Kubernetes通信,在集群内执行操作。您可以构建临时环境,自动部署新版本。您可以在出现问题时执行带有原子版本控制和轻松回滚的分阶段部署,在不再需要时拆除环境。无论您使用Jenkins、Gitlab、Circle、Travis还是其它的CI/CD系统,Kubernetes都可以无缝集成,并保证每次都能以相同的方式执行任务,而不会出现人为错误。
- 从故障中恢复 Kubernetes监视内部运行的容器,通过TCP、 HTTP或在容器中运行命令来执行准备状态和健康状态检查。 只有健康的资源才能获得流量,而那些未通过健康检查的资源将由 Kubernetes重新启动或移动到集群中的其他节点。
- 自动伸缩 在预期流量激增的情况下,提升服务器容量的日子已经一去不复返了。Kubernetes已准备好迎接Oprah,准备好传播病毒式新闻,为任何事情做好准备。它通过部署运行应用程序的pod的更多副本来进行扩展,或者它可以将更多主机资源分配给产生更多没有意义的应用程序。如果您部署的资源多于当前集群可以安全处理的资源,甚至可以在不再需要这些资源时关闭,它可以自动伸缩集群大小。
- 处理微服务 Kubernetes将云计算的承诺变为现实。您无需了解、关心或关注资源的运行位置。如果您愿意,您可以控制日程安排,但Kubernetes默认情况下可以使用所有内容。它处理pod副本之间的内部连接,在它们之间进行负载均衡的公共IP地址,以及使这些资源可供全世界访问的外部地址。它会添加和删除资源,以便在副本数量增加或减少时或应用程序失败时保持应用程序可用。将微服务式应用程序部署到Kubernetes集群时,无论您的应用程序驻留在哪个节点,它都会为您构建并维护所有路由和通信路径。
- 声明式管理 Kubernetes模型是声明性的。使用YAML创建指令,告诉它集群的期望状态。然后它做它需要做的来保持这个状态。当集群偏离时,比如您希望应用程序运行更多或更少的pod时,它会识别出当前状态与期望状态不同,并执行操作将集群恢复到期望状态。
架构
服务器设置的演变
可用性
Kubernetes无处不在 您可以在裸金属服务器、私有云或公有云上运行Kubernetes,您可以在托管的Kubernetes服务中运行应用程序。您拥有在任何基础设施上部署和管理Kubernetes的自由,这种灵活性让Kubernetes成为了买方市场。