Kubernetes / Rancher 2,具有本地存储卷部署的 mongo-replicaset

2023-11-22

我尝试了,我尝试了,但是 Rancher 2.1 无法部署“蒙戈复制集“ 目录应用程序,带有本地持久卷配置。

如何使用本地存储卷正确部署 mongo-replicaset?由于我是 rancher 2 的新手,所以任何调试技术都会受到赞赏。

我遵循下面的 4 ABCD 步骤,但第一个 Pod 部署永远不会结束。这有什么问题吗?日志和结果屏幕位于最后。详细配置可以查看here.

Note:没有本地持久卷的部署succeed.

Note:使用本地持久卷和“mongo”映像进行部署succeed(没有副本集版本)。

Note:使用 mongo-replicaset 和本地持久卷进行部署fails.


步骤 A - 集群

创建一个 rancher 实例,并且:

  1. 添加三个节点:一个worker、一个worker etcd、一个worker控制平面
  2. 在每个节点上添加标签:节点亲和力的名称一、名称二和名称三

步骤 B - 存储类别

使用以下参数创建存储类:

  1. 卷绑定模式:等待第一个消费者saw here
  2. 名称:本地存储

步骤 C - 持久卷

添加 3 个持久卷,如下所示:

  1. type : 本地节点路径
  2. 访问模式:单节点RW、12Gi
  3. 存储类别:本地存储
  4. 节点关联性:命名一(第二卷为两个,第三卷为三个)

步骤 D - Mongo-replicaset 部署

从目录中,选择 Mongo-replicaset 并进行如下配置:

  1. 副本集名称:rs0
  2. 持久卷.启用:true
  3. 持久卷大小:12Gi
  4. permanentVolume.storageClass:本地存储

Result

执行 ABCD 步骤后,新创建的 mongo-replicaset 应用程序无限地保持在“初始化”状态。

mongo status stopped at initialized

关联的 mongo 工作负载仅包含一个 pod,而不是三个。这个 Pod 有两个“崩溃”的容器:bootstrap 和 mongo-replicaset。

crashed workload with only one pod


Logs

这是唯一正在运行的 pod 的 4 个容器的输出。没有错误,没有问题。

no logs in mongo container allmost no logs in copy-config container allmost no logs in install container some logs from bootstrap container

我无法弄清楚这个配置有什么问题,而且我没有任何工具或技术来分析问题。详细配置可以查看here。请向我询问更多命令结果。

感谢您


所有这些配置都是正确的。

由于 Rancher 是 kubernetes 的容器化部署,因此它缺少一个细节。 Kubelet 部署在 docker 容器中的每个节点上。他们无法访问操作系统本地文件夹。

需要为 kubelet 添加卷绑定,这样 K8s 将能够使用相同的绑定创建 mongo pod。

在牧场主: 编辑集群 yaml(集群 > 编辑 > 编辑为 Yaml)

