I've been a happy user of PlantUML when it comes to sequence diagrams, but whenever I try to use it for component diagrams, I end up with weird layouts that have arrows that go all over the place, often with text on top of other text.
Here's an example in the online PlantUML. In that example, arrows would be much better if the apiserver component was in the middle between controller-manager and scheduler. But that's not how PlantUML (or rather, GraphViz) arranges the boxes.
Even with hidden arrows as explained in https://crashedmind.github.io/PlantUMLHitchhikersGuide/layout/layout.html#arrows-for-layout I can't get it look nicer (updated example).
Originally, I had interfaces inside the "apiserver" component and linked those to other components. That could be laid out without overlapping arrows if the interfaces inside the "apiserver" were above each other instead side-by-side, but I don't know how to achieve that either.
I know that PlantUML isn't what I should use when I want fine control over the layout, but this is so unusable that I must be missing something obvious. Perhaps someone can help me out? Thanks a lot in advance.