k8如何知道更新哪个pod?

时间:2017-11-21 18:45:15

标签: kubernetes

我目前正在使用Kubernetes,到目前为止,我有一个在任何地方都找不到的问题。

直到知道,我已经了解了容器,容器和副本集是什么。我基本上理解了这些事情,但我没有得到的一件事是:如果我更新pod(或副本集)的清单,并将其重新发布到k8s - k8s如何知道这涉及哪个现有清单?

这种匹配是否由清单的名称完成,即通过pod的名称或副本集来完成?或者......?

换句话说:如果我更新清单,k8如何知道它是更新的,并且它如何检测哪一个是以前版本的那个?

2 个答案:

答案 0 :(得分:1)

你是对的,k8s使用metadata.name来识别资源。该名称对于每种资源类型(Pod / ReplicaSet / ...)和名称空间都是唯一的。

答案 1 :(得分:-1)

嗯,对于初学者来说,让事情变得平坦。当您更新清单时,很明显首先要更新的内容 - 您更新的对象 - 即。部署或ReplicaSet。现在,当更新时,RollingUpdate会启动,这就是我认为你想知道的以及如何建立pod的所有权。如果您创建kubectl get pod -o yaml,则可以找到ownerReferencespod-template-hashkubernetes.io/created-by等密钥,当您看到内容时,这些密钥应该相当明显。在另一个方向(因此不是来自Pod而是来自部署),您有一个选择器字段,用于定义用于过滤容器以找到正确的标签的标签。