Ansible, Puppet, Chef Flashcards
Ansible platform
Mac, Linux, Linux VM on windows
Ansible files: Playbook
action and logic about what Ansible should do
Ansible files: Inventory
device hostnames and info about each device, like device roles, so Ansible can perform functions for subsets of inventory
Ansible files: Templates
Using Jinja2 language, represent a device’s config but with variables
Ansible files: Variables
Using YAML, a file can list variables that Ansible will substitute into templates
Ansible architecture
agentless- push model
Ansible SBIs
SSH, NETCONF
Ansible config monitoring
uses logic modules to detect and list config differences, after with playbook will either reconfigure or notify
Puppet platform
Linux
Puppet files: Manifest
human-readable text file on Puppet Master, using language defined by Puppet, used to define desired config state of device
Puppet files: Resource, Class, Module
components of the manifest, largest to smallest. Modules make up classes make up resources.
Puppet files: Templates
Using Puppet domain-specific language, files allow Puppet to generate manifests by substituting variables into the template
Puppet architecture
agent- pull model. external proxy agent on devices that don’t support puppet (called agentless). proxy agent uses ssh.
Puppet config steps
- engineer creates and edits all files on Puppet server
- config and enable on-device or proxy agent on each device
- agent pulls manifest details from server
- if agent’s config should be updated, puppet agent performs addl pulls to get all details, and updates the config
Chef architecture
pull model. can be client-server or standalone mode (Chef Zero). requires on-device chef client code.