前言
恭喜你开启了 Linux 容器旅程!你的团队以敏锐的洞察力选择了这类开发和部署的框架,它能够为应用程序提供可移植性、灵活性和可伸缩性等便利。那么我们的容器之旅就开始啦!首先,第一步要安装 Docker。现在,你已经准备好使用 Kubernetes 大规模地部署基于容器的应用程序。此时此刻,摆在你眼前的是眼花缭乱的软件供应商、云提供商和各种开源项目,它们都承诺能够以轻松的方式成功部署 Kubernetes。此时,你该如何选择呢?
Rancher 可以帮助你消除这些困惑。
正如开发基于容器的应用离不开 Docker 一样,Rancher Labs 也是你进行大规模部署的最佳合作伙伴。虽然现在你可能不需要在世界范围内进行部署,不过当你达到了这一部署规模时,Rancher 有能力帮助你处理众多大规模的 Kubernetes 集群:从内部部署到混合部署,从单个公有云部署到在独立提供商中的多云部署。
更重要的是,作为你的合作伙伴,Rancher Labs 始终坚持容器开源的根基。此外,Rancher 还提供了无残留卸载功能,使你现有的 Kubernetes 基础架构在运行时不会出现 ghosts。当你需要我们的时候,你可以轻松安装上 Rancher;但如果你决定不使用,我们不会在您的计算机上残留。如果你改变了主意,只需要简单重新安装就能让我们回来,持续无缝地支持你。
本篇文章将会介绍 Rancher 的理念和功能,并且介绍 Rancher 如何与成千上万的用户合作,为他们提供最佳的容器管理体验。在本文中,我们将着重讨论大规模容器部署的过程以及多集群管理的关键需求。最后,我们会总结在 Rancher 中使用 Kubernetes 的具体步骤。
About Rancher Labs
Rancher Labs 成立于 2014 年,由 CloudStack 之父梁胜创建,旨在提供充分利用容器技术所需的工具。我们相信 Kubernetes 将开启一个应用程序可迁移的新时代。旗舰产品 Rancher 是一个开源的企业级 Kubernetes 管理平台,实现了 Kubernetes 集群在混合云+本地数据中心的集中部署与管理,解决了生产环境中企业用户可能面临的基础设施不同的困境。
为确保和 Kubernetes 完美融合,Rancher 内包含了一套丰富的功能。考虑到你早晚都会使用它们,所以我们已经将成千上万用户最需要的功能集成到了我们的平台中。拥有这些内置的功能可以节省你大量的时间和金钱,避免了花费上百小时去配置、集成、诊断故障和维护提供类似功能的大量开源项目。
Rancher 的企业友好特性还体现在内置的应用商店、集成的监控和日志以及高级 RBAC。一开始就使用这些工具,可以让你在扩展部署时有一个良好的开端。
在 Kubernetes 之旅中与 Rancher 携手同行
当你和你的团队在讨论如何构建第一个 Docker 容器时,你会发现,在多个服务器上运行工作负载并不是 Docker 的强项。而 Kubernetes 则是容器集群管理的最佳工具:它能够在正确的时机运行正确的容器,并根据负载弹性伸缩容器、处理硬件或容器故障,并管理网络和存储。
使用 Kubernetes 来扩展你的容器化应用肯定是正确的选择,但此时你的团队依旧需要花费大量的时间来剖析不同 Kubernetes 托管选项的复杂性。理想情况下,你希望能有一位拥有一切平台专业知识的合作伙伴,为你提供指导,这样就能让你的 DevOps 和应用程序开发团队更能专注于更相关的问题和创造价值的任务。例如,哪个功能应该放在 sprint 中?它们应该如何构建软件以带来独特的价值?应该为不同的应用程序组件选择哪种数据库技术?
如果你还没有决定在哪类平台运行 Kubernetes 的话,根据您的业务需求,这里有三个初始的选项可供参考:
部署在托管的 Kubernetes 服务商上,如 Google Kubernetes Engine(GKE), Amazon Elastic Container Service for Kubernetes(EKS)或者 Azure Kubernetes Service(AKS).
在 Amazon EC2、Azure、Google Cloud 或者 Digital Ocean 等 IaaS 平台上安装、运行和管理 Kubernetes。
无论是裸机还是 VMware 这样的私有云解决方案,都在自己的基础设施上安装、运行和管理 Kubernetes。
后面两个选择需要自行安装和配置 Kubernetes。如果你看过了 Google 的 Kelsey Hightower 在他著名的教程—— Kubernetes, the Hard Way 中的步骤,那么你肯定明白其中的困难。虽然有一些脚本和自动化工具可以帮助你,如 kops, kubo 以及 kubespray,但它们对不同平台的支持是有限的,并且不提供安装后的集群管理。而 Rancher 提供了一种简化的安装过程,可以将复杂性降到最低,并且提供了一套安装在一切平台上的方式。此外,它还支持大规模集群管理。
即便你正在使用的解决方案提供了预构建的 Kubernetes 集群,使用 Rancher 也有很大的好处。它可以无缝集成到 GKE、EKS 和 AKS 的管理基础设施中,让你能够完全控制云资源。Rancher 不需要学习三种不同的接口,而是通过单一面板提供每个托管服务的通用一致视图,以便访问和交互。
Rancher 支持平台的类型
作为你 Kubernetes 部署的候选合作伙伴,我们先来看看 Rancher 在所有主要类型的容器主机上的功能:
对于那些已经部署了 Kubernetes 的人来说,现有的集群可以轻松迁移到 Rancher 的管理框架中。例如,如果你的开发团队在 GKE 上运行了集群,则可以安装 Rancher 并导入现有的 GKE 集群。同样的,从一个提供商迁移到另一个提供商也非常容易,只需在 Rancher 的新提供商处创建新集群并从现有集群迁移工作负载。由于 Rancher 中存有资源的所有配置,例如安全性、策略等等,因此这些资源也可以轻松地在其他地方进行转换,简单的 DNS 更新就可以完成应用程序的迁移。
Rancher 还提供了管理平台上关于应用程序生命周期各个方面所需的全套工具。无论 Rancher 管理哪种 Kubernetes 集群类型,它都可以与 Microsoft 的 Active Directory 等内部组件绑定,提供企业级监控、可见性和故障排除,以及 CI/CD 流水线的无缝集成。
云应用的多集群未来
到现在为止,我们都只讨论了单个 Kubernetes 集群。那些较早采用 Kubernetes 的企业可能会发现它们已经陷入了要同时管理多个集群的困境中,一次只能管理一个 silo。它们无法轻松地在不同的云之间迁移应用程序,享受更低的成本或者新功能。此外,如果它们中间的一个公共云提供商出现问题或者某个可用性区域失效,那么它们就不能轻松地在另一个提供商的云上实例化它们的容器化应用程序,否则就会遇到很多麻烦。
大多数 DevOps 团队都认为,真正意义上的多云、多集群平台是非常具有吸引力的。幸运的是,Rancher 在控制台中提供了多云以及多集群的 Kubernetes 管理,同时为应用程序开发团队维护相同的开发环境和工作流。此外,作为企业级解决方案,Rancher 还提供了其他功能:
统一纳管:: 一个真正的多集群系统应该能够同时在私有云和公有云中管理任何基于 Kubernetes 的平台。Rancher 集成了大量平台,并且同时做到了提供统一的单一前端入口。
无缝的混合云支持: 尽管许多开发团队喜欢使用公有云基础设施来运行他们的容器,但受监管行业的企业或是面临数据管辖问题的企业可能需要依赖私有云。Rancher 支持公有云,但也擅长私有云的本地部署,无论是在裸机还是在像 VMware vSphere 之类的企业 VM 基础之上都能够进行部署。它还支持内网隔离安装以及边缘部署。
中心化策略: 多集群解决方案需要允许中心化的配置策略,这些策略可以跨 Kubernetes 集群进行推送和强制执行。例如,用于管理三层(three-tier)架构 Web 应用程序中各个服务之间的连接的特定网络策略只需要在 Rancher 上创建一次,就可以跨越 AKS、EKS 和 GKE 进行推送,而无需在每个 Kubernetes silo 中重新配置。
中心化 RBAC 和身份管理: 大多数企业都将身份和角色存储在 Microsoft Active Directory(AD)和 LDAP 中。原生的 Kubernetes 对身份和角色的支持并不是非常好。而 Rancher 可以与 AD、LDAP、SAML、OpenID 以及其他服务集成,并利用这些相同的企业身份和角色跨越所有集群进行权限和访问控制。
中心化可见性和故障排除: 登录到每个 Kubernetes 集群,了解 pods 的状态,并一个一个 silo 进行告警,这样其实非常低效,可能会忽略掉潜在的基础设施问题。像 Rancher 这样的多集群感知解决方案可以统一所有集群的可见性,并且通过一致的接口显示它们。
这些 Rancher 所拥有的功能对于企业来说至关重要,但 Rancher 的功能还远远不止于此。Rancher 还包括带有 Helm 支持的公有和私有应用程序目录,以及集成的 Prometheus 监控与告警、完整的审计日志以及在各个端点之间传送日志。
Rancher 的应用场景
为了更好地理解 Rancher 的价值,我们将在几个可能与你和团队面临的挑战相关的场景下进行分析:
Scenario 1: 在不同的公有云之间部署相同的应用程序
Rancher 可以在单一供应商上(如 AWS)跨不同的可用区域或跨不同的云(如 AWS、Azure)来启动 Kubernetes 集群。例如,根据欧盟通用数据保护条例(GDPR),欧洲客户数据可能需要驻留在欧盟,而来自世界其他地区的数据可以驻留在美国数据中心。通过使用 Rancher,可以在欧盟和美国等不同地区部署相同的应用程序,使用相同的策略、身份和访问角色,确保所有地区实例的一致性。当应用程序更新时,Rancher 可以轻松地将新版本推送到所有区域。同样的功能也可以用于故障恢复,如果自然灾害或技术故障导致原始位置的应用程序宕机,则会在不同的可用性区域启动应用程序。
Scenario 2: 在不同的云上部署应用程序的不同部分
应用程序开发人员可能会发现自己正依赖于公有云提供的某些服务,比如 AWS 关系数据库服务或用于人工智能的 Azure 认知服务。在这种情况下,Rancher 可以轻松地在 AWS EC2 或 EKS 上运行应用程序的一部分,同时在 Azure 的 AKS 内运行与 AI 交互的另一部分。Rancher 可以在维护相同的策略控制和访问管理的同时,使用企业的 Active Directory 获取访问权限。类似地,Rancher 可以跨越两个集群来监控应用程序的健康状态,在两个公有云上提供统一的管理和维护点。
Scenario 3: 在私有云上部署
如果企业数据需要将应用程序部署在私有云中以实现合规性,那么 Rancher 可以轻松地帮助您部署应用程序的本地实例。对于私有云,Rancher 可以部署到裸机或 vSphere 集群。与其他场景一样,Rancher 可以在执行此操作的同时在 Active Directory 中集成身份和角色信息并提供统一的日志记录和监控。如果合规性规则发生变化,并且企业希望将应用程序迁移到公有云中以降低成本,那么只需点击几下鼠标,Rancher 就可以帮助企业满足这一需求。
愉快地开启你的 Kubernetes 之旅吧
在开始 Kubernetes 之旅之前,你需要执行一步:在系统上安装 Rancher。使用之后你就会发现 Rancher 是一个如此出色的合作伙伴。无论你是坚持使用 EKS、AKS 还是 GKE 部署,只需要在裸机内部建立新集群或者在云计算节点上运行 Kubernetes,Rancher 将在那里为你提供服务。
无平台锁定的解决方案
与其他企业级容器管理解决方案不同,Rancher 是一个纯粹的开源项目,更重要的是,它不会将你限制在平台上。Rancher 提供了低成本的部署模型,在管理的集群中使用 agent 进行通信,并且确保无残留卸载。如果你觉得 Rancher 并不合适,可以将其完全卸载,而现有的 Kubernetes 集群仍可以继续运行。你可以使用供应商的 dashboard 或者直接使用 kubectl 命令而无需担心 Rancher 有软件卸载残留。如果你改变了主意想继续使用我们,我们随时为你服务,与你并肩工作帮助你管理所有集群。
承诺免费开源
Rancher 一直坚持开源的理念,为社区用户提供 100%开源的软件。对于寻求企业级支持的用户,Rancher Labs 为容器的落地应用提供完整的、世界级的支持,支持范围包括容器引擎、Kubernetes 分发版和 Rancher 平台,企业用户可安心地在任何规模的生产环境中部署 Kubernetes 和 Rancher。
如果你需要商业支持,请与我们联系。客户的支持使我们是我们继续发展的动力。让我们参与进来,让你的生活更加轻松,并支持对容器管理的持续开发最优化方案。
那么开始行动吧,在最后我们为你提供了 Rancher 学习资源,这些资源可以为你在接下来遇到的问题提供解决方案,并且有一个 quick-start 页面帮助你快速开展工作。在你的 Kubernetes 之旅中,Rancher 是真正的不用担心被锁定以及零成本的选择。那么,让我们开始愉快的 Kubernetes 之旅吧!
Quick start
https://www.cnrancher.com/docs/rancher/v2.x/cn/overview/quick-start-guide/
在线培训视频:
https://space.bilibili.com/430496045
商业订阅咨询:
salescn@rancher.com
评论