问题标签 [kubedb]

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 投票
2 回答
1538 浏览

kubernetes - Redis 似乎在启动时删除了 dump.rdb。使用 Kubernetes PVC 和 KubeDB。为什么会这样?

我们在集群中使用KubeDB来管理我们的数据库。

所以 Redis 是通过KubeDB Redis 对象部署的,KubeDB 将 PVC 附加到 Redis pod。

不幸的是,KubeDB 不支持任何 Redis 转储的恢复或备份(目前)。

对于备份,我们的解决方案是运行 CronJob,它将dump.rdbRedis pod 中的数据复制到作业 pod 中,然后将其上传到 S3。

对于转储的恢复,我也想做同样的事情,只是反过来。有一个临时 pod,它下载 S3 备份,然后将其复制到 Redis pod 到该dump.rdb位置。

redis.conf看起来像这样:

复制工作。位于dump.rdb具有正确权限的正确位置。我通过在 Redis pod 中使用相同的redis.conf. dump.rdb正在毫无问题地加载到服务器中。

但是,由于我不想手动启动第二个 redis-server,所以我重新启动了 Redis pod(通过 kubectl delete pods)让 pod 拾取复制的dump.rdb.

每次我删除 pod 时,它dump.rdb都会被删除,并且dump.rdb正在创建一个尺寸更小(93 字节)的新 pod。

我不认为这是 PVC 问题,因为我创建了一些文件来测试它们是否也被删除。他们不是。只有dump.rdb.

为什么会这样?我期望 Redis 只是从数据库中恢复数据库dump.rdb而不是创建一个新数据库。

编辑:是的,大小dump.rdb约为 47 GB。Redis 版本是 4.0.11。

0 投票
3 回答
997 浏览

postgresql - KubeDB on minikube mount local directory

I'm trying to run postgres using kubedb on minikube where I mount my data from a local directory (located on my Mac), when the pod runs the I don't get the expected behaviour, two things happen: One is obviously the mount isn't there, and second I see the error pod has unbound immediate PersistentVolumeClaims

First, here are my yaml file:

According to this which is reflected in the answer below, I've removed the storageClass from all my yaml files.

The describe pod looks like this:

I followed the official manual on how to mount a pvc here For debug, I used the same pv and pvc to mount a simple busybox container and it worked fine, that is I can see the mount with data in it:

The only difference with my own pod and that of the KubeDB (which to my understanding there's a statefulset behind it) is that I kept the storageClass in the PV and PVC ! if I remove the storage class, I will see the mount point inside the container but it's empty and has no data

0 投票
0 回答
96 浏览

postgresql - 如何在 KubeDB 中使用 GCP 本地 SSD

是否有一个如何设置KubeDB PostgreSQL流复制集群的示例,其中每个 pod 的数据都使用 Google Cloud 的本地 SSD(需要为每个 PG 节点合并 2x375GB SSD)。

我知道本地 SSD 是临时的 - 对于我的用例来说,性能和易于扩展更为重要,而且我的数据可以在一天内重新生成。

第一个链接中的 KubeDB 文档有这两个设置,但我不确定如何配置 pod 亲和性,以及作为 PostgreSQL 初始化的一部分将两个本地 SSD 初始化(合并)为一个。

spec.storageType指定将用于 Postgres 数据库的存储类型。它可以是DurableEphemeral。此字段的默认值为 Durable。如果使用 Ephemeral,那么 KubeDB 将使用 EmptyDir 卷创建 Postgres 数据库。在这种情况下,您不必指定 spec.storage 字段。这对于测试目的很有用。

spec.storage指定将动态分配以存储此数据库的数据的 PVC 的大小和 StorageClass。此存储规范将传递给 KubeDB 操作员创建的 StatefulSet 以运行数据库 pod。您可以使用适当的资源请求指定集群中可用的任何 StorageClass。如果您不指定 spec.storageType: Ephemeral,则此字段是必需的。

0 投票
1 回答
493 浏览

mongodb - 如何使用 Kubedb 更改或增加部署在 kubernetes 中的 Mongodb 中 PVC/存储的大小

正如您在下面的 yml 配置文件中看到的那样,我已经在我的 kubernetes 集群中部署了一个 Mongodb 分片集群,并且工作正常。我按照这个文档/文章进行了设置。现在的问题是我必须增加我的 Mongodb 存储的大小,但我遇到了一些错误。非常感谢任何帮助。谢谢。

在上面的 yaml Kubedb Mongodb 部署文件中,我将存储从 1 Gi 更改为 2 Gi 并尝试再次重新应用它:kubectl apply -f kubedb-mongodb-deployment.yaml

但我收到此错误:

0 投票
1 回答
5350 浏览

kubernetes - 有没有办法强制删除 webhook 失败的 crd?

在这种情况下,kubedb操作员已经崩溃并且没有响应 - 但是我需要清理这些资源。

0 投票
1 回答
84 浏览

go - 自动化 Kubernetes 集群的 API 版本

我想自动化我的自定义资源的 kubedb API 版本。如何获取管理 bu 集群的 API 版本并将其传递到可以自动运行的代码中。我正在使用多个集群,每个集群都由不同的 Api 版本管理,例如我的开发集群由 kubedb.com/v1alpha1 管理,但我的生产集群由 kubedb.com/v1alpha2 管理。所以我想根据每个集群 API 版本自动化它。

我想在以下代码中更新以下 apiVersion