You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Okteto自动将多副本Deployment缩容为1个replica

Okteto自动缩容问题解决方案

Okteto开发会话默认将关联的Deployment副本数重置为1,是产品原生的默认设计逻辑,目标是适配单实例本地调试的常规场景,并非集群异常。可以通过以下三种方案阻止自动缩容,实现多Pod同步:

  • 方案1:在Okteto配置文件中显式声明副本数
    在项目根目录的okteto.yml配置中,给对应开发工作负载添加replicas字段,显式指定需要保留的副本数量,配置会覆盖Okteto默认的1副本逻辑,启动开发会话时不会修改原Deployment的副本数,文件同步规则会自动生效到所有副本Pod。配置示例:

    dev:
      your-service-name:
        replicas: 2
        # 保留原有同步、启动命令等配置即可
        sync:
          - ./local-code-path:/container-code-path
        command: /bin/sh
    

    该配置要求Okteto CLI版本不低于1.13,低版本请先升级客户端。

  • 方案2:启动命令临时指定副本数
    如果只是临时需要多副本调试,不需要固定配置,可以在启动开发会话时追加--replicas参数直接指定副本数,参数优先级高于配置文件:

    okteto up --replicas 2
    
  • 方案3:标签选择器模式跳过工作负载修改
    如果不希望Okteto对原有Deployment做任何属性修改(包括副本数、注解、标签等),可以不直接关联Deployment对象启动开发会话:先给需要同步代码的2个目标Pod打上统一标签(例如okteto-sync: "true"),再在配置中通过标签选择器匹配目标Pod做纯文件同步,该模式下Okteto仅执行文件同步和端口转发操作,不会触发任何工作负载变更。配置示例:

    dev:
      sync-target:
        labels:
          okteto-sync: "true"
        sync:
          - ./local-code-path:/container-code-path
    

注意:多副本同步模式下,代码变更会实时同步到所有匹配的Pod,单副本模式下的热重载、命令执行等能力同样对所有副本生效,不会额外增加明显的同步延迟。

内容的提问来源于stack exchange,提问作者pecks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 19:01:46