As others have mentioned, Ethereum currently uses a slightly-simplified version of Kademlia for peer discovery. It doesn’t store any data in Kademlia, it just keeps track of which peers are currently in the network. This allows it to select some random nodes and try to connect to them, as you suggest
This is not currently true, but the #eth1x-research team is currently looking into things which look kind of like Kademlia for storing historical state. Currently it’s kind of a shame that we do the maximally-inefficient thing where all data is stored in every node.