News for hackers. Stuff that matters.
Re:Maybe You Don't Need Kubernetes (2019) by Kalium on Monday January 13, 2020 @01:01PM (#22036866)
That's a great example! Thank you very much for sharing.

That said, it's been my experience that a modern docker application is only occasionally a single container. More often it's a heterogeneous mix of three or more containers, collectively comprising an application. Now we've got multiple unit files, each of which handles a different aspect of the application, and now this notion of a "service" conflates system-level services like docker and application-level things like redis. There's a resulting explosion of cognitive complexity as I have to keep track of what's part of the application and what's a system-level service.

Meanwhile, the Kubernetes YAML requires an extra handful of lines under the "containers" key.

Again, thank you for bringing forward this concrete example. It's a very kind gesture. It's just possible that use-cases and personal evaluations of complexity might differ and lead people to different conclusions.

Re:Maybe You Don't Need Kubernetes (2019) by falcolas on Monday January 13, 2020 @01:11PM (#22036961)
> There's a resulting explosion of cognitive complexity as I have to keep track of what's part of the application and what's a system-level service.

If you can start them up with additional lines in a docker file (containers in a pod), it's just another ExecStart line in the unit file that calls Docker with a different container name.

EDIT: You do have to think a bit differently about networking, since the containers will have separate networks by default with Docker, in comparison to a k8s pod. You can make it match, however, by creating a network for the shared containers.

If, however, there's a "this service must be started before the next", systemd's dependency system will be more comprehensible than Kubernetes (since Kubernetes does not create dependency trees; the recommended method is to use init containers for such).

As a side note, unit files can also do things like init containers using the ExecStartPre hook.

Re:Maybe You Don't Need Kubernetes (2019) by GordonS on Monday January 13, 2020 @01:53PM (#22037365)
For multi-container systems I really like Docker Compose and Swarm - a simple yaml file can define everything. It really is wonderfully simple.