Yeah that is understandable, k8s is a platform with a plethora of capabilities. On the other hand, the vast majority of organizations using k8s have multiple users that have multiple work streams and multiple applications (not true by definition, but close). This lends itself to a code as configuration approach, and makes managing orchestration through a UI risky and error prone. We review code, not clicks.
Further, K8s exposes an YAML interface because it is relatively human readable and of course is machine readable. I'm sure the k8s community encourages users to build on top of this. Want to really do code as config? Write a nice DSL in your favorite scripting language to produce these YAMLs. Submit that as source. You've now automated away the vast majority of toil related to k8s YAML config, because your code can be:
1. modular by design
2. tested
3. tracked as code
etc etc