如何使用Rancher更好地部署Kubernetes集群?
收藏

前 言


恭喜你开启了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


推荐阅读

Kubernetes身份认证和授权操作全攻略:上手操作Kubernetes身份认证

Rancher 2.2.7发布!修复CVE,支持Kubernetes新版本!

手把手教你从零开始搭建阿里云ACK集群和Rancher环境

About Rancher Labs



Rancher Labs由CloudStack之父梁胜创建。旗舰产品Rancher是一个开源的企业级Kubernetes管理平台,实现了Kubernetes集群在混合云+本地数据中心的集中部署与管理。Rancher一向因操作体验的直观、极简备受用户青睐,被Forrester评为2018年全球容器管理平台领导厂商,被Gartner评为2018年全球最酷的云基础设施供应商。


目前Rancher在全球拥有超过一亿的下载量,并拥有包括中国人寿、华为、中国平安、兴业银行、民生银行、平安证券、海航科技、厦门航空、上汽集团、海尔、米其林、丰田、本田、中船重工、中联重科、迪斯尼、IBM、Cisco、Nvidia、辉瑞制药、西门子、CCTV、中国联通等全球著名企业在内的共25000家企业客户。

官方公众号