4 ms·
It just hides the complexity in some yml files instead of in a deploy script or a sysadmin's head.
by battery_cowboy 6y ago
It just hides the complexity in some yml files instead of in a deploy script or a sysadmin's head.
- happytoexplain 6y agoYou say that like it's a bad thing. A declarative model is infinitely better for representing complex systems than scripts and mind space. The challenge is actually being able to get to that point.
- geggam 6y agoUntil it breaks.
- happytoexplain 6y agoNo, even then it's still better. A broken declarative model is better than a broken script.
- battery_cowboy 6y agoAn sh script is a series of things that almost any developer who uses Linux can understand: command line statements. We use them all the time. Suppose the complicated declarative model you've made doesn't work one day and the person who originally wrote it is gone? Even if you have someone to debug it who knows the k8s languages: usually you can't just use the yml files alone, you need terraform or something, plus maybe some other services and "sidecar" containers that do other things for you. With a sh script, you just have the script with a bunch of commands that you can understand and look up easily, in a linear order, to figure out the problem. You might not understand every command, but you can run each one until you get to the error, then focus in on that area. With k8s, you need to figure out a huge series of intermixed deps and networks and services just to start, then find the one that is failing (if that is the one failing and it's not just being masked by another failed service that you didn't know about).