Skip to content

[Bug]: 单pvc 多副本无法实现各节点的日志持久化 #47106

@lyc1995452

Description

@lyc1995452

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version:2.6.7
- Deployment mode(standalone or cluster):cluster

Current Behavior

我通过helm工具进行分布式部署的时候,将每个组件datanode querynode 起多个副本时候,进行保存不同的日志,并持久化,但是现在出现:
datanode-0.log mixture-0.log proxy-0.log querynode-0.log streamingnode-0.log
我的部署脚本如下:
`apiVersion: batch/v1
kind: Job
metadata:
name: milvus-cluster-deployer
namespace: staging
spec:
backoffLimit: 3
template:
metadata:
labels:
app: milvus-deployer
spec:
serviceAccountName: milvus-deployer
restartPolicy: Never
nodeSelector:
kubernetes.io/hostname: master
containers:
- name: deployer
image: m.daocloud.io/docker.io/milvus-deployer:v1.7.2
imagePullPolicy: IfNotPresent
command: ["/bin/sh", "-c"]
args:
- |
set -e
echo "🎯 Generating custom values.yaml..."
cat >/tmp/custom-values.yaml <<'EOF'
cluster:
enabled: true
replicas: 1
standalone:
enabled: false
pulsarv3:
enabled: false
woodpecker:
enabled: true
log:
persistence:
enabled: true
mountPath: /milvus/logs
persistentVolumeClaim:
existingClaim: ygt-data

      # 2. 为每个组件单独配置独立目录
      streamingNode:
        replicas: 2
        extraEnv:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        persistence:
          mountPath: /milvus/logs
          subPathExpr: "milvus-logs/$(POD_NAME)"  # 动态解析
        resources:
          requests:
            cpu: 100m
            memory: 512Mi

      dataNode:
        enabled: true
        replicas: 2
        extraEnv:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        persistence:
          mountPath: /milvus/logs
          subPathExpr: "milvus-logs/$(POD_NAME)"  # 动态解析
        resources:
          requests:
            cpu: 100m
            memory: 1Gi

      queryNode:
        replicas: 2
        extraEnv:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        persistence:
          mountPath: /milvus/logs
          subPathExpr: "milvus-logs/$(POD_NAME)"  # 动态解析
        resources:
          requests:
            cpu: 100m
            memory: 512Mi

      proxy:
        replicas: 2
        extraEnv:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        persistence:
          mountPath: /milvus/logs
          subPathExpr: "milvus-logs/$(POD_NAME)"  # 动态解析
        resources:
          requests:
            cpu: 100m
            memory: 256Mi

      mixCoordinator:
        activeStandby:
          enabled: true
        replicas: 2
        extraEnv:
          - name: POD_NAME
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
        persistence:
          mountPath: /milvus/logs
          subPathExpr: "milvus-logs/$(POD_NAME)"  # 动态解析
        resources:
          requests:
            cpu: 100m
            memory: 256Mi

      etcd:
        enabled: false

      externalEtcd:
        enabled: true
        endpoints:
          - http://prod-etcd-0.prod-etcd-svc.staging.svc.cluster.local:2379
          - http://prod-etcd-1.prod-etcd-svc.staging.svc.cluster.local:2379
          - http://prod-etcd-2.prod-etcd-svc.staging.svc.cluster.local:2379

      minio:
        enabled: false

      externalS3:
        enabled: true
        host: prod-minio-svc.staging.svc.cluster.local
        port: 9000
        accessKey: admin
        secretKey: supersecret123
        useSSL: false
        bucketName: milvus-bucket
      EOF
      echo "🚀 Deploying Milvus via Helm..."
      helm upgrade --install prod /app/charts/milvus \
        --namespace staging \
        -f /tmp/custom-values.yaml \
        --timeout 20m \
        --wait
      echo "✅ Deployment completed."

ttlSecondsAfterFinished: 3600
`

Expected Behavior

No response

Steps To Reproduce

Milvus Log

No response

Anything else?

No response

Metadata

Metadata

Assignees

Labels

help wantedExtra attention is neededtriage/acceptedIndicates an issue or PR is ready to be actively worked on.triage/needs-informationIndicates an issue needs more information in order to work on it.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions