问题标签 [openebs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
283 浏览

openebs - 无法在 RancherOS 上配置 OpenEBS 卷

我使用 Rancher v2 作为 k8s 管理平台并在 VMware vSphere 上运行 RancherOS 节点。我手动安装了 open-iSCSI 并在工作节点上安装了一个 50GB 的卷以供 OpenEBS 使用(必须弄清楚如何在节点创建时自动执行该操作)。我还创建了一个 cStor 存储类,一切看起来都不错。但是,我无法获得一个容器来使用 pvc 配置 pv。

我已按照以下步骤从 OpenEBS 文档中的 RancherOS Prerquisitee 部分启用 RancherOS 上的 iSCSI。

0 投票
1 回答
396 浏览

kubernetes - OpenEBS cstore 卷在删除和覆盖时非常慢

我有一个带有 3 个数据节点和一个默认 cstore 存储类的OpenEBS设置。创建文件效果很好:

我可以删除该文件并以完全相同的时间再次创建它。但是当我重写文件时,它需要很长时间:

当我删除a.log并再次写入时,~167MS/s 又回来了。仅写入现有文件需要花费大量时间。

我的问题是我认为这就是为什么我的一些应用程序(例如数据库)太慢的原因。在 mysql 中创建一个表占用了 7sek。

这是我的测试集群的规格:

我在 Kubernetes 上:

我该如何调查为什么需要这么长时间?我还能带来什么更多的内情?

0 投票
3 回答
390 浏览

kubernetes - 利用集群节点磁盘的 Kubernetes 存储提供程序

我正在 Kubernetes 之上构建一个平台,除其他要求外,它应该:

  • 与操作系统无关。任何具有健全内核和 cgroup 挂载的 Linux。
  • 通过利用集群节点磁盘提供持久存储。
  • 提供 ReadWriteMany 卷或实现共享存储的方法。
  • POD 不应绑定到特定节点(如本地持久卷)
  • 迁移 POD 时会自动重新附加卷(例如,由于节点耗尽或节点丢失情况)
  • 在存储级别提供数据复制
  • 不假设每个节点都有专用的原始块设备。

我通过对 k8s 组件和容器引擎使用静态二进制文件来解决第一点。再加上最小的主机工具,也是静态二进制文件。

我仍在寻找持久存储的解决方案。

到目前为止我评估/使用的内容:

所以问题是在使用集群节点磁盘时,对于 Kubernetes 持久存储,我还有什么其他选择。

0 投票
0 回答
112 浏览

kubernetes - OpenEBS 如何确定我的卷的位置?

我正在尝试使用 OpenEBS 作为 Kubernetes 集群的存储提供程序。OpenEBS 通过 helm 安装在由 Rancher 创建的 5 个节点组成的集群上。它似乎有效,但是我并不真正了解如何配置卷本身。

每个节点由 2 个磁盘创建,逻辑卷跨越这些磁盘。例如:

节点设备管理 (NDM) 配置有一个过滤器,不包括loop,fd0,sr0,/dev/ram,/dev/dm-,/dev/md. 到目前为止,一切都很好。

当我们列出 NDM 创建的块设备资源时,它列出了该节点的 2 个资源(其他节点省略)

探索创建的块设备,我们看到它/dev/sdb用作磁盘:

所以这里停止了我的理解。为什么选择 NDM/dev/sdb而不是/dev/sda?使用的磁盘和不使用的磁盘有什么区别?不应该/dev/sdb因为逻辑卷正在使用它而被跳过?如果我创建一个持久卷,这是否会限制我的逻辑卷 ( /home) 的大小?

此外,如果我创建一个持久卷声明(使用 jiva),则会在 中创建一个持久卷/var/openebs,例如/var/openebs/pvc-cdc4c5a2-89e1-41ed-b9e7-c672f27a8bed. 这是否意味着它根本不使用磁盘,而是将文件系统中的所有内容存储在逻辑卷中?

0 投票
1 回答
459 浏览

kubernetes - 在使用 Calico 在裸机 Kubernetes 集群上遵循 OpenEBS 安装说明后无法创建 PVC

我尽力按照说明创建裸机 Kubernetes 1.18 集群。我安装了 Calico 网络。我成功地将另一个控制平面节点加入了我的集群。我按照他们的说明安装了 OpenEBS。我使用 Helm 3 安装它。

只是为了摩擦最后一部分,我看到创建的存储类

但是当我尝试使用内置openebs-hostpath存储类创建 PVC 时......

我遇到以下错误:

我对 Kubernetes 了解得不够多,不知道如何进行。我的直觉是存在 DNS 问题,我无法从需要解决的任何地方解决该服务,即使有这样的服务:

如果重要的话,我的物理 LAN 地址是 10.250.0.0/24 地址。

我什至应该如何开始解决这个问题?我应该从哪里解析admission-server-svc.openebs.svc主机名?为什么我不能从我的主节点解决它?

0 投票
0 回答
314 浏览

kubernetes - 在创建池声明时,使用 Microk8s 和 OpenEBS cStor 会导致错误。任何人都知道为什么会发生这种情况,以及如何解决它?

我正在使用Microk8s(1.19,在 Ubuntu 20.04.1 LTS 上)并尝试使用OpenOBS(cStor 引擎)进行存储。

由于我在推送到 prod 之前在本地运行它,因此我创建了虚拟块设备:

我用 helm 安装了 OpenEBS,然后从 openebs-ndm-config -> filterconfigs -> path-filter -> exclude 中删除了“循环”。这样 ndm 会将这些显示为块设备。

^ 最后两个是我做的。然后我编写了配置来创建一个 cStor StoragePoolClaim

当我应用它时,两个块设备都被声明

这是预期的。

但是,有一个问题!

它永远不会从初始化状态改变。创建了一个 pod,显示错误为

如果有帮助,我可以显示很多文字。关键部分是错误消息,即:

错误:未能创建容器任务:OCI 运行时创建失败:container_linux.go:370:启动容器进程导致:process_linux.go:459:容器初始化导致:rootfs_linux.go:59:mounting "/var/snap/microk8s/common /run/containerd/io.containerd.grpc.v1.cri/sandboxes/a9b84df9076c91b83982f157e9bacdc5a10f80846d32034dd15cdae1c1d4c4c1/shm”到 rootfs 在“/dev/shm”导致:安全连接:太多级别的符号链接:未知

我已经尝试重置我的设置并一一重新输入命令以确保我正确地遵循了文档和其他示例,但是,我一直遇到这个错误。

这是microk8s的限制吗?OpenEBS 的故障?我的设置有什么奇怪的吗?还是我做错了什么?

更重要的是:有没有办法让它正常工作?

0 投票
1 回答
198 浏览

kubernetes - 在 k8s 集群中添加新节点动态扩展 pod

我正在 k8s 中构建一个应用程序,我希望部署/状态集的副本根据添加的节点数量进行扩展。

最初部署应该在创建第一个节点时提供 1 个副本,并且随着我们向其添加更多工作/主节点而增长,一旦达到最大值,它应该停止增长。我正在使用本地存储,我不希望在单个节点中安排有状态集。

假设我有一个预计运行 2 个副本的部署。当第一个节点启动时,应该只有一个。最后,当我有一个 3 节点主机时,它应该有 2 个副本在 2 个节点中运行。

无论如何,我可以做到这一点。TIA

0 投票
0 回答
179 浏览

kubernetes - 无法在juju中将本地k8s添加为云

我有一个通过 kubeadm 设置的三节点集群 k8s,我最近才听说 juju,我是全新的。我想要的是将我的本地 k8s 注册到我的本地 juju 节点中,但只要我去注册,我就会遇到以下错误。

在这里我可以看到 juju 正在尝试连接到10.96.39.217where 因为它是一个ClusterIP因此它是私有的并且无法从我的机器访问,但是为什么呢?一段时间后,最终出现无法访问 k8s 的错误。

0 投票
1 回答
391 浏览

kubernetes - 当节点关闭并尝试在其他节点上重新创建 Pod 时,Pod 进入 `ContainerCreating` 状态

我在部署在具有 3 个节点的 AWS EKS 上的 K8s 基础设施中遇到了 OpenEBS 问题。我正在部署带有一个副本的 RabbitMQ 状态集。当节点关闭并且 pod 在其他节点上重新启动时,我想保留 RabbitMQ pod 数据。因此,我在集群中部署了 OpenEBS。我试图终止运行 pod 的节点,因此 pod 尝试在其他节点中重新启动。但是 pod 没有在其他节点中启动并保持在ContainerCreating状态,并向我展示了以下问题 -

然后过了一段时间(大约 5-10 分钟),rabbitmq pod 能够启动,但我观察到一个 cstor-disk-pool pod 失败并出现以下错误 -

我描述了那个 cstor-disk-pool pod,并且 Node-Selectors 键仍然具有旧节点的值(已终止)有人可以帮我解决这个问题吗?此外,我们需要一种方法来减少 rabbitmq pod 重新启动和正确准备的时间,因为我们无法为我们的应用程序提供 5-10 分钟的 rabbitmq 服务停机时间

0 投票
1 回答
64 浏览

openebs - 如何更换 cStor 池中出现故障的磁盘?

如果其中一个 cStor 磁盘在 mirrored、raidz 或 raidz2 中出现故障,应如何更换磁盘并使用 cStor 重新交付?我找到了添加新磁盘的说明,但没有找到更换故障磁盘的说明。