-
Notifications
You must be signed in to change notification settings - Fork 58
Description
Use Case
I'm trying to deploy a multi-master, multi-compiler Puppet environment. To achieve that, some PVCs must be shared between masters and compilers. The shared paths are:
- (code) /etc/puppetlabs/code/ -> Written by r10k, read by every master and compiler
- (puppet) /etc/puppetlabs/puppet/ -> Puppet Agent configuration
- (vardir) /opt/puppetlabs/server/data/puppetserver/ -> var-dir
- (confd) /etc/puppetlabs/puppetserver/conf.d/ -> Puppetserver configuration files
- (ca) /etc/puppetlabs/puppetserver/ca -> CA certificates
By default, these paths are created in different PVCs, and those PVCs are shared between masters and compilers, so, for them to work correctly must be deployed in a RWX PV. In my environment, the only solution for RWX PVs is very slow when it has to handle many small files, so I have problems when I try to share the vardir directory between many nodes, because every pod copies the vendored-jruby directory into the PVC during startup
Is really necessary for that directory to be shared between instances? Could vardir directory be a local directory inside every pod that is not shared between masters and compilers?
Describe the Solution You Would Like
vardir directory local in each instance and not shared
Describe Alternatives You've Considered
I'm currently testing puppet using a single master and a PVC in RWO to avoid this issue.
Additional Context
N/A