内容简介:众所周知,Kubernetes 很难部署并大规模运维。以下内容是对 Kubernetes 产品功能的比较和思考。各个行业的数字化转型正在推动 IT 部门对云原生应用的支持。在这种趋势下,很多企业将采用 Kubernetes 作为云原生的有效方式,基于容器的架构模式,构建现代化的应用程序和 IT 基础架构。
众所周知,Kubernetes 很难部署并大规模运维。以下内容是对 Kubernetes 产品功能的比较和思考。
各个行业的数字化转型正在推动 IT 部门对云原生应用的支持。在这种趋势下,很多企业将采用 Kubernetes 作为云原生的有效方式,基于容器的架构模式,构建现代化的应用程序和 IT 基础架构。
所有组织都试图利用 Kubernetes 的优点:纯绿色不受影响的应用程序,以及对遗留的应用程序进行重构和更现代化的能力。虽然很多组织都在尝试利用 Kubernetes,但是这方面的人才稀缺以及大规模运维的复杂度,阻碍了它被大规模应用。
众所周知,Kubernetes 很难部署并大规模运维,如果需要管理内部和公有云两部分基础架构,则这种情况更为严重。业界出现了很多关于 Kubernetes 的解决方案(有业界成熟的厂商,也有很多初创公司),旨在解决应用 Kubernetes 方面的一些挑战性问题。这让整个生态圈变得繁杂,企业很难在其中浏览和对比相关产品。
本文评估了企业大规模使用 Kubernetes 各种解决方案时,需要考虑的 18 项技术和运行能力。在本系列的下一篇文章中,我们会比较一些主要的商业解决方案,看它们如何综合使用这些关键特性。
部署 Kubernetes 需要考虑的问题
1. Kubernetes 集群的高可用性
Kubernetes 并没有提供一个高可用的、开箱即用的集群使用方式,需要管理员配置 HA。建议在负载均衡的基础上配置至少 3 个 master 节点,与 etcd 集成或者独立进行集群部署,并存储所有的节点信息。任何高可用的方案中,都必须考虑发生故障的情况以及如何自我修复和自动恢复。
2. 部署模式的支持
Kubernetes 的部署模式决定了它在企业环境中的运作方式,以及在今后的运维中提供怎样的服务级别(SLA - Service-Level Agreement)。
Kubernetes 解决方案的前三个部署模型分别是:
- 传统的 内部 部署模式 :用户在自己的基础设施上面下载并部署 Kubernetes,或者使用专业服务提供商提供的服务进行部署。
- 将 Kubernetes 作为服务托管(KaaS) :供应商在云平台或者服务商托管的基础设施之上将 Kubernetes 作为服务提供。
- 混合云模式下的 Kubernetes 即服务 :Kubernetes 作为你所选择的基础设施上面的服务,是搭建在自有的数据中心上,还是公有云基础设施。
3. 使用的先决条件和操作系统要求
企业级 Kubernetes 解决方案的先决条件中,明确描述了启动和运行 Kubernetes 之前,需要满足的基础设备要求。某些解决方案甚至还需要购买很多昂贵的底层基础设施的许可证,比如说 Hypervisor(用来建立与执行虚拟机器的软件、固件或硬件),以及对托管 Kubernetes 解决方案方面的投资。
4. 监控和运维方面的管理
线上 Kubernetes 集群必须被实时监控,方便及时处理问题和中断现象,以避免对用户集群和应用程序的可用性产生严重影响,所有企业级 Kubernetes 解决方案都必须提供这项能力。
5. 集群升级
Kubernetes 拥有一个庞大的贡献者社区,每 3 个月就会推出一个新版本。因此,企业级解决方案需要对集群提供滚动升级的能力,这样的话即便整个集群在升级,集群以及相关的 API 也可以被正常使用。此外,当升级失败的时候,也需要及时回滚到之前的稳定版本上。
6. 多集群管理
单一的 Kubernetes 集群可以在水平方向上直接扩展,以支撑大量的工作负载。但是,在生产环境往往需要运行多个 Kubernetes 集群,比如说,你可能希望将开发、测试、演示环境的应用与线上环境完全隔离开,各自运行在自己独立的集群里面。
7. 多租户、基于角色权限的控制和单点登录的支持
Kubernetes 在集群级别上,对多租户的支持,是使用了操作系统上 namespace 这个抽象概念。可是在多集群环境中,你就需要在 Kubernetes 之上提供更高级别的抽象概念来支持多租户的能力,并为不同的用户团队提供合适的隔离级别。而且需要与企业最常用的单点登录(SSO)功能进行集成,例如 Active Directory 或者 ADFS、Okta 以及其他主流的 SAML 提供商。
8. 负载均衡
Kubernetes 自动将服务请求平均分配到 Kubernetes 集群里面的应用服务上。但是,某些服务需要对外公开,方便外部客户端调用。Kubernetes 未对其提供开箱即用的负载均衡功能。企业级的 Kubernetes 解决方案应该包含一个健全的外部负载均衡策略,或者能够与现有的商用负载平衡器无缝对接。
9. 支持私有的注册中心和镜像管理
在 Kubernetes 集群上面,运行容器化的应用程序,需要访问容器的注册中心,里面存储了应用程序的镜像。大型的企业通常需要有一个安全的私有容器注册中心,用来存储企业自己的程序镜像。企业级 Kubernetes 解决方案,需要提供一个镜像管理的能力,并且可以开箱即用。
10. 混合云方面的集成和相关 API
目前很多企业都希望通过投资多个云平台,脱离对单一云平台的依赖。将多个私有云以及公有云整合在一起,作为云战略的一部分,这可以保证你不会局限于单个没有价格杠杆的云平台供应商,从而具备整个基础架构的高可用性,并满足您独特的业务策略。
11. 企业级的用户体验
企业级的用户体验主要就是拥有一个漂亮的用户界面,企业能够通过一些单一的 UI 管理其混合环境。这能带来完全的可视化,简化整个环境的通信。UI 也应该允许跨集群操作,例如:对于不同区域、数据中心或者云提供商,支持在全部的集群上面,查询特定类型、标签或者特殊文本的工作集。
12. 应用生命周期管理 —— 应用的 CataLog
应用的 CataLog 为 Kubernetes 之上提供简单一键化部署的一组预打包应用程序。同时其他团队或者组织也可以通过 Catalog 作为载体,一键化部署并发布他们的应用。应用的 Catalog 可以让组织对一组应用的部署更加标准化,避免配置的蔓延。
13. 生产环境对服务水平等级(SLA)的要求
越来越多的组织将自己的业务运行在 Kubernetes 上面,IT 部门必须要保证它可以支撑所有业务上对 SLA 的要求。IT 部门必须保证 Kubernetes 能够有效支撑开发人员和业务人员的关键活动。大多数组织的要求是 99.9% 时间可用。
14. 易于安装,可持续的使用,管理和维护
一个成功的 Kubernetes 平台必须易于实施和维护,这样使用它的组织就可以持续地利用容器。这一点是很多组织无法克服的主要障碍。
15. 网络方面的支持和集成
网络集成是在生产环境运行 Kubernetes 集群的关键组件。企业通常希望 Kubernetes 能与他们目前正在标准化的软件定义网络(SDN)直接集成,或者像 Calico 或 Weave 这样的容器本身的解决方案,为他们在隔离方面提供了更多的选择。
16. 存储的支持与集成
与网络一样,存储的集成也是生产环境运行 Kubernetes 集群的重要组件。Kubernetes 提供了一个名叫 Persistent Volumes 的抽象概念,用来对有状态应用程序的数据进行持久化操作。对于企业级 Kubernetes 产品来说,保存一组 PV 的映射关系到高可用存储中技术中很重要。企业通常希望他们的 Kubernetes,可以与他们现有存储方面的解决方案集成在一起,例如 NetApp、Pure、SolidFire 等。或者与容器本身的存储技术集成(例如:Portworx)。
17. 提供自动服务的能力
开发人员必须能够自助访问一个或者多个 Kubernetes 集群,并且根据不同级别进行适当的隔离。这样的话,就可以保证只有部分人员才能访问实际生产环境的工作集。
18. 内置 CI/CD 的支持
开发人员对于工作集运行,最关心的一个要点就是持续集成和交付的能力。一个强大的 CI/CD 通道的能力,对于保证敏捷开发和新软件的快速交付有至关重要的作用。
查看英文原文: https://dzone.com/articles/18-features-to-consider-when-evaluating-an-enterpr
以上所述就是小编给大家介绍的《评估企业级 Kubernetes 使用方案的 18 个要素》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- JavaScript代码风格要素
- 威胁情报管理的三大关键要素
- 领域驱动设计中的架构要素
- 搞容器,必须考虑这五大安全要素
- 现代“十二要素应用”与 Kubernetes
- 数据分析4要素,轻松掌握小“套路”!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Web Applications (Hacking Exposed)
Joel Scambray、Mike Shema / McGraw-Hill Osborne Media / 2002-06-19 / USD 49.99
Get in-depth coverage of Web application platforms and their vulnerabilities, presented the same popular format as the international bestseller, Hacking Exposed. Covering hacking scenarios across diff......一起来看看 《Web Applications (Hacking Exposed)》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
HEX CMYK 转换工具
HEX CMYK 互转工具