问题标签 [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.
kubernetes - 卷已专门附加到一个节点,不能附加到另一个节点
我有一个非常简单的 Kubernetes pod。我想要一个有状态的集合并想要以下过程:
- 我想下载一个 initcontainer 并将 tarball 从 s3 解压缩到安装到 initcontainer 的卷中
- 我想将该卷安装到我的主容器中以供使用
我继续收到以下错误:
起初我运行它,我可以看到我的 tarball 的日志正在被 initcontainer 下载。大约完成一半它终止并给我以下错误:
kubernetes - 如何将一个不同的 Secret 挂载到 StatefulSet 管理的每个 Pod 中?
我有 3 个不同的 Kubernetes 秘密,我想将每个秘密挂载到自己的 Pod 中,由具有 3 个副本的 StatefulSet 管理。
是否可以配置 StatefulSet 使每个 Secret 都安装到自己的 Pod 中?
kubernetes - 如何将流量转发到特定的 pod?
我有一个在内存数据库中使用的应用程序。我使用带有 3 个副本的 Pod 创建了 statefulset。使用 PVC 存储数据库相关文件。
我使用了一个 Loabalancer 来公开 statefulset。
因此,当流量每次转发到不同的 Pod 时都会遇到负载均衡器。
无论如何我可以根据某些条件控制对 Pod 的负载平衡(比如客户端 IP 是 X 转到 pod Y)吗?
kubernetes - Kubernetes - 如何为每个节点创建一个 Pod?
我想要一个 Kubernetes StatefulSet:
- 副本数/Pod 数 = Kubernetes 集群中的节点数
- 每个节点上都有一个 Pod
有没有关于如何解决这个典型需求的简单示例?
kubernetes - 在 Kubernetes 中删除有状态集
如何永久删除 Kubernetes 中的 Stateful Sets?--force
即使在我通过设置和--grace-period=0
标志删除它们之后,它们也会重新创建。
我知道我可以通过删除部署本身来删除它们。我很想知道是否有任何方法可以保留部署并仅删除不需要的有状态集。
kubernetes - 如何使用负载均衡器公开 Statefulset?
我目前正在尝试创建一组 X 豆荚,每个豆荚都有一个个人持久卷。为此,我StateFulSet
使用 X 副本创建了一个,并且PersistentVolumeClaimTemplate
这部分正在工作。
问题是似乎不可能以与 a 相同的方式使用 LoadBalancer 公开这些 pod deployment
(因为 statefulset 中 pod 的唯一性)。
此刻我试图将它暴露为一个简单的部署女巫不起作用,我发现的唯一方法是一个一个地暴露每个 pod(我没有测试过,但我在这个上看到了)但它是不是那么可扩展...
我没有在任何云提供商平台上运行 kubernetes,那么请避免使用专有命令行。
kubernetes - K8s:StatefulSet如何在失败的情况下增加重新启动pod之间的时间
我有集成测试,在那里我启动 StatefulSet,等到准备好然后做一些断言。
我的问题是,如果应用程序失败 - 它会尝试重启太快。而且我无法从失败的 pod 中获取日志。
所以我的问题是如何增加 StatefulSet 中 Pod 重启之间的时间?因为 K8s 控制器不支持 RestartPolicy: Never。
kubernetes - 如何在 Kubernetes 中重新附加已发布的 PersistentVolume
这是我的总体目标:
运行 MongoDB
通过 pod 故障/更新等持久化数据
我采取的方法:
K8S 提供者:数字海洋
节点:3
创建 PVC
创建无头服务
创建有状态集
这是配置的简化版本:
这按预期工作。我可以将副本降速为 0:
kubectl scale —replicas=0 statefulset/my-app-database
重新旋转它:
kubectl scale —replicas=1 statefulset/my-app-database
数据将持续存在..
但是有一次,当我通过上下缩放 statefulset 来搞乱时,我遇到了这个错误:
作为 k8s 的新手,我删除了 PVC 并“重新创建”了同一个:
使用statefulset
新 PV 旋转备份,旧 PV 被删除,因为默认persistentVolumeReclaimPolicy
设置为Delete
。
我将这个新 PVpersistentVolumeReclaimPolicy
设置Retain
为确保数据不会被自动删除。我意识到:我不确定如何回收该 PV。早些时候,为了解决“卷附件”错误,我删除了 PVC,它只会使用我的设置创建另一个新 PV,现在我的数据留在了那个Released
PV 中。
我的主要问题是:
总体而言,这听起来像是实现我目标的正确方法吗?
我是否应该考虑将 a 添加
claimRef
到动态创建的 PV,然后使用该 claimRef 重新创建一个新的 PVC,如此处所述:Can a PVC be bound to a specific PV?我是否应该尝试让新鲜
statefulset
的 PVC 真正使用旧的 PV?尝试将旧 PV 重新附加到正确的节点是否有意义,我该怎么做?
kubernetes - 如何获取 StatefulSet Kubernetes 的副本数
我正在尝试在 Kubernetes 上自动扩展我的 StatefulSet。为此,我需要获取当前的 pod 数量。
在处理部署时:
这会输出一个数字,即当前部署的数量。
但是,当你运行
我们没有得到太多的信息。知道如何获取有状态集的当前副本数吗?
kubernetes - 有没有一种方法/配置可以将默认的 revisionHistoryLimit 从 10 更改为另一个限制?
我正在使用 kubernetes 设置一个新服务器,并且由于存储限制,我需要将所有现有和新项目的revisionHistoryLimit更改为 2 或 3。我知道我可以在每个部署中使用spec.revisionHistoryLimit更改它,但我需要更改它在全球范围内。
感谢您的回答和提示。