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

配置Kubernetes Deployment先删旧Pod再启新Pod解决文件锁冲突

解决Kubernetes中Typesense Deployment启动新Pod前删除旧Pod的问题

由于Typesense会对文件加锁,默认的RollingUpdate更新策略(先启动新Pod再删除旧Pod)会导致新旧Pod同时运行时出现锁冲突,引发崩溃。针对开发环境无需保障服务连续性的场景,可通过修改Deployment的更新策略为Recreate来解决:

将Deployment的spec.strategy配置为Recreate类型,Kubernetes会在启动新Pod之前先删除所有现存的旧Pod,从根本上避免锁冲突:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: typesense-deployment
spec:
  replicas: 1
  # 核心配置:切换为Recreate更新策略
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: typesense
  template:
    metadata:
      labels:
        app: typesense
    spec:
      containers:
      - name: typesense
        image: typesense/typesense:latest
        # 补充你的容器挂载、端口、环境变量等配置

当你更新该Deployment时(比如修改镜像版本、调整配置),Kubernetes会先终止并删除当前运行的Typesense Pod,确认旧Pod完全退出后,再启动新的Pod实例,确保同一时间只有一个Typesense Pod持有文件锁。

内容的提问来源于stack exchange,提问作者Rémy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:25:06