Skip to content

fix(manifests): replace live Pod dump with proper Deployment in milvus-deployment.yaml#172

Open
zong0728 wants to merge 1 commit intokubeflow:mainfrom
zong0728:fix/milvus-deployment-yaml-is-pod-dump
Open

fix(manifests): replace live Pod dump with proper Deployment in milvus-deployment.yaml#172
zong0728 wants to merge 1 commit intokubeflow:mainfrom
zong0728:fix/milvus-deployment-yaml-is-pod-dump

Conversation

@zong0728
Copy link
Copy Markdown

@zong0728 zong0728 commented Mar 23, 2026

Summary

Fixes #171

manifests/milvus-deployment.yaml contains a raw kubectl get pod -o yaml
export from a live cluster instead of a declarative Deployment manifest.
Running kubectl apply -f manifests/milvus-deployment.yaml fails on any
cluster other than the original.

Root Cause

The file was committed as a live Pod state snapshot with cluster-specific
runtime fields that cannot be reproduced elsewhere:

  • kind: Pod with a ReplicaSet-generated name (milvus-standalone-final-5cb655b8d6-6ngrn)
  • uid, resourceVersion, ownerReferences pointing to a deleted ReplicaSet
  • nodeName: 10.0.10.183 pinning the Pod to a specific node IP
  • Full status block with live containerID hashes, pod IPs, and timestamps
  • Auto-injected kube-api-access-2hjlp projected serviceaccount volume

Fix

Replace with a clean Deployment manifest that preserves the three-container
spec (milvus, etcd, minio) with correct images, env vars, ports, probes, and
volumes, while removing all cluster-runtime fields.

Testing

  • kubectl apply --dry-run=client -f manifests/milvus-deployment.yaml passes on a clean cluster
  • Three-container spec (milvus v2.3.4, etcd v3.5.0, minio) preserved
  • Istio sidecar injection annotation retained

Checklist

…s-deployment.yaml

The file was a kubectl-exported Pod status snapshot (kind: Pod) instead
of a declarative Deployment manifest. It contained cluster-specific
runtime fields that make it non-applicable and misleading:

- kind: Pod (not Deployment) with a ReplicaSet-generated pod name
- Cluster-specific metadata: uid, resourceVersion, ownerReferences
- nodeName pinned to a specific node IP (10.0.10.183)
- Entire status block with live containerIDs and pod IPs
- Auto-injected serviceaccount projected volume

Running 'kubectl apply -f manifests/milvus-deployment.yaml' on any
cluster would fail or produce unexpected behaviour.

Replace with a clean Deployment manifest that:
- Uses kind: Deployment with selector and replicas
- Keeps the three-container spec (milvus, etcd, minio) with correct
  images, env vars, ports, probes, and volume mounts
- Removes all cluster-runtime fields

Signed-off-by: Shengzhong Guan <guan@cmu.edu>
Made-with: Cursor
@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign franciscojavierarceo for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(manifests): milvus-deployment.yaml is a live Pod state dump, not an applicable Deployment manifest

1 participant