在“services”节点下添加以下条目:

  kubelet: 
    extra_binds: 
      - "/mongo:/mongo:rshared"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Kubernetes / Rancher 2,具有本地存储卷部署的 mongo-replicaset 的相关文章

  • 如何根据 Kubernetes / Docker 事件发送警报?

    是否可以根据 Kubernetes 集群内发生的事件以某种方式发送警报 到电子邮件 slack 特别是 如果 Pod 意外重新启动或 Pod 无法启动 那么获取警报将非常有用 同样 了解 Pod 的 CPU 使用率是否超过特定阈值并获取警报
  • 允许 Kubernetes 用户列表/获取命名空间

    我有以下用户清单 我希望允许 myapp user 获取集群内所有命名空间的列表 根据我的查找 我应该创建一个 ClusterRole 但我无法真正找到足够的详细信息 是否有所有 apiGroup 以及相应资源和动词的列表 apiVersi
  • MongoDB 获取聚合查询中的第一个和最后一个文档

    我如何获得第一个和最后一个文档time场地 我可以用 group并得到 first and last文档 但我不需要在这里分组 只需获取第一个和最后一个完整文档 也许我可以用slice 此查询不起作用 aggregate 353469045
  • MongoDB 如何使用 $date 运算符进行查询?

    编辑 上下文 我正在使用 Talend ETL 工具 并在查询中使用 ISODate 或 Date 或 new Date 如下所示失败并出现错误 因此我需要解决方法 dt ISODate 2014 01 01 dt Date 2014 01
  • 使用 dockerfile 在 docker 中安装 mongodb 驱动

    我有一个 mongodb docker 容器 我需要另一个安装了 php 和 apache 的 docker 容器 我想从这个容器运行一个 php 脚本并将一些数据发送到 mongodb 容器以将数据保存在 mongodb 数据库中 所以我
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • 使用mongoid动态创建索引

    我有一项为我的文档创建新字段的工作 我想在这项工作结束时创建该字段的索引 我试过 Model index field gt 1 and also Mongoid Sessions default rating prediction ensu
  • 如何中止 MongoDB shell 中正在运行的查询?

    我不敢相信我必须问这个问题 但是如何停止我刚刚运行的查询 该查询现在正在运行 并且显然需要很长时间才能在 Mongo shell 中完成 Control C似乎会使外壳崩溃 并吐出大量错误 中建议的愚蠢解决方案这个帖子 https stac
  • Google Kubernetes Engine 中的存储 ReadWriteMany

    有没有一种方法能够提供 ReadWriteMany 存储而无需实现存储集群 我能够使用 gcsfuse 提供存储 但速度非常慢 我需要接近 GlusterFS 速度的东西 我目前正在使用 GlusterFS 另一种选择 Google Clo
  • i18Next - NodeJS - 如何在不重新加载服务器的情况下更改翻译

    我正在使用 NodeJS 的 i18next 包来启用翻译 我将它作为标准 并为每个语言 国家对使用一个 json 文件 我想构建一个管理页面来编辑翻译 而无需深入研究代码 那么 如何 重新加载 管理员编辑过的 json 文件 而无需重新启
  • 如何为某些节点分配命名空间?

    有什么办法可以配置吗nodeSelector在命名空间级别 我只想在此命名空间的某些节点上运行工作负载 为了达到这个目的 你可以使用PodNodeSelector准入控制器 首先 您需要在您的kubernetes apiserver Edi
  • $lookup结果中的$match

    我有下一个蒙戈代码 db users aggregate match and UserName eq administrator Company CompanyName eq test lookup from companies local
  • 猫鼬的深层填充

    我有两个模式 一张用于用户 另一张用于帖子 在用户模式中 我有latestPost的一个属性 它是帖子模式中条目的ObjectId 当我加载用户对象时 我想将 lastestPost 作为对象获取 其中包含用户架构中作者的用户名 其中作者是
  • MongoDB 和 Mongoose 访问一个数据库,同时针对另一个数据库进行身份验证(NodeJS、Mongoose)

    我有几个数据库 不想为每个数据库创建单独的用户帐户 MongoDB 支持使用另一个数据库中定义的帐户来验证对数据库的访问的概念 但语法示例很难获得 当我终于弄清楚时 我正准备提出一个问题 如果它对其他人有帮助 就放在这里 这是 mongod
  • 嵌入文档中的mongodb限制

    我需要创建一个消息系统 一个人可以在其中与许多用户进行对话 例如 我开始与 user2 user3 和 user4 交谈 因此他们中的任何人都可以看到整个对话 并且如果对话在任何时候都不是私密的 则任何参与者都可以将任何其他人添加到对话中
  • Spring Data MongoDB 和批量更新

    我正在使用 Spring Data MongoDB 并且想要执行批量更新 就像此处描述的那样 http docs mongodb org manual reference method Bulk find update Bulk find
  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • 使用 AWS MSK 连接器连接到 AWS VPC 内的 MongoDB atlas

    我正在尝试使用MongoDB使用更改流Kafka 我选择 AWS MSK 是因为我的整个基础设施都位于 AWS 内 并且可以轻松与其他 AWS 服务集成 I created an AWS MSK cluster within the VPC
  • Mongodb聚合数组大小大于匹配项[重复]

    这个问题在这里已经有答案了 我有一个集合 其中投资是 mongodb 文档内的一个数组 现在使用聚合 我尝试过滤投资长度超过 5 倍的结果 然后使用匹配查询进行下一步处理 Collection id 000000 investments h
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它

随机推荐