This presentation on DevOps Puppet will help you understand what is Puppet, why we need Puppet, components of Puppet, working with Puppet, companies adopting Puppet along with Puppet manifest. Puppet is basically a configuration management tool. A configuration management tool is a tool which runs in client mode or client-server mode and has some configuration language wherein you specify what your state of the system would be. Puppet tool enables you to automate all your IT infrastructures and delivering you control over each Puppet agent in a network. With Puppet, a simple code can be written which then is deployed onto the servers. All servers are rolled back to their previous working states or set to the new desired states in a matter of seconds. Puppet ensures that all your systems are configured the desired states. Now, let us get started and understand Puppet tool in detail.
Below topics are explained in this Puppet presentation:
1. Why Puppet?
2. What is Puppet?
3. Components of Puppet
4. Working on Puppet
5. Companies adopting Puppet
6. Writing manifest in Puppet
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at: https://www.simplilearn.com/
13. What is Puppet?
Puppet is a configuration
management tool
Ensures all systems are configured
to the desired states
14. What is Puppet?
Puppet is a configuration
management tool
Ensures all systems are configured
to the desired states
Puppet is also used as a
deployment tool
Automatically deploys software on the
system
15. What is Puppet?
Puppet is a configuration
management tool
Ensures all systems are configured
to the desired states
Puppet is also used as a
deployment tool
Automatically deploys software on the
system
Puppet implements
infrastructure as code
Policies and configurations are
written as code
17. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet Client
Puppet master stores all the configuration
files
18. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
Manifests are the actual codes for
configuring the clients
19. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
Templates combines code and data to
render final document
20. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
Files are the static content that can be
downloaded by the clients
21. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
Modules are a collection of manifests,
templates and files
22. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
Certificate authority allows the master to sign
the certificates sent by the client
23. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
The Puppet client is the machine that
requires to be configured
24. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
The agent continuously interacts with the
master and sends the certificates
25. Components of Puppet
Puppet master
Manifests
Templates
Files
Modules
CA
Agent Facter
Puppet client
The facter collects the current state of the
client
34. Working of Puppet
Client 1
Client 2
Client 3
The agent executes theses manifests on it’s
machine
Master
Agent
Agent
Agent
35. Working of Puppet
Client 1
Client 2
Client 3
A report is generated by the client that
describes the changes made and is sent to the
master
Master
Agent
Agent
Agent
36. Working of Puppet
Client 1
Client 2
Client 3
This process is repeated at regular intervals,
ensuring all client systems are up to date
Master
Agent
Agent
Agent
38. Companies adopting Puppet
Configuration
Management Tool
AT&T
US Air ForceSpotify
Google
Staples AON
Note to instructor
You could possibly talk a bit
about these companies using
puppet like:
Staples automated their private
cloud management and IT
operations to provide
consistency. This allowed
their IT teams to indulge in
innovations.
40. Writing manifests in Puppet
Files written for configuring a node are called manifests
41. Writing manifests in Puppet
Files written for configuring a node are called manifests
They are compiled into catalogs which are executed at the client
42. Writing manifests in Puppet
Files written for configuring a node are called manifests
They are compiled into catalogs which are executed at the client
They are written in Ruby with a .pp extension
43. Writing manifests in Puppet
01
Compile02
Create
Deploy03
Execute04
End06
Manifests are written by
the system administrator
Manifests are compiled into
catalogs
Catalogs are deployed on
the clients
Catalogs are run on the
client by the agent
Clients are configured to
desired state
44. Writing manifests in Puppet
All manifests must have a common syntax
Resourcetype { ‘title’ :
Attribute_name1 =>
attribute_value
Attribute_name2 =>
attribute_value
}
46. Writing manifests in Puppet
This is the resource
type’s name
Resourcetype { ‘title’ :
Attribute_name1 =>
attribute_value
Attribute_name2 =>
attribute_value
}
47. Writing manifests in Puppet
This is the feature
whose value needs to
be changed or set
Example:
ip, ensure
Resourcetype { ‘title’ :
Attribute_name1 =>
attribute_value
Attribute_name2 =>
attribute_value
}
48. Writing manifests in Puppet
This is the new value for
the attribute
Example:
present, start
Resourcetype { ‘title’ :
Attribute_name1 =>
attribute_value
Attribute_name2 =>
attribute_value
}
49. Writing manifests in Puppet
A manifest can contain
multiple resource types
Resourcetype { ‘title’ :
Attribute_name1 =>
attribute_value
Attribute_name2 =>
attribute_value
}
50. Writing manifests in Puppet
Node default{‘default’ keyword applies manifest to
all clients
51. Writing manifests in Puppet
Node default{
file { ‘/etc/sample’ :
Our first resource is a file at path
‘/etc/sample’
52. Writing manifests in Puppet
Node default{
file { ‘/etc/sample’ :
Content => “this is a sample manifest”
The specified content is written into
the file. File is created first if it does
not already exist
53. Writing manifests in Puppet
Node default{
file { ‘/etc/sample’ :
Content => “this is a sample manifest”
}
service { ‘httpd’ :
‘Our next resource is the apache
service
54. Writing manifests in Puppet
Node default{
file { ‘/etc/sample’ :
Content => “this is a sample manifest”
}
service { ‘httpd’ :
ensure => installed
}
}
The service is to be installed on the
client node
55. Writing manifests in Puppet
Deployed
Manifest Client
The manifest is deployed on the client machine
56. Writing manifests in Puppet
Deployed
Manifest Client
The client now has a file named ‘sample’ under ‘etc’
folder and the apache server installed
/etc/sample
Apache server
57. Why puppet? What is puppet?
Key Takeaways
Writing manifests in puppet
Components of puppet
Working of puppet Companies adopting puppet