Issues running poste.io in Kubernetes

Issue #854 new
Ryan Anderson created an issue

I have tried running poste.io mailserver in Kubernetes (v1.19.6), and I can get it to mostly work. However, there are major issues that keep me from running it in production I have observed so far:

  • Excessive logging from k8s TCP port checks - I define a k8s service for each TCP port I expose, which is ports 25 (SMTP) and 143 (IMAP). K8s constantly checks the ports, and I can see in ‘Connections realtime’ in the dashboard logging for port 25, and then adding logs of these thousands of connections into /data/log/delivery/conn. My underlying storage ran out of inodes due to this.
  • The port checks coming from the internal k8s IPs are flagged as dangerous and get automatically blacklisted. This prevents connections even to the web UI. I found a workaround is to immediately login to the web UI after a restart, then quickly disable connection blocking; otherwise web logins get blocked.
  • K8s deployments do not provide a consistent hostname, and poste.io barely worked with a hostname that didn’t match its domain name. I changed it to a k8s StatefulSet, which does provide a consistent--albeit odd--hostname, and it is slightly better. However, this only gives me a consistent short hostname, not an FQDN. To lookup the FQDN, it needs to go out of the cluster and back into itself, and the health checks fail. When I manually update /etc/hosts so that the FQDN is an alias to localhost, the health checks still show up as failing.

Comments (3)

  1. Log in to comment