Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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,
--compilemode, 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
Testimonials (1)
Luke was very knowledgeable and helpful throughout the training, including answering some questions which were probably more advanced than the course.