谢谢您的订阅!
当新的内容发布后您将开始接收邮件。您也可以点击邮件内的链接随时取消订阅。关闭Close

在 Kubernetes 上运行 MongoDB

by Canonical on 26 December 2023

通过容器,能够以轻量级、可移植且一致的方式打包应用及其依赖项。容器提供隔离的环境,确保应用在不同环境中可靠地运行。由于容器能够带来诸多好处,企业和精通技术的个人都使用容器技术。然而,随着容器使用量的增加,容器编排工具已成为管理集群的必要工具。

Kubernetes 简称 k8s,是广为人知的容器编排工具,并且已发展为功能丰富的云原生平台。Kubernetes 帮助管理容器的生命周期,尤其是在大型动态环境中。Kubernetes 能够自动实现容器化工作负载和服务的部署、联网、扩展与可用性。运行少量容器——轻量级并且通常具有短暂性——很容易手动完成。但是,如果没有容器编排平台的自动化功能,在生产环境中大规模管理容器将是一个严峻的挑战。

在数据库方面,组织想要在公共、私有和混合环境中构建和运行可扩展的数据库应用。因此,MongoDB 等容器化数据库可在 Kubernetes 中运行,并且能够受益于可移植性,帮助团队最大限度减少供应商锁定,获得 DevOps 友好性、可扩展性和成本效益。

为何在 Kubernetes 上运行 MongoDB?

在 Kubernetes 上运行 MongoDB 可能很复杂,但十分有价值,因为这允许您对 MongoDB 实例进行容器化和编排,从而实现可扩展性和弹性,并简化管理。下面列出了一些好处: 

可扩展性:通过添加或移除数据库实例的副本,Kubernetes 允许更轻松地水平扩展 MongoDB。这样,当您的应用增长或使用量激增时,您可以动态处理增加的工作负载和流量。

高可用性:Kubernetes 提供副本集和 StatefulSet 等特性,以确保 MongoDB 实例高度可用。如果节点出现故障,Kubernetes 可自动重新调度 pod,以维持所需数量的副本,从而帮助防止停机。

编排:Kubernetes 对底层基础设施进行抽象处理,以便简化 MongoDB 部署的管理和编排。在声明式配置文件中,您可以定义您的 MongoDB 资源,包括 pod、服务和存储。

在 Kubernetes 中运行 MongoDB 可带来诸多好处,但是要使生产就绪型数据库在 Kubernetes 中运行,您究竟需要什么?除了上面列出的考虑因素,还需要考虑安全性、部署就绪性、备份和还原、监控等多个因素。

Ubuntu 用于在 Kubernetes 上托管 MongoDB

目前,Canonical 正在维护一个名为 Charmed MongoDB 的项目,这是 K8s 运算符,其中包含的代码接管自动化任务,以管理 Ubuntu 中托管的 MongoDB。该 K8s 运算符也称为 K8s charm,这是封装在可重用软件包中的业务逻辑,能够自动处理应用生命周期的方方面面,在本例中是 MongoDB。 

该运算符基于 Juju,这是适用于软件运算符的开源编排引擎,能够在任意基础设施上以任意规模部署、集成应用并管理其生命周期。

为支持 Kubernetes 中运行的应用,Canonical 还维护另外两个经过 CNCF 认证的 Kubernetes 发行版: Charmed Kubernetes MicroK8s,以帮助简化和加速 Kubernetes 的部署。

开始使用

Charmed MongoDB K8s 运算符为 MongoDB 提供从第 0 天到第 2 天的自动操作管理。Charmed MongoDB 项目正在持续开发中;随着时间推移,我们将不断提供更丰富的功能。 

开始前,您必须具备以下环境:Ubuntu 操作系统、一组最低限度的 CPU、存储和 RAM。您还必须熟悉基本终端命令和 MongoDB 概念,比如复制和用户。 

之后,您需要使用 Microk8s Juju 设置环境。

