Puppet Training | DevOps training in Chennai

Puppet
Deliver better software, faster

About Puppet

Make software discovery, management, and delivery automatic and pervasive with Puppet.

In computing, Puppet is an open-core software configuration management tool. It runs on many Unix-like systems as well as on Microsoft Windows, and includes its own declarative language to describe system configuration.

  • Discover
  • Control
  • Deliver

Puppet Topics

The following are the things covered under Puppet.

Devops

The platform you need to deliver faster with greater reliability.

    Pervasive automation

    Unleash the power of true modern automation.

      Continuous delivery

      Automation for fast, predictable and repeatable delivery.

        Cloud management

        Modern automation for your cloud environments.

          Discovery & insights

          Discover what’s running in your hybrid infrastructure and learn what to automate next.

            Configuration management

            Deploy with speed and reliability.

              Course Contents

              The following are the course contents offered for Puppet

              • Why do we need Puppet anyway?
              • Keeping the configuration synchronized
              • Repeating changes across many servers
              • Self-updating documentation
              • Version control and history
              • Why not just write shell scripts?
              • Why not just use containers?
              • Why not just use serverless?
              • Configuration management tools
              • What is Puppet?
              • Resources and attributes
              • Puppet architectures
              • Getting ready for Puppet
              • Installing Git and downloading the repo
              • Installing VirtualBox and Vagrant
              • Running your Vagrant VM
              • Troubleshooting Vagrant
              • Hello
              • Understanding the code
              • Modifying existing files
              • Dry-running Puppet
              • How Puppet applies the manifest
              • Creating a file of your own
              • Managing packages
              • How Puppet applies the manifest
              • Exercise
              • Querying resources with the puppet resource
              • Services
              • Getting help on resources with puppet describe
              • The package-file-service pattern
              • Notifying a linked resource
              • Resource ordering with require
              • What is version control?
              • Tracking changes
              • Sharing code
              • Creating a Git repo
              • Making your first commit
              • How often should I commit?
              • Branching
              • Distributing Puppet manifests
              • Creating a GitHub account and project
              • Pushing your repo to GitHub
              • Cloning the repo
              • Fetching and applying changes automatically
              • Writing a manifest to set up regular Puppet runs
              • Applying the run-puppet manifest
              • The run-puppet script
              • Testing automatic Puppet runs
              • Managing multiple nodes
              • Files
              • The path attribute
              • Managing whole files
              • Ownership
              • Permissions
              • Directories
              • Trees of files
              • Symbolic links
              • Packages
              • Uninstalling packages
              • Installing specific versions
              • Installing the latest version
              • Installing Ruby gems
              • Installing gems in Puppet's context
              • Using ensure_packages
              • Services
              • The hasstatus attribute
              • The pattern attribute
              • The hasrestart and restart attributes
              • Users
              • Creating users
              • The user resource
              • The group resource
              • Managing SSH keys
              • Removing users
              • Cron resources
              • Attributes of the cron resource
              • Randomizing cron jobs
              • Removing cron jobs
              • Exec resources
              • Automating manual interaction
              • Attributes of the exec resource
              • The user attribute
              • The onlyif and unless attributes
              • The refreshonly attribute
              • The logoutput attribute
              • The timeout attribute
              • How not to misuse exec resources
              • Introducing variables
              • Using Booleans
              • Interpolating variables in strings
              • Creating arrays
              • Declaring arrays of resources
              • Understanding hashes
              • Setting resource attributes from a hash
              • Introducing expressions
              • Meeting Puppet's comparison operators
              • Introducing regular expressions
              • Using conditional expressions
              • Making decisions with if statements
              • Choosing options with case statements
              • Finding out facts
              • Using the facts hash
              • Running the facter command
              • Accessing hashes of facts
              • Referencing facts in expressions
              • Using memory facts
              • Discovering networking facts
              • Providing external facts
              • Creating executable facts
              • Iterating over arrays
              • Using the each function
              • Iterating over hashes
              • Why Hiera?
              • Data needs to be maintained
              • Settings depend on nodes
              • Operating systems differ
              • The Hiera way
              • Setting up Hiera
              • Adding Hiera data to your Puppet repo
              • Troubleshooting Hiera
              • Querying Hiera
              • Typed lookups
              • Types of Hiera data
              • Single values
              • Boolean values
              • Arrays
              • Hashes
              • Interpolation in Hiera data
              • Using lookup()
              • Using alias()
              • Using literal()
              • The hierarchy
              • Dealing with multiple values
              • Merge behaviors
              • Data sources based on facts
              • What belongs in Hiera?
              • Creating resources with Hiera data
              • Building resources from Hiera arrays
              • Building resources from Hiera hashes
              • The advantages of managing resources with Hiera data
              • Managing secret data
              • Setting up GnuPG
              • Adding an encrypted Hiera source
              • Creating an encrypted secret
              • How Hiera decrypts secrets
              • Editing or adding encrypted secrets
              • Distributing the decryption key
              • Using Puppet Forge modules
              • What is the Puppet Forge?
              • Finding the module you need
              • Using r10k
              • Understanding the Puppetfile
              • Managing dependencies with generate-puppetfile
              • Using modules in your manifests
              • Using puppetlabs/mysql
              • Using puppetlabs/apache
              • Using puppet/archive
              • Exploring the standard library
              • Safely installing packages with ensure_packages
              • Modifying files in place with file_line
              • Introducing some other useful functions
              • The pry debugger
              • Writing your own modules
              • Creating a repo for your module
              • Writing the module code
              • Creating and validating the module metadata
              • Tagging your module
              • Installing your module
              • Applying your module
              • More complex modules
              • Uploading modules to Puppet Forge
              • Classes
              • The class keyword
              • Declaring parameters to classes
              • Automatic parameter lookup from Hiera data
              • Parameter data types
              • Available data types
              • Content type parameters
              • Range parameters
              • Flexible data types
              • Defined resource types
              • Type aliases
              • Managing classes with Hiera
              • Using include with lookup()
              • Common and per-node classes
              • Roles and profiles
              • Roles
              • Profiles
              • What are templates?
              • The dynamic data problem
              • Puppet template syntax
              • Using templates in your manifests
              • Referencing template files
              • Inline templates
              • Template tags
              • Computations in templates
              • Conditional statements in templates
              • Iteration in templates
              • Iterating over Facter data
              • Iterating over structured facts
              • Iterating over Hiera data
              • Working with templates
              • Passing parameters to templates
              • Validating template syntax
              • Rendering templates on the command line
              • Legacy ERB templates
              • Understanding containers
              • The deployment problem
              • Options for deployment
              • Introducing the container
              • What Docker does for containers
              • Deployment with Docker
              • Building Docker containers
              • The layered filesystem
              • Managing containers with Puppet
              • Managing Docker with Puppet
              • Installing Docker
              • Running a Docker container
              • Stopping a container
              • Running multiple instances of a container
              • Managing Docker images
              • Building images from Dockerfiles
              • Managing Dockerfiles
              • Building dynamic containers
              • Configuring containers with templates
              • Self-configuring containers
              • Persistent storage for containers
              • Host-mounted volumes
              • Docker volumes
              • Networking and orchestration
              • Connecting containers
              • Container orchestration
              • What is orchestration?
              • What orchestration tools are available?
              • Running Puppet inside containers
              • Are containers mini VMs or single processes?
              • Configuring containers with Puppet
              • Containers need Puppet too
              • Introducing the cloud
              • Automating cloud provisioning
              • Using CloudFormation
              • Using Terraform
              • Using Puppet
              • Setting up an Amazon AWS account
              • Creating an AWS account
              • Creating an IAM policy
              • Creating an IAM user
              • Storing your AWS credentials
              • Getting ready to use puppetlabs/aws
              • Creating a key pair
              • Installing the puppetlabs/aws module
              • Installing the AWS SDK gem
              • Creating EC2 instances with Puppet
              • Choosing an Amazon Machine Image (AMI)
              • Creating the EC2 instance
              • Accessing your EC2 instance
              • VPCs
              • The ec2_securitygroup resource
              • The ec2_instance resource
              • Managing custom VPCs and subnets
              • Creating an instance in a custom VPC
              • The ec2_vpc resource
              • The ec2_vpc_internet_gateway resource
              • The ec2_vpc_routetable resource
              • The ec2_vpc_subnet resource
              • Other AWS resource types
              • Provisioning AWS resources from Hiera data
              • Iterating over Hiera data to create resources
              • Cleaning up unused resources
              • Getting the demo repo
              • Copying the repo
              • Understanding the demo repo
              • The control repo
              • Module management
              • Classes
              • Roles
              • Profiles
              • Users and access control
              • SSH configuration
              • Sudoers configuration
              • Time zone and clock synchronization
              • Puppet configuration
              • The bootstrap process
              • Adapting the repo for your own use
              • Configuring users
              • Adding per-node data files and role classes
              • Modifying the bootstrap credentials
              • Bootstrapping a new node
              • Bootstrapping a Vagrant VM
              • Bootstrapping physical or cloud nodes
              • Using other distributions and providers

              Download

              Download Puppet course plan

              Designed by BootstrapMade