发生了什么?
- 当升级k8s集群版本并启用指定的功能门后,旧版本k8s创建的旧pod会在调整pod spec大小时重新启动。
- 在禁用就地更新功能门的情况下,执行了某些调整大小操作的pod会重新启动。
你期望发生什么?
容器不会总是重启。
我们如何尽可能精确地重现它?
案例1:
- 使用k8s版本1.20或最新版本创建一个带有禁用就地更新功能门的pod。
- 启用该功能门。
- 调整pod大小。
- 容器重启。
案例2: - 创建一个启用了就地更新功能门的pod。
- 进行调整大小操作。
- 在调整大小成功时关闭功能门。
- 更新pod注解或其他可以更新的内容。
- 容器重启。
我们需要了解其他信息吗?
这是功能还是bug?
Kubernetes版本
$ kubectl version
# paste output here
主分支
云提供商
无
OS版本
# On Linux:
$ cat /etc/os-release
# paste output here
$ uname -a
# paste output here
# On Windows:
C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture
# paste output here
9条答案
按热度按时间i5desfxk1#
/sig node
mwecs4sa2#
在案例2中,行为似乎是正确的,因为当
update pod annotation or what else can update
时,默认行为是重启 pod,只有在调整大小时才能进行就地扩展,而在步骤2中你说调整大小成功。wnvonmuf3#
在案例2中,行为似乎是正确的,因为当
update pod annotation or what else can update
时,默认行为是重启 pod,只有在调整大小时才能进行就地扩展,而在步骤2中您说调整大小成功。只有更新pod spec才应该触发容器重启。
hlswsv354#
computePodActions(). <- maybe it's the function that causing this behavior.
do you have any logs?
1szpjjfi5#
是的,所有重启都是由computePodAction引起的。我在kep中没有找到相关信息,所以我不知道这是功能还是bug。我希望在这两种情况下容器不重启以保持兼容性。
olmpazwi6#
cc @vinaykul
j91ykkif7#
需要作为beta KEP PRR的一部分进行处理。
56lgkhnf8#
/triage accepted
scyqe7ek9#
这个问题已经超过一年没有更新了,应该重新进行优先级评估。
你可以:
/triage accepted
(仅组织成员)相关/close
关闭这个问题有关优先级评估过程的更多详细信息,请参见 https://www.kubernetes.dev/docs/guide/issue-triage/
已接受移除优先级评估