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

  1. 博客
  2. 文章

Canonical
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. 也没有附属关系。


查看更多内容

Canonical Managed Kubeflow AI 运维平台现已登陆 Microsoft Azure Marketplace

Ubuntu 发行商 Canonical 近日宣布,其 Managed Kubeflow 服务已在 Microsoft Azure Marketplace 正式上线,实现全面商用(GA)。该解决方案允许 AI 团队在自有云租户环境内获得一个完全托管、可直接投入生产的 MLOps 平台。 上游 Kubeflow...

全新工具 Workshop 上线:一条命令即可在 Ubuntu 中启动沙箱开发环境

开发者如今可在智能体 AI 等前沿工作流程中,获得环境统一、可复现的开发体验 Canonical 正式发布 Workshop,该解决方案可通过单条命令快速启动开发环境。只需配置一次,此开发环境即可在多台设备上复现使用。这意味着各类开发设备与部署流水线可保持统一工作流程,并可大幅减少管理依赖关系所花费的时间。...

Canonical 技术案例 – 彻底解决 12 年老旧代码中的 Linux 性能漏洞

部分支持案例处理起来十分简单。另一些案例则要深入老旧遗留代码,一处逻辑缺陷就能悄无声息让常规指令引发严重性能故障。本系列将介绍 Canonical 技术支持与持续工程团队如何协作,排查、修复并向上游提交仅靠常规故障排查无法解决的疑难问题。在第二篇帖子中,libnss-db 中一处存在 12 年之久的漏洞导致 getent...

借助全新 NVIDIA OpenShell Snap,在 Ubuntu 上安全管控 AI 智能体工作流

NVIDIA 发布经过验证的 OpenShell Snap 软件包,用于在 Ubuntu 上安全管控 AI 智能体工作流 Canonical 在 COMPUTEX 宣布与 NVIDIA 达成全新合作,将面向智能体的 NVIDIA OpenShell 运行时直接集成至 Ubuntu 生态系统。Canonical 将 OpenShell 封装为 Snap...