云原生集成开发环境——TitanIDE
通过网页在任何地方更安全、更高效地编码2022-06-29
609
原文作者:Kendall Miller
原文译自:CNCF(云原生基金会)
Kubernetes 作为一种技术,使企业能够跨不同的云基础设施和分布大规模地运行容器化应用程序,它暂时不能做的是以合规和可靠的方式集中管理大量现成的集群。这一事实使得在不同集群之间实现治理和标准化变得困难,更不用说它扼杀了创新。但随着新集群规模的不断扩大,寻找简化多集群管理的新方法将成为云计算成功的关键。
多集群管理
有效的多集群管理意味着将减少两处成本——重复性工作和运营开销。此外,有效多集群管理还涉及建立正确的框架来发展现有的治理模型,以减少跨集群生命周期管理中的成本和重复性工作。但是,如果在集群数量不断增加的企业环境中运行,并且所有集群都独立管理且几乎没有统一性,那么简化此管理流程的复杂性可能会成为业务成功的巨大障碍。
随着 Kubernetes 集群数量的增长,企业被迫花费越来越多的时间进行管理,于是用于业务生产的时间便越少。他们需要的是一种在发现不同集群时集中查看、管理和整合它们的方法,以便在不浪费宝贵时间的情况下正确优化资源和处理问题。
精简集群的步骤
如果您的团队正在为多集群 Kubernetes 苦苦挣扎,请不要惊慌。推荐采取以下三个基本步骤来减少一次管理多个集群所花费的时间和资源。
1、采用零信任方式。此安全模型假定网络中和网络之间的所有系统、服务和用户都不会自动被信任和授予访问权限。Kubernetes 包括实现对每个集群的这种级别的控制访问所需的所有联动,利用了身份验证、授权、加密和配置验证等技术。将零信任原则应用于您的 Kubernetes 环境意味着控制对 API 服务器的访问,这是每个集群的 Kubernetes 控制平面的核心。由于 API 调用用于查询命名空间、Pod 和配置映射等对象,因此控制对 API 使用的访问是保护工作负载和实现 Kubernetes 零信任的关键。
零信任最佳实践允许组织创建一个安全的环境,一个所有单个元素都正确配置和对齐的环境。当在多集群环境中实施此安全模型时,可以大规模运行多个集群,而且风险更低。
2、启用多集群部署。在多云、多集群的 Kubernetes 环境中,频繁的应用程序和基础架构更新是常态。团队经常需要同时部署到多个 Kubernetes 集群,几乎不可能避免漂移,漂移是集群之间的不一致和错误配置导致的,通常会导致停机或更糟的情况发生。
因为 GitOps 可以通过将熟悉的工具引入基础架构管理和持续部署 (CD) 来帮助解决这些问题,所以它经常被寻求更好的整体标准化、安全性和生产力的企业来使用。当对存储库进行更改时,代码会从您的集群中回滚,以快速可靠地自动化部署。尽管 GitOps 工作流可以使用标准 Git 工具来实现,但仍需要额外的工具来享受全部好处,包括确认所需状态的维护能力。
反应性或短期调整可能会迷失在集群的海洋中。这里有一些工具可以帮助您发现团队中的意外偏差。
3、简化生命周期管理。众所周知,Kubernetes 环境随着时间的推移而增长,许多云服务(例如 Amazon EKS 和 Azure AKS)提供了有用的覆盖范围。尽管核心相似,但所有这些类型的 Kubernetes 都有不同的管理工具,这意味着在每个环境中部署和更新集群可能看起来完全不同。
这里最好的解决方案是围绕单一类型的 Kubernetes 对组织进行标准化,这种 Kubernetes 可以对整个机队执行生命周期管理。也就是说,这个目标很难实现,因为涵盖流行的 Kubernetes 发行版和云服务的现有工具非常少。简化生命周期管理的最佳实践是找到一家 SaaS 服务提供商,该服务提供商允许用户从单一管理平台部署、管理和升级所有集群,该管理平台可提高可见性、可靠性和一致性。
第一种服务,是Kubernetes 治理平台,例如Fairwinds Insights。
今天的组织需要跨集群安装和配置多个工具,以确保安全、资源优化和可靠性检查。如果没有对正在发生的事情的集中可见性,就会浪费时间和资源。这就是我们创建 Kubernetes 治理平台Fairwinds Insights的原因。Insights 将优秀的开源工具(包括此处描述的工具)的结果汇总到一个视图中,使您可以跨多个集群评估和执行您的标准。Insights 使用 Polaris 和 Open Policy Agent 为您的部分或全部集群提供中央策略管理。
第二种服务,是一个标准化、轻量级、低维护成本、模块式的K8S多集群管理平台,boots。基于Boots,您可以管理或者导入任何已经存在的 Kubernetes 集群;打通和简化Kubernetes多集群的系统管理及多租户管理。