zilliztech / milvus-operator

The Kubernetes Operator of Milvus.
https://milvus.io
Apache License 2.0
33 stars 20 forks source link

Support Headless Services for milvus proxy? #137

Open qchenzi opened 1 week ago

qchenzi commented 1 week ago

Hi everyone,

I have noticed that the current implementation of the Milvus Operator does not support headless services. Headless services are essential for certain stateful applications that require direct access to individual pods without load balancing.

image

From the above, we can see that my-release-milvus does not have a ClusterIP as a headless service for nodes. Could you please confirm if there are any plans to add support for headless services in the Milvus Operator?

Thank you for your attention to this matter.

qchenzi commented 1 week ago

Hi @haorenfsa

I have submitted a pull request that addresses this functionality. https://github.com/zilliztech/milvus-operator/pull/138 After implementing the changes, can be seen as shown in the attached image:

image

Please review the pull request at your earliest convenience. I am open to any feedback or suggestions for improvement.

Best regards

haorenfsa commented 1 week ago

Hi @qchenzi, thank you for bring this out. My question is the proxies of Milvus are considered stateless. There seems no need for headless service. Could you describe your specific case when headless service is needed?

qchenzi commented 1 week ago

Hi @haorenfsa ,

Thank you for your response and for considering the pull request. In our specific case, We are using CoreDNS to configure wildcard DNS entries to dynamically resolve the IPs of the pods. This setup is essential for our internal service discovery and communication needs, where each pod needs to be accessible individually by a predictable DNS name.

While Milvus proxies are stateless, enabling headless services provides significant operational benefits for our specific use case.

haorenfsa commented 1 week ago

OK. That make sense to me