They are called
DNS Seeds And they are hard coded into the client to help nodes bootstrap.
Basically they are IP addresses of bitcoin nodes run by Bitcoin community members and they assist in peer discovery since new nodes on the network don't know which addresses to connect to.
Yes agree and once they have a list of nodes then DNS look-ups are dropped the next time the node starts up but this is not really centralization
and is a case of using selective trust and more of this should be encouraged within Bitcoin where it is not a threat to security.
I am working on node discovery that will scale to something like a billion nodes (Yes with a 'B') and I am coming to the conclusion that
this cannot be done in a decentralized system because even if we used sub-domains based on the public-key and each node held a five million
lookup's then in the end network chatter would kill the network.
Just now I am looking to see if DAG has something worth pinching that will help solve the problem but i am not hopeful