【51CTO.com快译】随着人们生活越来越多的方面转移到线上,大规模扩展互联网的需求也越来越大。这一趋势始于多年前,并经历了多次技术进步的迭代。
AWS 于 2002 年作为第一个公共云产品推出,为企业外包IT 运营和根据需要上下扩展资源消耗打开了大门。虚拟机开始将应用软件从物理硬件中抽象出来,并且很快得到了新的部署模式。
微服务是独立和松散耦合的服务集合,可以独立于环境进行维护和配置。当包装到容器中时,它们可以大规模部署,成为新一代分布式基础设施的构建块。
Rancher、Docker Swarm 和 Mesos 等不同技术竞相在容器编排中占据领先地位。Kubernetes(2014年由谷歌开源)最终成为容器化微服务的首选。
虽然企业清楚地看到了 Kubernetes 的好处,但其固有的复杂性和陡峭的学习曲线使其难以应用。较小的公司缺乏成功管理这项技术的运营专业知识和资源,较大的企业难以将云原生工具和流程集成到遗留基础架构中。
应对 Kubernetes 的复杂性
多年来,业界出现了多种解决方案,旨在帮助组织采用 Kubernetes 并优化容器编排。Rancher、OpenShift 和公共云托管服务,例如 Azure Kubernetes Service、Elastic Kubernetes Service 和 Google Kubernetes Engine就是一些示例。
这些解决方案极大地简化了 Kubernetes 集群的部署和管理,加速了向云原生应用程序的转变,同时使它们更具可扩展性和弹性。
因此,Kubernetes 获得了广泛的采用。2021 年,Traefik Labs 调查了 1,000 多名 IT 专业人士,了解他们对该技术的使用情况。超过 70% 的受访者表示将 Kubernetes 用于商业项目。然而,刚刚克服采用容器技术挑战的企业现在在扩展部署方面尚未突破。
随着 Kubernetes 的使用,新的挑战也开始出现。企业支持越来越多的 Kubernetes 集群,以满足更多的容器化应用程序的需求。然而,更多的集群意味着更多的组件需要管理和更新。在单个 Kubernetes 部署中相对容易解决的问题在更大的多集群环境中成倍增加。Kubernetes 的复杂性随着它的扩展而变得复杂。然而,多集群编排不可避免地成为工程师要解决的下一个前沿问题。
Kubernetes 多集群需求
开发人员需要适当的工具来管理多集群挑战,从上下文警报到新的部署策略等等。
- 联合工具。联合工具提供了一种机制,用于表示哪些集群的配置受到管理,以及该配置应该是什么样子。托管集群中的一组API可以跨分布式环境协调多个Kubernetes集群的配置。联合云技术支持两个或多个地理上独立的计算云的互连,使工程团队更容易处理复杂的多集群用例。
- 连通性。维护多个集群并将它们作为一个单元一起工作是非常复杂的。连通性使之成为可能。正确的工具可以帮助处理集群之间的互连、控制到集群的路由、跨地理分布式池的负载平衡(使用全局服务器负载平衡或 GSLB),以及管理跨多个集群的应用程序更新。
- 安全问题。在复杂的分布式 IT 环境中,安全挑战更加复杂,但在采用云原生安全工具和流程时,可以解决这些问题。并且这将产生一些新的问题。您如何处理零信任环境中的安全问题?您如何管理连接的端到端加密?您如何控制对应用程序的访问?您如何在分布式基础架构中维护 TLS 证书管理?当安全性集成到集群中时,分布式应用程序变得更加安全。
- 可观察性。可观察性使您能够快速了解分布式基础架构的总体情况,从而可以快速轻松地诊断问题。Grafana 和 Prometheus 就是解决此问题工具。随着扩展部署的集群数量,可观察性和上下文警报变得更加重要,因为出现问题的方式越来越多。拥有合适的工具,让开发人员能够准确地查看问题所在,不仅可以让应用程序平稳运行,还可以减少大量猜测并节省宝贵的时间。
Kubernetes 多集群的未来
确保集群、服务和网络流量在云原生世界中无缝协作是一项重大挑战。Kubernetes 赢被世界各地的组织广泛采用,但该技术也自然日趋成熟。随着这种成熟度的提高,新的问题和新的挑战在多集群部署中变得更加复杂。
在 Kubernetes 上构建和操作应用程序的开发、工程和运营团队(所有技能级别)需要更简单的方法来实现其集群和网络的可见性、可扩展性和安全性。在寻找管理标准微服务架构的工具时,开发人员必须优先考虑提供即时可观察性、开箱即用的上下文警报、地理感知内容交付和内置服务网格等功能的解决方案。
多集群编排的挑战正变得越来越普遍,但通过使用正确的工具适应云原生世界,开发和运营团队将能够解决多集群 Kubernetes 的复杂性,并看到Kubernetes带来前所未有的巨大好处。
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】