Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
孤儿并将宠物重新加入Kubernetes宠物群_Kubernetes - Fatal编程技术网

孤儿并将宠物重新加入Kubernetes宠物群

孤儿并将宠物重新加入Kubernetes宠物群,kubernetes,Kubernetes,报告说: 更新现有宠物集目前是一个手动过程,这意味着您需要部署具有新映像版本的新宠物集,或者逐个孤立宠物,更新它们的映像,并将它们加入集群 但我没有看到任何关于如何真正做到这一点的文档。一个孤儿如何养宠物,然后让它重新加入 另外,假设我一个接一个地对我的宠物进行操作,然后将它们重新加入集群。PetSet清单本身没有改变,所以如果pod崩溃会发生什么?petSet会用上一个旧映像重新启动吗?很抱歉,这不清楚。如前所述,更新petset的最简单方法是部署另一个petset “孤儿”一词在这个上下文中

报告说:

更新现有宠物集目前是一个手动过程,这意味着您需要部署具有新映像版本的新宠物集,或者逐个孤立宠物,更新它们的映像,并将它们加入集群

但我没有看到任何关于如何真正做到这一点的文档。一个孤儿如何养宠物,然后让它重新加入


另外,假设我一个接一个地对我的宠物进行操作,然后将它们重新加入集群。PetSet清单本身没有改变,所以如果pod崩溃会发生什么?petSet会用上一个旧映像重新启动吗?

很抱歉,这不清楚。如前所述,更新petset的最简单方法是部署另一个petset

“孤儿”一词在这个上下文中具有误导性,因为它在其他地方被用来表示更改标签/选择器。PetSet基于身份的概念工作,如果有N个具有给定身份的pod(即网络+存储+序号),它将不再创建。出于显而易见的原因,您不能有两个具有相同身份的宠物,这意味着如果您“孤立”了pet-1,petset控制器将不会创建另一个pet-1,因为这意味着两个POD具有相同的DNS名称

要在不丢失仲裁的情况下执行就地升级,您必须从集群而不是宠物集中孤立每个宠物。也就是说,如果您有一个5个成员的zookeeper集群,请更新4个成员的配置,使其认为现在只有4个成员,升级1,然后更新4个成员以包括新成员

另外,假设我一个接一个地对我的宠物进行操作,然后将它们重新加入集群。PetSet清单本身没有改变,所以如果pod崩溃会发生什么?petSet会用以前的旧映像重新启动它吗

可以使用新图像重新创建petset。删除它不会删除宠物(),创建它不会重新创建,只要预期的身份存在


kubectl计划在下一版本()中对petset进行滚动更新。

很抱歉,这还不清楚。如前所述,更新petset的最简单方法是部署另一个petset

“孤儿”一词在这个上下文中具有误导性,因为它在其他地方被用来表示更改标签/选择器。PetSet基于身份的概念工作,如果有N个具有给定身份的pod(即网络+存储+序号),它将不再创建。出于显而易见的原因,您不能有两个具有相同身份的宠物,这意味着如果您“孤立”了pet-1,petset控制器将不会创建另一个pet-1,因为这意味着两个POD具有相同的DNS名称

要在不丢失仲裁的情况下执行就地升级,您必须从集群而不是宠物集中孤立每个宠物。也就是说,如果您有一个5个成员的zookeeper集群,请更新4个成员的配置,使其认为现在只有4个成员,升级1,然后更新4个成员以包括新成员

另外,假设我一个接一个地对我的宠物进行操作,然后将它们重新加入集群。PetSet清单本身没有改变,所以如果pod崩溃会发生什么?petSet会用以前的旧映像重新启动它吗

可以使用新图像重新创建petset。删除它不会删除宠物(),创建它不会重新创建,只要预期的身份存在


kubectl计划在下一版本()中对petset进行滚动更新。

我刚刚遇到了完全相同的问题,我不得不说我不同意所选的答案


首先,删除宠物集将删除所有相关的豆荚。
根据文档,它只会而不是移除pv/PVC

删除和/或缩小PetSet不会删除与PetSet关联的卷。这样做是为了确保安全第一,您的数据比自动清除所有相关PetSet资源更有价值。删除持久卷声明将导致删除关联卷

为了更新PetSet,您需要首先使用
--cascade=false

这将移除宠物套装,但保留所有其他物品,包括跑步吊舱

现在,您可以重新部署更新后的PetSet,并开始一次删除一个POD。

POD将使用新的PetSet模板重新创建。

我刚刚面临完全相同的问题,我不得不说我不同意所选的答案


首先,删除宠物集将删除所有相关的豆荚。
根据文档,它只会而不是移除pv/PVC

删除和/或缩小PetSet不会删除与PetSet关联的卷。这样做是为了确保安全第一,您的数据比自动清除所有相关PetSet资源更有价值。删除持久卷声明将导致删除关联卷

为了更新PetSet,您需要首先使用
--cascade=false

这将移除宠物套装,但保留所有其他物品,包括跑步吊舱

现在,您可以重新部署更新后的PetSet,并开始一次删除一个POD。

POD将使用新的PetSet模板重新创建。

谢谢您的回答!因此,如果我有这个权利,对于Kafka这样的东西,它可以在节点死亡后恢复集群,我可以通过以下方式进行升级:(1)删除现有的宠物集-这根本不会干扰正在运行的宠物,然后(2)重新创建宠物集清单以使用新映像。这不会改变任何实际的宠物,因此不会发生升级,然后(3)手动删除宠物集中的一个pod。这将导致宠物组重新创建pod/pet,但使用新图像。如果配置了属性,则宠物将重新加入群集。(3) 对其他POD重复上述操作。您将很快在petset上获得kubectl滚动更新,并能够在此过程中更新petset上的图像(我们目前对此进行了验证)。这将消除n