请教一下OpenKruise~为什么k8s pod spec原生只支持修改image?

请教一下OpenKruise~为什么k8s pod spec原生只支持修改image,init image,activeDeadlineSeconds和tolerations呀?
比如container env和image相比,为什么能改image 却不能改env呀?而且这个规定似乎也没有人质疑,也没有搜到官方解释为啥这么限制

展开
收起
真的很搞笑 2024-06-24 17:37:58 55 发布于黑龙江 分享
分享
版权
举报
2 条回答
写回答
取消 提交回答
  • :Kubernetes 设计时强调配置的确定性,确保Pod的行为在启动后不会因外部因素而改变。镜像是一旦设置就不会改变的静态配置,而环境变量(env)是动态设置的,可能会在Pod的生命周期内改变。因此,为了保持配置的确定性,只允许修改不会改变的配置项,如镜像。

    2024-06-26 13:19:34 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 社区的理念是严格的immutable infrastracture , 所以基本都不让改的, 而且从实现上来看, 现在pod statusli只有镜像有相关状态, 没有一个容器spec的hash类似的值,所以其实如果只改了容器环境变量, 也没法判断到底容器实际运行的版本,没法实现原地升级 ,此回答整理自钉群“OpenKruise 社区交流群”

    2024-06-24 18:49:03 举报
    赞同 1 评论

    评论

    全部评论 (0)

    登录后可评论

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理