To upgrade your deployment, you must upgrade both the infrastructure components and agents.
The order in which you
upgrade components is important. Always upgrade Puppet Server and PuppetDB simultaneously, including the puppetdb-termini
package on Puppet Server nodes, and always upgrade them before you
upgrade agent nodes. Do not run different major versions on your Puppet primary servers (including Server) and PuppetDB nodes.
Upgrade Puppet Server
Upgrade Puppet Server to adopt features and functionality of newer versions.
Upgrading the puppetserver
package effectively upgrades Puppet Server. The puppetserver
package, in turn,
depends on the puppet-agent
package, and your node’s package manager
automatically upgrades puppet-agent
if the new version of puppetserver
requires it.
Upgrade agents
Regularly upgrade agents to keep your systems running smoothly.
Upgrade Puppet Server.
Upgrade agents using the puppet_agent
module
Upgrade your Puppet agents using the
puppetlabs/puppet_agent
module. The puppet_agent
module supports upgrading open source Puppet agents on *nix, Windows, and macOS
digest_algorithm
setting to
sha256. To avoid breaking changes when upgrading, either disable remote
filebuckets or make sure the agent has the same digest algorithm as server
by changing the digest_algorithm
setting on the agent to sha256.To upgrade on a Puppet Server node:
Upgrade *nix agents
We recommend using the puppetlabs/puppet_agent module when upgrading between major versions of Puppet agent. To upgrade *nix without the module, you can use the system's package manager.
yum update puppet-agent
Zypper (SLES)
zypper up puppet-agent
apt-get update
apt-get install --only-upgrade puppet-agent
Upgrade Windows agents
To upgrade Windows agents without the puppetlabs/puppet_agent module, reinstall the agent using the installation instructions. You don't need to uninstall the agent before reinstalling unless you’re upgrading from 32-bit Puppet to the 64-bit version.
Upgrade macOS agents
To upgrade macOS agents without the puppetlabs/puppet_agent module, use the puppet
resource
command.
Download the appropriate agent DMG.
sudo puppet resource package "<NAME>.dmg" ensure=present source=<FULL PATH TO DMG>
Upgrade PuppetDB
Upgrade PuppetDB to get the newest features available.