然后,您可以使用 Charmed MongoDB 管理以下操作:

  • 使用单个命令部署 MongoDB。
  • 直接访问管理员数据库。
  • 通过复制增加可用性。
  • 更改管理员密码。
  • 通过 Juju 关系自动创建 MongoDB 用户。
  • 通过 TLS 实现安全通信。

学习在您的机器中使用 Charmed MongoDB(K8s 运算符)

结论

在公共、私有和混合环境中运行数据库集群可提供多项好处。Kubernetes 提供额外的优势,包括可移植性、减少供应商锁定、DevOps 友好性、可扩展性和成本效益。

虽然在 Kubernetes 中运行 MongoDB 具有多项优势,但值得注意的是,在容器化环境中管理分布式数据库也面临挑战,要想实现成功部署,离不开仔细规划、监控和优化。此外,了解最新的最佳实践和不断发展的技术有助于充分利用该方法。

Canonical 为 MongoDB 等数据库提供安全补丁、支持、咨询和托管服务,因此您可以在 Kubernetes 中无缝部署和运行数据库。欢迎联系我们以了解更多信息。

商标通知

“MongoDB” 是 MongoDB Inc. 的商标或注册商标。其他商标是其各自所有者的财产。Charmed MongoDB 不受 MongoDB, Inc. 的赞助和支持,与 MongoDB, Inc. 也没有附属关系。

订阅博客文章

订阅您感兴趣的主题

在提交此表格的同时,我确认已阅读和同意的隐私声明隐私政策。

查看更多内容

OpenStack 结合 Sunbeam 用于小型私有云基础架构

每当涉及到小型私有云基础架构项目的推出时,企业组织通常都会面临两难的境地。由于缺乏相关知识、棘手的迁移过程以及管理层对运行各种扩展(如 Kubernetes)的迫切需求,实施过程往往看起来很复杂。克服这种复杂性难题最显而易见的方法是引入昂贵的专业服务来处理项目,但这样的选择对于中小型企业而言却过于昂贵。 幸运的是,现在有新的解决方法可以让您自己轻松应对所有这些挑战。在本篇简短的博客中,我们将介绍如何使用 Sunbeam 项目无缝部署小型私有云,并且没有经验要求,也不会产生昂贵的咨询费用。 术语介绍 在开始之前,我们来简要了解一下本篇博客中所使用的一些术语。 什么是 Sunbeam? Sunbeam 是 OpenInfra Foundation(OIF)旗下的上游项目,旨在 […]

Canonical Kubernetes 1.29 现已正式发布

上游 Kubernetes 新版本 1.29 现已正式发布,其中包含重要的新增功能和漏洞修复。Canonical 密切关注上游开发,进行版本协调,以提供及时、最新的增强功能,这意味着 MicroK8s 1.29 也已正式发布,Charmed Kubernetes 1.29 也即将正式发布。 Canonical Kubernetes 1.29 中的新增功能 Canonical 的 Kubernetes 发行版,MicroK8s 和 Charmed Kubernetes,提供了上游 Kubernetes 1.29 中可用的所有功能。我们还增加了许多新功能。有关更改和增强功能的完整列表,请参阅 MicroK8s 和 Charmed Kubernetes 版本说明。 MicroK […]

Edge Computing Examples

您应当知道的 5 个边缘计算示例 在日新月异的科技世界中,创新是保持领先地位的关键。在企业追求效率、速度和实时数据处理能力的趋势下,人们越来越关注边缘计算。  边缘计算代表了数据处理和分析方式的范式转变。与将数据处理集中在远程数据中心的传统云计算不同,边缘计算是将数据处理带到了更接近数据源的地方。这样不仅减少了延迟,而且为各行各业开辟了一个充满可能性的世界。 我很高兴通过本篇博客跟大家一起来探讨这项尖端技术的示例及各种应用和用例,文中将特别着重于探讨 Canonical 的 MicroCloud 如何无缝地适应这一转变格局。 各行各业边缘计算示例 智慧城市和城市规划 边缘计算在智慧城市的发展中起着至关重要的作用。通过在整个城市环境中部署传感器、摄像头等边缘设备,数据可以就 […]