Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow dual-stack operation on clusters so equipped. #68

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

cerebrate
Copy link
Contributor

At the moment, the Helm chart does not allow clean installation on Kubernetes clusters running in dual-stack mode.

For example, on my own k3s cluster, the Mastodon services are assigned only IPv6 addresses and use only IPv6 endpoints, which fails both IPv4 clients and causes problems with the Mastodon pods which, at the moment, only bind to IPv4 addresses on a dual-stack cluster. (The related issue to fix that problem is here: mastodon/mastodon#25371 ; at the moment I had to bypass it by hacking BIND definitions into this Helm chart, but a proper fix would obviously be preferable.)

This PR remedies the problem by setting ipFamilyPolicy: PreferDualStack on the services the chart creates, which makes dual-stack clusters operate correctly and should have no side-effects on single-stack clusters.

SISheogorath

This comment was marked as resolved.

@cerebrate
Copy link
Contributor Author

That's true.

I'm not certain what the best approach is. On the one hand, I'm not necessarily against making ipFamilyPolicy a configurable option in the chart, but I would still prefer the default to be PreferDualStack, since otherwise it's just Another Damn Thing to do for every future installation. Admittedly, this requires present installations upgrading to manually change it to SingleStack to avoid breakage, but in the big picture, there are less of them than all future and fixed deployments.

On the other hand, if they have to do that anyway, the best option might be the same as the one noted for mastodon/mastodon#19706 in the README.md and simply instruct people to delete the two services before they helm upgrade, something which would only have to be done once per installation.

Thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants