zilliztech / milvus-operator

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

Support Headless Services for milvus proxy? #137

Open qchenzi opened 4 months ago

qchenzi commented 4 months 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 4 months 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 4 months 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 4 months 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 4 months ago

OK. That make sense to me