开发者社区 > 云原生 > 容器服务 > 正文

请教一下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 48 0
2 条回答
写回答
取消 提交回答
  • :Kubernetes 设计时强调配置的确定性,确保Pod的行为在启动后不会因外部因素而改变。镜像是一旦设置就不会改变的静态配置,而环境变量(env)是动态设置的,可能会在Pod的生命周期内改变。因此,为了保持配置的确定性,只允许修改不会改变的配置项,如镜像。

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

    2024-06-24 18:49:03
    赞同 1 展开评论 打赏

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

相关产品

  • 容器服务Kubernetes版
  • 相关电子书

    更多
    ACK 云原生弹性方案—云原生时代的加速器 立即下载
    ACK集群类型选择最佳实践 立即下载
    企业运维之云原生和Kubernetes 实战 立即下载

    相关镜像