我尝试了,但是尝试了,但Rancher 2.1无法部署配置了本地持久卷的“ mongo-replicaset ”目录应用。
如何正确部署带有本地存储卷的mongo-replicaset?由于我是牧场主2的新手,因此感谢所有调试技术。
我遵循下面的4个ABCD步骤,但是第一个Pod部署永远不会结束。怎么了日志和结果屏幕位于末尾。可以在here中找到详细的配置。
注意:没有本地持久卷的部署成功。
注意:使用本地持久卷和“成功”镜像(没有副本集版本)进行部署。
注意:使用mongo-replicaset和本地永久卷进行部署失败。
步骤A-群集
创建一个牧场者实例,然后:
步骤B-存储类
使用以下参数创建存储类:
步骤C-持久卷
添加3个永久卷,如下所示:
步骤D-Mongo复制副本部署
从目录中,选择Mongo-replicaset并进行如下配置:
结果
完成ABCD步骤后,新创建的mongo-replicaset应用程序将无限处于“正在初始化”状态。
关联的mongo工作负载仅包含一个Pod,而不是三个。这个吊舱有两个“坠毁”的容器,即引导程序和mongo-replicaset。
日志
这是唯一运行的容器的4个容器的输出。没有错误,没有问题。
我无法弄清楚此配置有什么问题,并且我没有任何工具或技术来分析问题。可以在here中找到详细的配置。请询问我更多命令的结果。
谢谢
答案 0 :(得分:1)
所有这些配置都是正确的。
由于Rancher是kubernetes的容器化部署,因此缺少细节。 Kubelet部署在Docker容器中的每个节点上。他们无法访问操作系统本地文件夹。
需要为kubelet添加体积绑定,例如K8能够使用相同的绑定创建mongo pod。
在牧场主中: 编辑集群Yaml(集群>编辑>以Yaml编辑)
在“服务”节点下添加以下条目:
kubelet:
extra_binds:
- "/mongo:/mongo:rshared"