Repository navigation
Conversation
Add three Milvus guides: - gpu-sriov: GPU builds and the gpu.supported rule, per-role gpu fields, spreading a role across GPU pools with a PetSet PlacementPolicy, the network.sriov fields (RDMA, GDS), what the operator renders (Multus annotation, advertise-IP init container, readiness probe), the SRIOVNetworkAttached and SRIOVAddressAdvertised conditions, IPC_LOCK. - adopt: moving a Milvus that already runs (e.g. from a Helm chart) under KubeDB in place, the fields that must match the running cluster (meta etcd root path, object storage keys, root credentials, config), a role-by-role handover, rollback, and handing the cluster back with kubedb.com/milvus-orphan-on-delete. - backup/logical: KubeStash logical backup and restore with the collections, inPlaceRestore, dropExistCollection and timeout parameters. Signed-off-by: sabnaj <sabnaj@appscode.com>
Describe what happens to the existing client Service when a Milvus is named after it (same name and IP, selector moved, KubeDB ports replaced by name or number, other ports kept), how to keep a different port number or a LoadBalancer/NodePort with the primary service template, and why the chart must not be removed with helm uninstall. Signed-off-by: sabnaj <sabnaj@appscode.com>
The guide said to drop the mq, woodpecker and etcd sections from the milvus.yaml handed to KubeDB. KubeDB's WAL defaults replace the whole woodpecker section, so dropping it loses settings such as woodpecker.storage.rootPath (the upstream Helm chart sets it) and can move where the write-ahead log is read from. Keep the woodpecker section; drop only etcd, which the Milvus object owns. Signed-off-by: sabnaj <sabnaj@appscode.com>
KubeDB renders proxy.http.port 8080, while Milvus by default serves its RESTful API on the gRPC port 19530. Found by adopting a Helm-installed Milvus: REST answered on 19530 before and would only answer on 8080 after. Set proxy.http.port to "" in the carried milvus.yaml to keep it. Signed-off-by: sabnaj <sabnaj@appscode.com>
From adopting a Helm-installed Milvus on a cluster: - confirm the WAL really is Woodpecker (the upstream chart's cluster mode defaults to Pulsar unless woodpecker.enabled is set) - delete a chart Service on a KubeDB governing Service name that is not headless; KubeDB now reports it - give a rehearsal Milvus its own copy of the auth Secret - the client Service now moves only once a KubeDB proxy is Ready Signed-off-by: sabnaj <sabnaj@appscode.com>
There was a problem hiding this comment.
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.
|
Visit the preview URL for this PR (updated for commit d08c053): https://kubedb-v2-hugo--pr1086-milvus-inplace-adopt-cdkwxdtx.web.app (expires Fri, 06 Nov 2026 18:32:26 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 0f29ae8ae0bd54a99bf2b223b6833be47acd5943 |
…mpact - Lead with kubectl dba adopt milvus (plan, run, status, rollback); the manual steps stay as the contract the command follows. - The overlap handover (KubeDB's pods of a role before the old ones stop) is supported and tested; the old text said two copies of a role must never run together. - Manual rollback: delete the Milvus with orphan-on-delete first, so the operator no longer moves the client Service, and point the Service back at the old proxies with ports their pods define. - Measured client impact of both methods and of a rollback. - CLI reference pages for kubectl dba adopt. Signed-off-by: sabnaj <sabnaj@appscode.com>
- kubectl dba adopt milvus -f adopt.yaml: a complete example for a chart without the upstream labels and QueryNodes on two GPU pools; plan --output-dir writes the file. - A table of the options that are required or needed in some cases; the version comes from the running image and no Helm version is needed. - kubectl dba runs on the admin's machine, not in the cluster. - Leave the Helm release alone after the adoption (no upgrade, no uninstall). - Regenerate the kubectl dba adopt reference pages for -f. Signed-off-by: sabnaj <sabnaj@appscode.com>
Signed-off-by: sabnaj <sabnaj@appscode.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three new Milvus guides, plus fixes to the adopt guide found by following it on a test cluster.
kubedb.com/milvus-orphan-on-delete.helm uninstall.woodpeckersection in the carriedmilvus.yaml(dropping it loses e.g.woodpecker.storage.rootPath); drop onlyetcd.proxy.http.port: "", since KubeDB renders 8080.Related: kubedb/milvus#85, kubedb/apimachinery, kubedb/milvus-backup-plugin, kubedb/installer (
milvus-inplace-adoption).