Skip to content

Fix the Milvus guides after an end-to-end test - #1085

Open
Sabnaj-42 wants to merge 4 commits into
masterfrom
milvus-guide-test-fixes
Open

Sabnaj-42 wants to merge 4 commits into
masterfrom
milvus-guide-test-fixes

Conversation

@Sabnaj-42

Copy link
Copy Markdown

Fixes the Milvus user guide (docs/guides/milvus) after following every page literally, standalone and distributed, on a k3d cluster with KubeDB v2026.10.12.

Main fixes

  • Prerequisites: the internal metadata store is a KubeDB Etcd, so the install needs --set global.featureGates.Etcd=true; the upstream etcd-io operator is not used and its step is removed. The MinIO tenant's default quay.io/minio/minio image now returns 401, so the command overrides it. Notes that the MinIO operator allows one tenant per namespace.
  • One storage secret and rootPath per Milvus: two instances on the same path collide (GC and WAL locks). milvus-standalone keeps milvus-storage-config, milvus-cluster uses a new milvus-cluster-storage-config. Documents that deleting a Milvus leaves its objects behind and how to clean a rootPath before reuse.
  • Every ops page deploys the database it changes (e.g. 2.6.9 for update-version, a non-TLS DB for reconfigure-tls, longhorn-custom and 2 streamingnodes where outputs assume them).
  • Missing Issuer steps added (recommendation, ClusterIssuer CA in cert-manager); spec.tls removed from the monitoring YAMLs and spec.monitor from the TLS YAMLs so files match the pages.
  • YAMLs that disagreed with their guides: horizontal scaling (1/1 → 2/2), InPlace vertical scaling (now requests new values; shows how to confirm no restart).
  • Reconfigure: restart: "false" means Milvus keeps running the old values (no dynamic reload); examples now restart and check the running pod.
  • Rotate-auth: auth-active-from is read from the right object.
  • Horizontal scaling key is dataNode (camelCase); concepts page fixed.
  • Compute autoscaler: podLifeTimeThreshold: 10m, resourceDiffPercentage: 20, memory floor 1Gi (the old 1m / 10 / 256Mi values made it re-scale and restart pods every few minutes); real status shape; no VPA object; warnings about restarts and deleting the autoscaler mid-OpsRequest.
  • Storage autoscaler: documents the storage-metrics-server prerequisite and how to check it.
  • Cleanup sections delete both databases with WipeOut; README version list matches the catalog (adds 2.6.15, 2.6.15-gpu, 3.0.0-gpu) and drops the Grafana claim; concepts/milvus.md documents spec.configuration, serviceTemplates and metaStorage.

Every new or changed Milvus/Issuer YAML passed kubectl apply --dry-run=server.

Related product fixes (separate PRs)

  • kubedb/milvus#84: RotateAuth lockout, InPlace resize false success, meta etcd deletionPolicy.
  • The Milvus recommendation engine is not registered in ops-manager, so the recommendation page's expected output can't be produced until the ops-manager fix lands.

- Internal metadata store is a KubeDB Etcd: require the Etcd feature gate,
  drop the upstream etcd-io operator step.
- MinIO tenant: override the unpullable default image, note one tenant per
  namespace.
- One storage secret (distinct rootPath) per Milvus instance; distributed
  examples use milvus-cluster-storage-config. Document that object-storage
  data is not deleted with the database and how to remove a rootPath prefix.
- Fix etcd PVC naming, realistic readiness time, mention <db>-etcd-auth.
- README: list all catalog versions, drop Grafana claim.
- concepts/milvus.md: document spec.configuration, serviceTemplates and
  metaStorage sub-fields.
…guides

- Monitoring yamls no longer need TLS; add apply and Prometheus checks.
- TLS yamls drop the undocumented monitor block; ClusterIssuer CA secret
  goes in the cert-manager namespace; show how to find the config secret.
- Reconfigure TLS: deploy a non-TLS database first, add new-issuer.yaml and
  its CA, reorder the distributed flow, show serial/issuer checks.
- Recommendation: create the Issuer the sample yamls reference.
- Every guide deploys the database it operates on and cleans up both
  milvus-standalone and milvus-cluster with WipeOut.
- Reconfigure: drop restart "false" (Milvus has no dynamic reload),
  explain how configSecret/applyConfig/removeCustomConfig combine, verify
  the running pod.
- Rotate auth: read auth-active-from from the new secret / spec, check the
  old password is rejected.
- Update version: add 2.6.9 manifests, remove stale distributed note.
- Horizontal scaling: yaml now requests 2/2, add scale-down yaml, document
  the dataNode key.
- Vertical scaling: InPlace sample requests new values, show how to
  confirm no restart.
- Volume expansion / storage migration: add source manifests
  (longhorn-custom, 2 streamingnodes) and missing apply commands.
- Compute: podLifeTimeThreshold 10m, resourceDiffPercentage 20 and a 1Gi
  memory floor to stop re-scaling after each restart; real status shape;
  no VPA object is created; warn that each OpsRequest restarts pods and
  that deleting the autoscaler deletes its running OpsRequests.
- Storage: how to enable and check the storage metrics server, remove the
  stray compute autoscaler from the sample output, deploy steps.
Copilot AI balanced review requested due to automatic review settings October 28, 2026 11:56

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@github-actions

Copy link
Copy Markdown

Visit the preview URL for this PR (updated for commit 69f21c8):

https://kubedb-v2-hugo--pr1085-milvus-guide-test-fi-sq5f6iza.web.app

(expires Wed, 04 Nov 2026 13:20:12 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0f29ae8ae0bd54a99bf2b223b6833be47acd5943

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants