I decided to install
k3d cluster locally to refresh my memories, and at the same time I found a reason to whine in this post. Not that I decided to move to DevOps/AWS for a reason https://dev.to/inv2004/it-trends-and-rates-20dn, but, the last thing I installed entirely myself in the prod of the orchestrator was docker swarm.
In general, if you do not go very much into the deeps, then
k8s is arranged quite simply, and even logically. At some point you say aha, there should be a global
k8s config repository somewhere, but then the second bottom opens, namely
Helm, in which it is stated that everything that it does k8s, except for basic functions, it does poorly, we will help you with this. Naturally, the most difficult path possible is chosen. One of the main purposes Helm is the templating
k8s of configs. It is used for this go template purpose, which immediately throws out a hodgepodge of embedded tags on you, so that you involuntarily start remembering the times when you programmed in JSP(or PHP if someone is closer). Moreover, even this is not enough,
Helm can reuse your own components (rather meta-components), as a result, in order to understand how what is generated there, you need to dive not just into the template, but into someone's component and understand how it generates you an essentially simple yaml config that is waiting
Helm v2 so in general, I put my own service on each node, but this was refused
I wouldn't have written this if it didn't explain to me why large companies have entire departments of so-called yaml developers doing this, a whole new profession in fact. Instead of tweaking something that doesn't look too bad anyway, namely k8s configs, a new abstraction is invented from above, another abstraction of components is added to this abstraction, and as a result, it's not surprising that there are people who support this five days a week.
As deja vu, I recall the aerobatics of the old days - generating the sendmail config via m4. The best people in the linux community have broken down on this, and this is probably one of the reasons why postfix replaced sendmail. I don't remember exactly, but a few lines (out of hundreds) looked like this:
R $* < @ $+ .$m. > $* $#smtp $@ $2.$m $: $1 < @ $2.$m > $3