如何评估Kubernetes解决方案?这18项能力一定要考虑!

众所周知,Kubernetes很难部署和大规模运营。那么企业该如何评估Kubernetes的功能,以帮助自己更顺手的使用它呢?

跨行业的数字化转型正在推动IT部门对云原生应用的需求。这使得企业采用Kubernetes作为支持基于云原生,基于容器的体系结构以及实现其应用程序和IT基础架构现代化的最有效方式。

如何评估Kubernetes解决方案?这18项能力一定要考虑!

各种规模的企业都希望利用Kubernetes:用于绿色应用程序以及重新构建和遗留应用程序。虽然许多企业正在寻求利用Kubernetes,但Kubernetes方面的专家稀缺,加上大规模运营Kubernetes的复杂性,都阻碍了他们的成功使用。

特别是对于管理内部部署和公有云基础架构的企业而言。业界出现了许多Kubernetes解决方案和产品(来自初创公司和成熟的传统供应商),希望解决Kubernetes的一些挑战。企业面对这些产品时,总是感觉无从下手和比较它们。

这里确定了在评估企业中大规模实施Kubernetes的各种解决方案时需要考虑的18项技术和运营能力。希望对大家有帮助!

1.Kubernetes集群的高可用性

Kubernetes不提供高可用性集群的开箱即用部署,并且必须由Kubernetes管理员配置HA。建议在负载平衡解决方案后面至少配置三个主节点,并使用etcd的集成或独立集群部署来存储所有集群状态信息。任何高可用性解决方案还必须考虑故障情况以及自动修复和恢复。

2.支持的部署模型

Kubernetes解决方案的部署模型定义了它将如何在企业环境中集成,以及它为将来的操作提供的支持服务级别协议(SLA)级别。

Kubernetes解决方案的前三个部署模型是:

传统的本地部署:用户可以自己在其基础架构上下载和部署Kubernetes,也可以使用专业服务和供应商的支持。

托管Kubernetes即服务(KaaS):供应商将在由云或托管服务提供商托管的基础架构之上提供Kubernetes服务。

混合云Kubernetes即服务:Kubernetes作为你选择的基础架构提供服务,在自己的本地数据中心或公有云基础架构。

3.先决条件和操作系统要求

企业Kubernetes解决方案的先决条件定义了在启动和运行Kubernetes之前需要满足的基础架构要求。某些解决方案需要昂贵的许可购买底层基础架构,例如虚拟机管理程序或对托管Kubernetes解决方案的投资。

4.监控和运营管理

必须始终监控生产Kubernetes集群以处理任何问题和中断,而不会严重影响用户的集群和应用程序可用性。企业Kubernetes解决方案必须提供此功能。

5.集群升级

Kubernetes拥有庞大的社区,每3个月推出一个新版本。企业级解决方案将支持集群的滚动升级,以便即使在升级集群时,集群API也始终可用。此外,它还可以在失败时回滚到以前的稳定版本。

6.多集群管理

单个Kubernetes集群可以水平扩展以支持大量工作负载。但是,在生产中运行Kubernetes需要能够运行多个Kubernetes集群,因为你需要通过将它们部署在单独的集群上来将dev/test/ staging应用程序与生产应用程序完全隔离。

7.多租户,基于角色的访问控制和单点登录支持

Kubernetes使用名称空间抽象支持集群级别的多租户。但是,在多集群环境中,你需要更高级别的多租户抽象来补充Kubernetes多租户,并为不同的用户团队提供适当的隔离级别。它应该与企业最常用的单点登录(SSO)解决方案集成,例如Active Directory或ADFS,Okta和其他流行的SAML提供商。

8.负载均衡

Kubernetes自动将请求均衡到Kubernetes集群内的应用程序服务。但是,某些服务需要在外部公开以供外部客户使用。Kubernetes不为该类服务提供开箱即用的负载均衡解决方案。企业Kubernetes解决方案应包括强大的外部负载均衡功能,或与现有商业负载均衡无缝集成。

9.私人注册表支持和镜像管理

在Kubernetes集群上运行容器化应用程序需要访问容器注册表,其中将存储应用程序镜像。大型企业通常需要安全的私有容器注册表来存储其专有的应用程序镜像。企业Kubernetes解决方案应该提供开箱即用的镜像管理功能。

10.混合云集成和API

如今,每个企业都希望通过投资多云解决方案来构建与。将多个私有云和/或公有云作为云战略的一部分,可确保你不会陷入单一提供商,不会影响定价,在整个基础架构中实现高可用性,并满足独特的业务策略。

11.企业级用户体验

企业级用户体验就是拥有一个优秀的用户界面,使企业能够通过单一UI管理其混合环境。这提供了完整的可视性,简化了整个环境的通信。此UI应允许跨多个集群的操作:例如,全局搜索特定类型的工作负载或在不同区域,数据中心和云提供商上运行的所有集群中使用特定标签进行标记。

12.应用程序生命周期管理 - 应用程序目录

应用程序目录为Kubernetes上的一组预打包应用程序提供了轻松的一键式部署。它还为最终用户提供了一种工具,可以通过目录为其团队或组织中的其他人构建和发布他们自己的应用程序,以便以一键式方式进行部署。应用程序目录使组织能够对一组应用程序部署配方或蓝图进行标准化,从而避免配置的无序扩展。

13.生产等级服务水平协议(SLA)

随着越来越多的企业在Kubernetes上运营业务,IT必须确保它能够支持业务所需的SLA。IT必须确保开发人员和业务部门可以使用Kubernetes来支持关键计划。大多数需要99.9%的正常运行时间。

14.易于设置,安装,连续使用,管理和维护

成功的Kubernetes平台必须易于实施和维护,以便可以持续利用容器。仅这一点就是许多企业无法克服的主要障碍。

15.网络支持和集成

网络集成是在生产和规模上运行Kubernetes集群的关键组件。企业通常希望Kubernetes与他们目前正在标准化的软件定义网络(SDN)解决方案集成,或者像Calico或Weave这样的容器本机解决方案,为他们提供更多的隔离选择。

16.存储支持和集成

与网络类似,与企业级存储的集成是在生产中运行Kubernetes集群的重要组成部分。Kubernetes提供了一个名为Persistent Volumes的抽象来保存有状态应用程序持久化的数据。Enterprise Kubernetes产品将PV映射到实际的高可用存储技术非常重要。企业通常希望他们的Kubernetes部署与他们已部署的存储解决方案(如NetApp,Pure,SolidFire等)集成,或者他们可能希望与容器本机存储技术(如Portworx)集成。

17.自助服务提供

开发人员必须具有对一个或多个Kubernetes集群的自助访问权限,并且具有适当的隔离级别,因此只有具有相应权限的成员才能访问生产工作负载。

18.内置CI/CD支持

开发人员运行的最关键工作负载之一是持续集成/持续交付。强大的CI/CD管道对于确保敏捷开发和向客户快速交付新软件至关重要。

相关推荐