库伯内特斯是否患有“癌症”;“更新顺序不正确”;Docker Swarm在出现';有几个部署正在运行?
我发现,当我执行计划的docker stack部署时,它们几乎同时发生,我可能会在部署中遇到“更新顺序错误”错误 我在这方面看到了很多错误和问题库伯内特斯是否患有“癌症”;“更新顺序不正确”;Docker Swarm在出现';有几个部署正在运行?,docker,kubernetes,docker-swarm,Docker,Kubernetes,Docker Swarm,我发现,当我执行计划的docker stack部署时,它们几乎同时发生,我可能会在部署中遇到“更新顺序错误”错误 我在这方面看到了很多错误和问题 其中一些已经关闭,但对一些人来说,问题显然仍然持续到今天。我想知道Kubernetes是否已经解决了这个问题,所以它不会发生在K8S集群上。我不会说一般问题在Kubernetes中已经“解决”,因为任何共享系统更新数据都可能存在同步问题。不过,您不会经常遇到kubernetes原语的问题 直到您开始使用复杂的外部Kubernetes API客
其中一些已经关闭,但对一些人来说,问题显然仍然持续到今天。我想知道Kubernetes是否已经解决了这个问题,所以它不会发生在K8S集群上。我不会说一般问题在Kubernetes中已经“解决”,因为任何共享系统更新数据都可能存在同步问题。不过,您不会经常遇到kubernetes原语的问题 直到您开始使用复杂的外部Kubernetes API客户端。另一个领域可能与您竞争进行更新(例如设置
副本
)
更新示例
所有kubernetes资源的元数据中都有一个“资源版本”,并且该数据有可能通过另一个更改进行带外更新。这通常发生在需要检索和检查数据以进行更新时:
val
val
val
val
val
,resourceVersion
增量val
,resourceVersion
不匹配,失败李>
你也可以在混合物中加入“C”。“C”不是一个非常负责任的共享api客户端(糟糕的C!)。当应用它的val
change时,C不会在其更新上提供resourceVersion
,并静默地清除自检索val
以来所做的任何更新
您会发现大多数kubernetes资源都可以管理。因此,通过对kube apiserver上的现有资源原子地应用补丁程序(原子性是针对单个资源的)。Kubernetes对这些资源有一个统一的定义,它们是应用程序的一部分。我认为我从未见过Kubernetes出现过类似“无序更新”这样的错误(在API级别,您可以得到
409冲突
,但大多数客户端通常会重试)。