DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • What Do You Need To Know About DevOps Lifecycle Phases?
  • Implementing Real-Time Datadog Monitoring in Deployments
  • CI/CD Tools and Technologies: Unlock the Power of DevOps
  • IaC and Containers: Building Blocks of a DevOps Transformation

Trending

  • Apache Spark 4.0: Transforming Big Data Analytics to the Next Level
  • How GitHub Copilot Helps You Write More Secure Code
  • Security by Design: Building Full-Stack Applications With DevSecOps
  • Tired of Spring Overhead? Try Dropwizard for Your Next Java Microservice
  1. DZone
  2. Testing, Deployment, and Maintenance
  3. DevOps and CI/CD
  4. Puppet as a Configuration Management Tool Integrated With App42 DevOps

Puppet as a Configuration Management Tool Integrated With App42 DevOps

Learn how to use both Puppet and App42's DevOps setup to configure your machines.

By 
Ashutosh Yadav user avatar
Ashutosh Yadav
·
Jul. 27, 16 · Tutorial
Likes (2)
Comment
Save
Tweet
Share
5.7K Views

Join the DZone community and get the full member experience.

Join For Free

Puppet, as we know, is a configuration management tool that has been widely used for managing server infrastructure. It is quite powerful when it comes to deploying, configuring, managing, and maintaining a server machine, or even entire server infrastructure. From provisioning servers to configuration and shredding, it has the capability to fulfill every need for a system administrator.

App42 DevOps provides Puppet, along with Chef, as tools for configuration management. Using Puppet once can define a distinct configuration for each and every server. Starting from creating a Puppet Master Server to signing agent nodes to uploading manifests, App42 DevOps provides all the rich features in its management console.

To get started, create a DevOps setup from https://devopshq.shephertz.com/ with Puppet as the configuration management tool.

Image title


One can also create a Puppet Master Server as standalone tools from App42 DevOps Management console if he does not require complete DevOps Setup.(Shown Below)

Image title


Now, if one creates application nodes (servers) along with a DevOps setup, then the nodes are automatically registered with Puppet Master, and its certificate gets automatically signed by Puppet Master. The App42 DevOps setup does this configuration automatically during setup creation.

However, if one does not create application nodes and creates only a DevOps setup, then you need to manually send the certificate request from the application node to the Puppet Master.

To do so, follow the below step on the Puppet agent:

  • Install the Puppet agent on Application Node.:
sudo apt-get update
sudo apt-get install puppet


  • The puppet agent is disabled by default. To change this, update its default file as shown below:
sudo vi /etc/default/puppet


And change value of START to "yes."

  • Configure the agent by modifying the agent's configuration file (puppet.conf) as shown below:     
sudo vi /etc/puppet/puppet.conf


Add the Puppet master's FQDN under [agent] section:

    

[agent]
server = puppetmaster.demo.example.com

    
(Where puppetmaster.demo.example.com is the Puppet master's FQDN.)

  • Start the puppet agent:

sudo service puppet start


  • The first time Puppet runs on an agent node, it will send a certificate signing request to the Puppet Master. Before the master will be able to communicate and control the agent node, it must sign that particular agent node's certificate.

  • If the certificate signing request is not sent to the master, send the request by using the below command :

puppet agent --server Puppet-Master --waitforcert 60 –test

        
(Where Puppet-Master is the hostname of the Puppet Master.)

  • Once the Puppet master receive the certificate request, the puppet master can sign the request from management console.

Image title


Provide the host name and IP address of the Puppet agent's server and click submit. The certificate will get signed by the Puppet Master.

  • One can also upload the manifests directly from the App42 DevOps management console.

    Click on Upload manifests and provide the manifest file location, the manifest will get uploaded on your puppet master server.
    Image title

Sometimes you might face issues with Puppet while retrieving catalogs from the server. If you run into trouble, follow the steps below:

If Error: notice: Run of Puppet configuration client already in progress; skipping:

Solution: Remove the /var/opt/lib/puppet/state/agent_catalog_run.lock file.

If Error: Could not prepare for execution: Could not create PID file: /var/run/puppet/agent.pid:

Solution: Confirm rundir = /var/run/puppet is set properly within /etc/puppet/puppet/puppet.conf. Also, remove /var/run/puppet/agent.pid.

Delete Existing Certificates if there is a problem in certificate signing request on puppet agent. Delete any existing SSL certificates that were created during the package install. The default location of Puppet's SSL certificates is /var/lib/puppet/ssl:
sudo rm -rf /var/lib/puppet/ssl .                

Thus, using App42's DevOps management console and Puppet, one can easily keep the host configuration under check, and you can use them to easily configure a machine from scratch!

DevOps Configuration management master Certificate signing request Manifest file

Opinions expressed by DZone contributors are their own.

Related

  • What Do You Need To Know About DevOps Lifecycle Phases?
  • Implementing Real-Time Datadog Monitoring in Deployments
  • CI/CD Tools and Technologies: Unlock the Power of DevOps
  • IaC and Containers: Building Blocks of a DevOps Transformation

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!