I was asked to look into deploying Matter Most, which is a Slack-like platform from what I have heard.

Operator through Helm

The operator Helm Chart actually installs three operators:

  • Mattermost
  • Minio
  • MySQL

Out of the box the resource requirements for the Mattermost operator are excessive. Most operators require the range of 30-70 megabytes. However, the operator reserves 500 megabytes of RAM. Luckily this is tunable with a resources structure at the root of the chart values. After a short period you’ll notice the operator continually restarts with a loss of the leader lock.

Booting a Mattermost cluster

The default example on their documentation site makes creating a new cluster via CRDs look super simple. Unfortunately the examples appear to have drifted. In order to get a cluster running the CRD definition will need to be consulted.

Once a valid manifest has been created things are not all gravy. A MySQL cluster spun up to back Mattermost does not properly come online. I was unable a suitable override mechanism for volume type for the database. Mattermost itself attempts to consume 4 CPU cores and 8 gigabytes of RAM.

Conclusion

Overall the operator does not appear to work out of the box. Perhaps in the future the Mattermost group will spend more time investing in the Kubernetes distribution.

Mattermost is definitely VM native, not Kubernetes. Still need to deploy it however I do not think the operator is currently the best approach.