“多云”通过不同的云厂商分发应用程序提高了弹性,能够帮助企业强化自身的竞争力。此外,多云还降低了被云厂商锁定的可能性,让企业避免过于依赖某个云厂商。
虽然多云的优势很多,但是管理多云 Kubernetes 的困难还是让人望而却步。部署多个集群,将它们作为一个单元使用并监控整个集群是非常艰巨的任务。企业需要一种方法来持续实现授权、可观测性和安全的最佳实践。
Rancher 是一个开源的企业级 Kubernetes 管理平台,能够实现 Kubernetes 集群在混合云和本地数据中心的集中部署与管理。它解决了多云 Kubernetes 部署的挑战,例如查看工作负载运行位置以及集中进行身份认证和访问控制。
本文将详细介绍如何通过 Rancher 在多云场景中轻松使用 Kubernetes。
Rancher 和多云部署
Rancher 的优势之一是让用户在使用多个环境时获得一致的体验。无论集群位于云端还是本地,你都可以管理所有集群的整个生命周期。它还抽象出 Kubernetes 实现之间的差异,创建了用于监控部署的统一界面。
Rancher 非常灵活,可以与新旧集群一起工作,并且支持通过以下三种方式连接集群:
- **使用云 Kubernetes 服务配置新集群:**Rancher 可以创建新的 Amazon Elastic Kubernetes Service (EKS)、Azure Kubernetes Service (AKS) 、Google Kubernetes Engine (GKE) 、阿里云 ACK、腾讯云 TKE 和华为云 CCE 集群。该过程在 Rancher UI 中可以完全自动化。此外,还可以导入现有集群。
- 在独立的云基础设施上配置新集群:Rancher 可以通过在你的云服务商上配置新的计算节点来部署 RKE、RKE2 或 K3s 集群。此选项支持 Amazon Elastic Compute Cloud (EC2)、Microsoft Azure、DigitalOcean、Harvester、Linode 和 VMware vSphere。
- **使用你自己的集群:**支持手动连接在本地或其他云环境中运行的 Kubernetes 集群。这样,你可以在混合部署的情况下结合使用本地和公有云基础设施的多项功能。
添加了多云集群后,就可以使用 Rancher 无缝管理这些集群。
统一的仪表板
多云最大的难题之一是跟踪部署的内容、位置以及运行情况。Rancher 为你提供了统一的仪表板,显示了每个集群,包括集群的云环境及其资源利用率:
Rancher 主页面集中显示了已注册的集群,涵盖了你的云上和本地部署。侧边栏也集成了集群的快捷方式,你可以在环境之间快速切换。
导航到特定集群后,你可以在Cluster Dashboard页面查看容量、利用率、事件和部署的概览视图:
继续向下滚动,你可以查看用于分析性能的集群指标:
有了 Rancher,你可以在单个工具中访问所有 Kubernetes 环境的重要监控数据,不再需要单独登录各个云服务商的控制面板。
集中的授权和访问控制
Kubernetes 内置了对RBAC的支持,用来限制用户可以执行的操作。但是,这对于多云部署来说是不够的,因为你必须在每个集群中单独管理和维护策略。
Rancher 通过添加集中式身份认证系统提高了多云 Kubernetes 的可用性。你可以在 Rancher 中设置用户账号或使用 LDAP、SAML 和 OAuth 等协议连接外部服务。
创建用户后,你可以为用户分配特定的访问控制规则,限制用户在 Rancher 和你的集群中的权限。全局权限定义了用户如何管理你的 Rancher。例如,你可以创建和修改集群连接,而集群和项目级别角色用于在选择集群后配置可用的操作。
要创建新用户,单击左上角的菜单图标来展开侧边栏,然后选择 Users & Authentication。然后,在显示现有用户的页面上单击 Create 按钮:
在以下页面填写新用户的凭证:
向下滚动页面,然后为新用户分配权限。
设置用户的全局权限,控制他们在 Rancher 中的整体访问级别。然后,在下方为角色的特定操作添加粒度更细的策略。完成后,点击右下角的 Create 按钮添加账号。至此,用户可以登录 Rancher:
接下来,导航到某个集群,然后前往侧边栏中的 Cluster > Cluster Members。单击右上角的 Add 按钮来授予用户对集群的访问权限:
使用下方页面搜索用户账号,然后设置用户在集群中的角色。单击右下角的 Create 后,用户将能够执行你分配的集群交互操作:
添加集群角色
要更精确地控制访问,你可以设置基于 Kubernetes RBAC 的角色。它们可以应用于全局(Rancher)、特定集群或项目/命名空间。三者的创建方法类似。
要创建集群角色,再次展开 Rancher 侧边栏并返回到 Users & Authentication 页面。从左侧菜单中选择 Roles,选择 Cluster 选项卡。然后,单击右上角的 Create Cluster Role 按钮:
为角色命名并输入描述(可选)。接下来,使用 Grant Resources 来定义角色包含的 Kubernetes 权限。此示例允许用户在集群中创建和列出 Pod。单击 Create 按钮添加角色:
向集群添加新成员后,该角色会显示:
Rancher 和多云安全
Rancher 通过提供主动机制来增强多云安全。除了集中身份认证和 RBAC 的优势外,Rancher 还集成了其他安全措施来保护你的集群和云环境。
Rancher 在互联网安全中心 (CIS) Benchmark 基准的基础上维护了一份综合加固指南,可帮助你实施最佳实践并识别漏洞。你可以在 Rancher 应用程序中根据 Benchmark 扫描集群。
为此,导航到你的集群,然后展开左侧栏中的 Apps > Charts。从列表中选择 CIS Benchmark Chart:
单击下一个页面上的 Install 按钮:
按照以下步骤完成安装:
该过程可能需要几分钟,完成后你会在日志窗格中看到 “SUCCESS” 消息:
现在,导航回你的集群。你会在 Rancher 的侧边栏中找到一个新的 CIS Benchmark 项目。展开此菜单并单击 Scan,然后在出现的页面上单击 Create 按钮:
在下一个页面上,系统会提示你选择扫描配置文件,该文件定义了要执行的加固检查。你可以更改默认值来选择不同的 Benchmark 测试或 Kubernetes 版本。按 Create 按钮开始扫描:
然后,扫描将显示在 CIS Benchmark > Scan 页面上的 Scans 列表中:
完成后,你可以选择表中的扫描并在浏览器中查看结果:
Rancher 帮助 DevOps 团队扩展多云环境
多云是非常困难的,更多的资源通常意味着更高的开销、更大的攻击面和快速膨胀的工具链。这些问题可能会成为你扩展的阻碍。
Rancher 结合了多个独特功能,可帮助运维人员有效地处理分布在多个环境中的部署。
自动备份集群,安全更有保证
Rancher 具有一个备份系统,你可以将其作为 Operator 安装到集群中。此 Operator 将备份你的 Kubernetes API 资源,你可以轻松实现灾难恢复。
要添加 Operator,导航到集群并从侧边栏中选择 Apps > Charts。然后找到 Rancher Backups 应用并按照提示进行安装:
然后,Rancher Backups 会出现在导航菜单中。单击 Create 按钮定义一个一次性或定期备份计划:
配置你的备份详情:
创建备份后,如果数据被意外删除或发生灾难,你可以进行恢复。使用 Rancher,你可以通过统一的流程为所有集群创建备份,从而提高环境的复原能力。
Rancher 与多云解决方案集成
Rancher 是可在任何集群中管理 Kubernetes 的统一平台,这也是 Rancher 的一大优势。与其他生态系统工具结合使用时,Rancher 的表现还能更加出色。Rancher 集成了以下组件,为特定用例提供了更聚焦的支持:
- Longhorn:分布式云原生块存储,可在任何位置运行并支持自动配置、安全和备份。你可以在 Rancher UI 中将 Longhorn 部署到你的集群,以便为工作负载提供更可靠的存储。
- Harvester:裸机服务器上的超融合基础架构(HCI)解决方案。它提供了一个虚拟机管理系统,补充了 Rancher 的 Kubernetes 集群功能。通过同时使用 Harvester 和 Rancher,你可以高效地管理本地集群以及托管这些集群的基础设施。
- Helm:Kubernetes 应用程序的标准包管理器。它将应用程序的 Kubernetes 清单打包到一个称为 Chart 的集合中,你可以随时使用单个命令进行部署。Rancher 原生支持 Helm Chart,并且提供了一个方便的界面,你可以通过其应用程序系统将 Chart 部署到集群中。
结合使用 Rancher 与其他常用工具后,你可以让你的多云 Kubernetes 变得更加强大。有了自动化存储、本地基础设施管理和打包好的应用程序,你能随心所欲地进行扩展,无需手动配置环境和创建应用程序资源。
使用 Rancher Fleet 部署到大规模环境
Rancher 还可以帮助你使用自动化 GitOps 部署应用程序。Rancher Fleet 是专门用于容器化工作负载的 GitOps 解决方案,它提供了透明的可见性和灵活的控制,并支持在多个环境中进行大规模部署。
Rancher Fleet 为你管理 Kubernetes 清单、Helm Chart 和 Kustomize 模板,并将它们转换为可以自动部署在集群中的 Helm Chart。要在 Rancher 安装中设置 Fleet,单击左上角的菜单图标,然后从滑出式主菜单中选择 Continuous Delivery:
单击 Get started 连接你的第一个 Git 仓库并将其部署到集群中。Rancher 支持在所有环境中使用标准化的交付工作流。你不再局限于单一的云服务商、交付渠道或 PaaS:
结 论
多云让部署更灵活、更高效。通过结合多个云服务商的解决方案,你可以为每个组件选择最佳选项,同时避免供应商锁定的风险。
但是,将多云与容器和 Kubernetes 结合使用的企业还是经常会遇到运维挑战。管理位于多个不同环境(例如公有云和本地服务器)中的集群通常困难重重。此外,自行实现集中监控、访问控制和安全策略是一项非常繁重的工作。
Rancher 提供了用于配置基础设施、安装 Kubernetes 和管理部署的统一平台,助你轻松应对这些挑战。它兼容 Google GKE、Amazon EKS、Azure AKS、阿里云 ACK、腾讯云 TKE、华为云 CCE 以及你自己的集群,是实现多云 Kubernetes 互操作的终极解决方案。立即试用 Rancher 来配置和扩展多云 Kubernetes 吧!