On multi-node Kubernetes, the default settings on ReadWriteOnce without pod affinity are non-functional
Nobody has claimed this yet.
- Dominant language
- Mustache
- Stars
- 197
- Forks
- 104
- Avg merge
- 22m
- Merged PRs (30d)
- 2
Description
Steps to reproduce the problem
- Install Mastodon from the Helm chart to a multi-node Kubernetes cluster with an NFS storage class.
- If the mastodon-web and mastodon-sidekiq-all-queues end up on different nodes, some of them will hang indefinitely on "ContainerCreating".
They are waiting to mount the persistence volumes system and assets. These can only be mounted on a single node at a time.
Expected behaviour
Everything should work on roughly default settings
Actual behaviour
The pods hang in ContainerCreating state in a difficult to understand way.
Detailed description
The default settings are non-functional on multi-node clusters. Either there needs to be a better comment warning to set pod affinities, the default mode should be ReadWriteMany, or there should be a pod affinity defined which puts these two kinds of pods to the same nodes by default.
Specifications
Mastodon: edge
OS: Ubuntu
Kubernetes: MicroK8S
Nodes: 2+
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by examining the Helm chart's default persistence access mode and pod scheduling settings, then reproduce the install on a multi-node Kubernetes cluster with NFS storage. Determine which default behavior or warning is intended, and verify that the resulting defaults either allow the affected pods to start or clearly guide users to compatible settings.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100