问题标签 [kubernetes-statefulset]

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 回答
360 浏览

kubernetes - 在 statefulset 中跳过 pod 部署

我有一组有状态的 pod,由于它们的有状态性质,其中一个无法重新创建,因为某些状态错误导致删除它无济于事。

由于它是一个有状态的集合,kubernetes 将阻止创建额外的 pod,直到它能够让卡住的 pod 运行。Statefulsets 有 podManagementPolicy: "Parallel" 但它不能在运行时更改。

问题是是否有办法让 kubernetes 跳过卡住的问题?

0 投票
1 回答
297 浏览

kubernetes - 重新部署 kubernetes statefulset 是否保留持久卷声明?

我们有一个 kubernetes statefulset,其中包含存储类“zookeeper”的持久卷声明

存储类“zookeeper”有6个持久卷

部署是使用 Helm 图表完成的。当我第一次安装具有 3 个副本数的 helm chart 时,statefulset 使用 Pv1、Pv2 和 Pv3。一切运行正常。

删除清除掌舵图。

使用相同数量的副本重新安装相同的 Helm 图表,3 这次 statefulset 将选择相同的持久卷,Pv1、Pv2 和 Pv3,或者它会从 6 个 Pv 中选择任何随机 Pv。这很重要,因为跨部署,如果持久卷发生变化,zookeeper“myid”就会混乱。

0 投票
1 回答
3872 浏览

kubernetes - 如何将 configMap 挂载为有状态集中的卷挂载

根据https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/#statefulset-v1-apps只有 PVC 可以与 "StatefulSet" 相关联。但是 PVC 没有 configMaps 的选项。

0 投票
1 回答
67 浏览

kubernetes - Neo4J:Pods 记录 Neo4j 无效的用户名

有没有人使用 Helm Charts 将 Neo4J 图形数据库或任何有状态应用程序部署到 Kubernetes?我有这个任务需要我将 Neo4J 图形数据库部署到 Kubernetes。

问题:Pod 不断崩溃,因为它无法获取提供的用户名,并且即使提供了用户名,也会抛出以下日志: 用户名无效,运行kubectl logs neo4j-chart-0 命令时必须是 neo4j 。我究竟做错了什么?

0 投票
1 回答
191 浏览

kubernetes - 是否可以让 StatefulSet 的 pod 在 Kubernetes 中运行不同的应用程序映像?

我想创建一个 StatefulSet,我希望我的第一个 pod(即 ordeal index-0)充当路由器(routing-app),用于从 ordeal index 1(serving-app)开始的 pod。

我是 Kubernetes StatefulSets 的新手,并且仍在尝试找出它们在现实世界应用程序中的用法。如果我正在尝试从设计角度来看我不应该做的事情,或者我应该尝试其他事情来完成我的要求,请告诉我。谢谢,J

0 投票
5 回答
6463 浏览

kubernetes - 是否可以将 StatefulSet 的 pod 分配给 Kubernetes 集群的特定节点?

我有一个 5 节点集群(1-master/4-worker)。是否可以配置一个 StatefulSet,让我可以在给定节点上运行一个或多个 pod,因为它知道它有足够的容量,而不是 Kubernetes 调度程序做出这个决定?

可以说,我的 StatefulSet 创建了 4 个 pod(副本:4)作为 myapp-0、myapp-1、myapp-2 和 myapp-3。现在我正在寻找的是:

myapp-0 pod--被安排到---> worker-1

myapp-1 pod--被安排到---> worker-2

myapp-2 pod--被安排到---> worker-3

myapp-3 pod--被安排到---> worker-4

请让我知道它是否可以以某种方式实现?因为如果我向 StatefulSet 的 pod 添加容错,所有 pod 都将是相同的,并且所有这些都将被安排在与 taint 匹配的单个节点上。

谢谢,J

0 投票
1 回答
462 浏览

kubernetes - 在 statefulset 生成的 pod 上更新 docker 镜像的最佳方法

我有三个由 statefulset 生成的 pod,它们使用来自 docker hub 的过时的公共 docker 映像。
我想通过更改 statefulset yaml 文件中的图像条目来更新图像。
到目前为止,我尝试过的是kubectl -n THE_NAMESPACE apply -f statefuleset-definition.yaml在更新文件后,我得到:statefulset "statefulset-name" configured
但是 pod 不会自动重启。
这个页面我还看到可以直接使用--image标志传递图像名称,但我希望这发生在 statefulset 定义文件中,以保持文件和 pod 内联。 过程还建议直接更新,但它会更改 pod 名称,这是我不想要的。
有小费吗?

0 投票
0 回答
907 浏览

mongodb - 更改 kubernetes 中 mongo db 的 dBpath

我在使用 nfs 上的持久卷在 k8s 上部署 mongodb(作为有状态集)时遇到了一些问题。基本上我想改变 dbPath mongo 将写入其数据的位置。

这是我的有状态集 yaml 定义(其中的一部分):

这是用于定义配置文件的 ConfigMap yaml,其中保存了新的 dbPath:

问题是,当我以这种方式进行部署时,从日志中可以看出,mongo 总是在预定义的路径上启动:

但是当我查看容器内部时,我看到的是:

我可以找到这两个文件夹,但只有一个在数据库中存在集合和索引数据(真正的数据库内容)。为什么?如何正确设置 dbPath?

我已经看到我的图像使用了这个入口点(mongo 4.2),但我不太了解它

编辑:

这是 db3 文件夹(我的自定义文件夹)的内容:

所以 mongo 在那里写了一些东西。这是 db 文件夹的内容(默认一个):

另外,当我搜索默认配置文件时,我得到了这个:

*.orig后缀。这是什么意思?

0 投票
1 回答
871 浏览

kubernetes - 将流量路由到副本集的特定 Pod

我需要将流量(实时音频/视频)直接路由到特定的 pod 容器中。pod 的数量应该使用副本集水平扩展。我现在的解决方案是创建一个包含与 pod 一样多的 NodePort 类型服务的 StatefulSet。

这被认为是一种可接受的解决方案,还是有更好的为每个 pod 创建服务的解决方案?

0 投票
2 回答
4036 浏览

kubernetes - Kubectl 等待 statefulset 的一个 pod 就绪?

要等待某个 pod 完成,命令是

kubectl wait --for=condition=Ready pod/pod-name

同样,我想等待 statefulset 中的任何一个 pod 准备好。我尝试了下面的命令,但它不起作用,

kubectl wait --for=condition=Ready statefulset/statefulset-name

命令选项应该是什么样的?