摘要:云厂商所提供的托管服务可以简化Kubernetes部署,但在多云模型中可能面临一些问题,本文将介绍在多云环境下托管Kubernetes服务的三大注意事项。
公有云厂商的托管服务提供弹性且高度可用的Kubernetes部署方式,这些服务与云厂商的功能及本地Kubernetes部署相集成。但是,这些服务并不能保证与其他云厂商的产品集成 ——至少不容易。
当使用单个云平台运行程序并关联所有编排流程时,最好使用托管Kubernetes服务,例如适用于Kubernetes的Amazon Elastic Container Service(EKS),Azure Kubernetes服务(AKS)和Google Kubernetes Engine(GKE)等服务进行部署。应用程序的例外情况越多,单个托管Kubernetes服务就越无法满足需求。
选择与多个云厂商合作的企业在多云环境中集成容器编排任务变得十分困难,要权衡托管Kubernetes服务的优缺点,需要执行以下三个步骤:
1、确定托管空间
任何容器编排策略的第一步都是确定托管空间,这意味着留出托管应用程序的完整资源集,比如内部部署数据中心和多个公有云提供商。对于每个应用程序,我们需要确定其部署范围,包括托管其组件的位置。
管理型Kubernetes服务将拥有一个编排映射,显示两大重要事项:计划使用的云提供商,以及更改提供商时重新制定运营策略;托管在云和数据中心的应用很少甚至没有故障转移或突发情况。
但是,该类服务不适用于使用多个公有云厂商并希望可以在其中快速迁移的企业,计划使用所有托管资源(包括本地数据中心)作为应用程序组件并具有大型资源池的企业同样不适合这些托管服务。
2、确定多云目标
大多数企业都处于两个极端的中间位置。如果是这样,下一步是定义企业的多云策略,确定是静态多云模型——将应用程序组件放入固定云厂商的程序托管还是动态多云模型——组件可在不同云平台之间自由移动。
对于使用静态模型的人来说,在每个公有云中使用托管Kubernetes服务很可能是合理的,但前提是云提供商将Kubernetes与Istio等工具紧密集成,可以分配工作并管理分布式流程。在这种情况下,使用各自云厂商提供的工具可能会提高容器托管能力。
然而,那些拥有动态多云模型的人很可能无法从云厂商管理的Kubernetes服务中受益。相反,他们需要一种能够自由跨越云边界的总体编排方法。这些企业应该寻求使用与云无关的工具部署Kubernetes业务流程平台。
3.选择提交方式
云平台的托管Kubernetes服务无法与其他云提供商的本地功能集成。这意味着,如果在多云模型中提交这些服务,大多数情况下还需单独编排每个公有云。