[Doc] Support K8S install
Description: The architecture proposes based on workers makes me guess that it can be easily implemented on K8S, but in the documentation to install Synapse, k8s is not there.
I see some resources from k8s and helm charts decimated around GitHub and ArtifactHub respectively.
Are there any popular among us?
Could we consider creating an official helm-package?
We don't have any official k8s/helm packages, though I know people do run Synapse happily in k8s. In general we try and limit the number of packages we maintain officially, as a) they're hard to maintain when you don't use them yourself and b) often they can suddenly turn into quite a time sink if they break.
Having said that, we'd probably be open to adding some docs around best practices for k8s, or pointing at helm packages that are considered good/battle tested/well maintained/etc. Though there is always concern that such information gets quickly out of date if and when Synapse or k8s change.
If someone wants to give that a go then I'd recommend talking to us in #synapse-dev:matrix.org before spending much time on it. Alternatively, if someone has a blog post/guide then we can probably add it to the list at https://matrix.org/docs/guides
https://github.com/matrix-org/synapse/issues/9072 is a bit related here, in that we don't even have good docs on how to run workers under docker, which seems to me to be a subset of the work needed here.
An officially maintained Kubernetes Operator would go a long way to facilitating "enterprise" deployments and ensuring feature parity with Mattermost.
Just for reference, this is the synapse chart I'm using. There are 2-3 others on artifacthub but all of them seem outdated at least a bit.
A popular K8s / Helm chart https://gitlab.com/ananace/charts/-/tree/master/charts/matrix-synapse
FYI, I started a Kubernetes Operator for Synapse in Go: https://github.com/opdev/synapse-operator