gpt4 book ai didi

kubernetes - StatefulSet、ReplicaSet 或 DaemonSet。单个 Pod 最好的是什么?

转载 作者:行者123 更新时间:2023-12-02 11:34:15 25 4
gpt4 key购买 nike

我想在节点上部署一个 Pod 来托管我的服务(例如 GitLab)。问题是:在节点故障(如重新启动)后不会重新创建 Pod。解决方案:使用 StatefulSet、ReplicaSet 或 DaemonSet 来确保在 Node 故障后创建 Pod。但是这种情况下什么是最好的呢?

这个 Pod 是有状态的(我使用卷 hostPath 来保存数据)并且使用 nodeSelector 进行部署以使其始终保持在同一个节点上。

以下是示例的简单 YAML 文件:https://pastebin.com/WNDYTqSG

它创建了 3 个 Pod(每个 Set 一个)和一个卷以有状态地保存数据。在实践中,所有这些解决方案都可以满足我的需求,但我不知道是否有适合这种情况的最佳做法。

您能帮我在这些解决方案中进行选择以部署单个有状态 Pod 吗?

最佳答案

部署是管理一个或一组 Pod 的最常见选项。这些通常用于代替 ReplicaSet,因为它们更灵活,并且在 ReplicaSet 中创建部署结果 - 参见 https://www.mirantis.com/blog/kubernetes-replication-controller-replica-set-and-deployments-understanding-replication-options/

如果您有多个 Pod 并且每个 Pod 需要专用的持久性,或者您有多个 Pod 并且 Pod 需要单独的名称,因为它们彼此相关(例如,一个是领导者),您才需要 StatefulSet - https://stackoverflow.com/a/48006210/9705485

当您希望每个节点有一个 Pod/副本时,将使用 DaemonSet

关于kubernetes - StatefulSet、ReplicaSet 或 DaemonSet。单个 Pod 最好的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54257292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com