Get in Touch

Course Outline

Architecture & Multi-Master Deployment Patterns

  • Exploring advanced Puppet topology, including the roles of master nodes, agent nodes, PuppetDB, and the coordination layer.
  • Strategies for classifying nodes across multi-datacenter and multi-environment setups.
  • Implementing load balancing architecture, configuring HAProxy/NGINX, and establishing certificate-based routing.
  • Managing site-wide node classification, enforcing role/profile separation, and maintaining centralized control.
  • Lab: Provision a multi-master cluster, configure the load balancer, set up agent routing, and validate failover behavior.

Advanced Development Environments & Code Management

  • Utilizing the Puppet Development Kit (PDK) for module scaffolding and implementing linting/style enforcement.
  • Mastering version control workflows, including Git branching, pull request reviews, and automated provisioning.
  • Using Puppetfile/R10k and code management servers to synchronize environments.
  • Setting up testing frameworks such as RSpec-Puppet, Beaker, and integration test pipelines.
  • Lab: Scaffold production-grade modules, configure Git-backed code management, and execute automated test suites.

Puppet Module Architecture & Code Compression

  • Delving into advanced module structures, including roles, profiles, base modules, and dependency management.
  • Creating custom facts and functions, along with employing dynamic node classification techniques.
  • Optimizing catalog compilation through fact caching, --compile mode, and resource filtering.
  • Applying code compression techniques to reduce agent runtime, optimize file synchronization, and manage filebuckets.
  • Lab: Optimize a bloated module into a lean, cached architecture; benchmark catalog compilation times before and after optimization.

Hiera v5: Data Separation & Encryption

  • Designing Hiera hierarchy levels across environment, role, and node data sources.
  • Configuring backends such as JSON, YAML, PuppetDB, and external secrets manager integrations.
  • Implementing Hiera-eyaml for symmetric/asymmetric key management, GPG encryption, and secure credential storage.
  • Optimizing dynamic data lookups, interpolation, and fallback chains.
  • Lab: Implement encrypted password/secret storage, configure a multi-tier hierarchy, and resolve dynamic lookups across environments.

Virtual & Exported Resources: Cross-Node Resource Aggregation

  • Understanding virtual resource types: defining, collecting, and synchronization patterns.
  • Utilizing exported resources with @@ and << syntax, PuppetDB-backed resource queries, and modern catalog aggregation.
  • Exploring use cases such as centralized DNS, certificate distribution, firewall topology, and load balancer state synchronization.
  • Lab: Deploy cross-node service registration, synchronize resource states, and validate aggregation accuracy.

Reporting, Auditing & Compliance Tracking

  • Understanding PuppetDB architecture, including data models, indexing, and API usage for external tools.
  • Setting up custom reporting hooks, Logstash/Elastic integration, and SIEM forwarding patterns.
  • Mapping compliance through audit trails, configuration drift detection, and policy enforcement via catalogs.
  • Visualizing node states, tracking catalog history, and implementing fact retention strategies.
  • Lab: Configure PuppetDB data retention, build custom audit dashboards, and enforce compliance checks via catalogs.

MCollective: Infrastructure Automation & Coordination

  • Understanding MCollective architecture: the RPC framework, agent registry, filters, and security model (ActiveMQ, SSL, certificates).
  • Writing custom action classes and agent scripts for infrastructure automation.
  • Coordinating Puppet runs, service restarts, patching, and batch operations.
  • Exploring integration patterns with Puppet: catalog-driven automation and event-triggered workflows.
  • Lab: Deploy MCollective, create custom agents, run batch orchestration, and synchronize with Puppet agent runs.

Troubleshooting & Performance Profiling

  • Performing advanced log analysis using --debug, --trace, --detailed-exitcodes, and PuppetDB query logs.
  • Debugging fact resolution, identifying environment classification errors, and detecting dependency cycles.
  • Addressing catalog compilation bottlenecks, memory profiling, and mitigating network timeouts.
  • Implementing recovery strategies: node reset, PuppetDB cleanup, and state reconciliation.
  • Lab: Diagnose and resolve simulated catalog failures, fact resolution loops, and performance degradation scenarios.

Scaling Puppet at Enterprise Scale

  • Tuning databases (PostgreSQL/MongoDB): optimization, connection pooling, and indexing.
  • Implementing node and catalog caching, and optimizing DNS/TLS for high-frequency polling.
  • Managing load distribution, worker thread tuning, and PuppetDB sharding strategies.
  • Planning site-wide rollouts, maintenance windows, and rollback procedures.
  • Lab: Simulate a high-node environment, tune database/agent parameters, validate scaling limits, and document operational runbooks.

Requirements

  • Participants must have completed the Puppet Fundamentals training course or possess equivalent hands-on experience with Puppet.
  • A strong background in Linux/Unix System Administration is required.
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories