Kubernetes is the world's most popular container service platform. In a 
Kubernetes cluster, DolphinScheduler applications are often deployed in a way 
that requires a third-party registry for node registration. But if we can use 
Kubernetes to implement node registration, we can reduce the cost of operation 
and maintenance greatly.
Therefore, I would like to discuss this FUTURE together.


There are two ways to interface with Kubernetes, one is to get information in 
the form of Kubernetes API Client, the core of Kubernetes control plane is API 
Server, which provides HTTP API for users, different parts of the cluster and 
external components of the cluster to communicate with each other. For 
DolphinScheduler, it is possible to communicate with the Kubernetes control 
plane by using the Kubernetes API Client,
It is important to note that having the application itself interact directly 
with the Kubernetes management platform API is inherently a security risk that 
could bring down the entire Kubernetes cluster if not properly configured.


Kubernetes DNS is a mechanism provided by Kubernetes to obtain Kubernetes 
Service information by means of DNS queries, and the node information of the 
service can be obtained by ordinary DNS requests.
This solution avoids direct interaction with Kubernetes APIs and security 
issues, but since DNS does not have a notification mechanism like API Watch, it 
can only use polling to determine service changes, and there is still a certain 
amount of DNS network query pressure in the cluster when there is no 
application change.




What other ideas, or better points, does everyone have about this?
Best Wishes!
CalvinKirs, Apache DolphinScheduler PMC

Reply via email to