Kubernetes是否会出现Docker Swarm在运行多个部署时随机出现的 "更新不在顺序 "的错误?

问题描述 投票:1回答:1

我发现,当我进行预定的 docker stack deploy我在部署时可能会出现 "更新不在顺序 "的错误,而这些错误发生在同一时间。

我在这上面看到了很多的错误和问题。

其中一些已经关闭,但对一些人来说,这个问题显然至今仍在持续。 我想知道Kubernetes是否已经解决了这个问题,所以它不会发生在K8S集群上。

docker kubernetes docker-swarm
1个回答
2
投票

我不会说一般的问题在Kubernetes中 "解决 "了,因为任何更新数据的共享系统都可能出现同步问题。不过使用kubernetes基元你不会经常遇到这个问题。

直到你开始使用复杂的外部Kubernetes API客户端。另一个领域可能是 控制器 与您竞争进行更新(如 卧式自动剥皮机 设置 replicas).

更新示例

所有的kubernetes资源的元数据中都有一个 "资源版本",该数据有可能随着另一个变化而进行带外更新。这种情况一般发生在需要检索和检查数据进行更新的时候。

  1. A检索 val
  2. A递增 val
  3. B检索 val
  4. B级增量 val
  5. A适用 val, resourceVersion 增量
  6. B适用 val, resourceVersion 错位,失败。

你还可以把 "C "加进去。"C "不是一个很负责任的共享api客户端(坏C!)。当应用它的 val 变化,C没有提供一个 resourceVersion 的更新,并默默地将检索到的所有更新公示出来。val.

你会发现,大多数kubernetes资源都可以被管理。声明性. 因此,通过在kube apiserver上原子地将patch应用到现有的资源上(这种原子性是针对单个资源的)。

© www.soinside.com 2019 - 2024. All rights reserved.