kubernetes - skaffold 是否尊重滚动更新?
问题描述
使用该选项时,skaffold 是否尊重滚动更新--force
?当我skaffold run --force
执行
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 3
似乎从未发生过激增。
在我运行的另一个终端窗口中watch kubectl get pods
,我从来没有看到我的部署的副本数量超过 3。我怀疑这是因为--force
标志,但我不确定。
在人们告诉我不要使用武力之前,请参阅https://github.com/GoogleContainerTools/skaffold/issues/3171。如果部署的资源已经存在,Skaffold 会自动更改导致部署失败的运行 ID。话虽如此,如果有办法告诉 skaffold 更新部署而不抱怨不匹配的运行 ID,我很想听听。我不喜欢使用--force
.
编辑:
看着 skaffold 帮助我看到:
--force=false: Recreate Kubernetes resources if necessary for deployment, warning: might cause downtime! (true by default for `skaffold dev`)
这个Recreate
词表明 RollingDeployment 策略可能不受尊重。
解决方案
经过更多测试后,我可以确认 using--force
会导致部署策略被忽略。为了解决我提到的 run-id 问题,我
- 进行了部队部署
-l skaffold.dev/run-id=test
- 在没有
--force
和使用与上一步相同的 run-id 的情况下进行了另一个部署。
当我这样做时,我看到了预期的激增。
推荐阅读
- sql - 如何在 SQL (Oracle) 中使用多个表查找结果集的最高计数
- javascript - 忽略非标准数组键
- android - Android - 将外部存储中的图像列表到 Recycleview
- python - 如何访问熊猫 groupby 值?
- xaf - 无法编译生成的代码。请通过此异常的 SourceCode 属性检查生成的代码
- python - 似乎无法更改 tkinter 中的窗口背景颜色
- reactjs - 当需要来自第三方 API 的数据时,如何从 next.js 导出静态 HTML 页面?
- java - 检查具有特定属性的对象是否已存在
- deep-learning - 在 CNN 的背景下,“统计的平稳性”是什么意思?
- python - Python - 如何检查/发现列表有引用?