gpt4 book ai didi

kubernetes - 我什么时候使用 `apply` 什么时候使用 `rollout` ?

转载 作者:行者123 更新时间:2023-12-05 01:08:09 26 4
gpt4 key购买 nike

我是 kubernete 的新手,对 applyrollout 命令有点困惑。如果我更新 kubernete 配置文件,我应该使用 kubectl apply -f 还是 kubectl rollout

如果我更新 kubernete 配置并运行 kubectl apply -f,它将终止正在运行的 pod 并创建一个新的。

rollout 也有 restart 命令,用于重启 pod。那么我应该什么时候使用rollout restart

最佳答案

我能想到的一个主要区别是 kubectl apply 可用于所有 Kubernetes 对象(PodDeploymentConfigMaps Secrets 等),其中 kubectl rollout 特别适用于处理某些计算的对象,例如 DeploymentsStatefulsets

此外,kubectl rollout restart 可用于重新启动 pod,而无需对 spec 字段进行任何更改,而 kubectl apply 则无法做到这一点.如果我们运行 kubectl apply 而没有更改 spec 字段,则 Pod 将不会更新,因为没有要更新的更改。

考虑某些配置(例如,外部证书)作为 ConfigMap 安装到 pod 并且 ConfigMap 中的任何更改都不会导致 pod 更新的场景自动地。 kubectl rollout restart 在这种情况下可以用来创建新的 pod,然后可以从 ConfigMap 读取更新的配置。

另外,来自 docs 的重要说明:

Note: A Deployment's rollout is triggered if and only if theDeployment's Pod template (that is, .spec.template) is changed, forexample if the labels or container images of the template are updated.Other updates, such as scaling the Deployment, do not trigger arollout.

关于kubernetes - 我什么时候使用 `apply` 什么时候使用 `rollout` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66420443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com