> k8s will only redeploy containers when a node fail.
That's not true at all. Kubernetes monitors containers' health and automatically scales deployments according to the demand. Thus quite obviously kubernetes does help make your system distributable, scalable and reliable. In fact, that was the design goal of kubernetes.
There are distributed primitives in Kubernetes (such as leader lock), so you won't have to roll your own "architecture". For example, look at Patroni, it can be run natively on Kube, using its resources for all distributed and redundancy goodness.
You still have to implement your own architecture to implement quorum, leader election, failover etc where needed.
k8s will only redeploy containers when a node fail.