Facebook X (Twitter) Instagram
    TecAdmin
    • Home
    • FeedBack
    • Submit Article
    • About Us
    Facebook X (Twitter) Instagram
    TecAdmin
    You are at:Home»Linux Tutorials»How to Install Puppet on Ubuntu 20.04

    How to Install Puppet on Ubuntu 20.04

    By RahulApril 18, 20214 Mins Read

    Puppet is an open-source, automation admin engine used to perform administrative tasks and server management remotely. This tool is available on Linux, Unix, and Windows. This configuration management tool will help you automate the management and configuration of your server infrastructure. After following this tutorial, you should have fully set up Puppet master and client nodes on your Ubuntu systems.

    This tutorial help you to install and configure Puppet master and agent nodes on Ubuntu 20.04 Linux systems.

    Prerequisites

    You must have:

    • Two or more running Ubuntu 20.04 systems, one for master and other clients.
    • Shell access to all systems with sudo privileged account.
    • All systems must be connected with each other over private or public network.

    Step 1 – Configure Hosts

    Puppet master and client nodes uses hostnames to communicate with each other. So its good to start with assigning a unique hostname for each node.

    1. Login to the master and each client node one by one and edit /etc/hosts file:

    sudo nano /etc/hosts 
    

    2. Add the following entries at the end of each hosts file:

    10.132.14.239 puppetmaster puppet
    10.132.14.240 puppetclient1
    10.132.14.241 puppetclient2
    

    Here:

    • 10.132.14.239 is the IP address of the master node.
    • 10.132.14.240 is the IP address of the client node.
    • 10.132.14.242 is the IP address of another client node.
    • Add more client nodes, you required

    Save your file and close it. To save file with nano editor press Ctrl + X and then type Y and press Enter to save the change and close file.

    Step 2 – Install Puppet Server (Master Node)

    Now, login to the Master node with the shell access

    3. Install latest Puppet debian package to configure PPA on the master node:

    wget https://apt.puppetlabs.com/puppet7-release-focal.deb 
    sudo dpkg -i puppet7-release-focal.deb 
    

    4. Once you added the PPA, update Apt cache and install the Puppet server with the following command:

    sudo apt update 
    sudo apt install puppetserver -y 
    

    5. After successfully installation of all the Puppet packages. Edit the puppet server file by using:

    sudo nano /etc/default/puppetserver
    

    The default puppet server file configured to use 2GB of memory. In case your server doesn’t have enough memory. Reduce the memory size to 1GB or any other value:

    JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
    

    Save you changes and close puppetserver file. To save file with nano editor press Ctrl + X and then type Y to save the changes.

    6. Next, start the Puppet service and set it to auto-start on system boot:

    sudo systemctl start puppetserver 
    sudo systemctl enable puppetserver 
    

    7. Once service is started, verify the service status with:

    sudo systemctl status puppetserver 
    

    You will see the service status as running.

    Now, start with the configuration of all client node.

    Step 3 – Install Puppet Agent (Client Node)

    First of all, make sure you already have updated hosts file entries defines in step 1 in all client nodes.

    8. Now, download and install latest Puppet debian package to configure PPA on your client node:

    wget https://apt.puppetlabs.com/puppet7-release-focal.deb 
    sudo dpkg -i puppet7-release-focal.deb 
    

    9. Once you configured the PPA, Install the Puppet agent package on all client servers.

    sudo apt update 
    sudo apt install puppet-agent -y 
    

    10. Once the packages installation finished. Edit the Puppet configuration file:

    sudo nano /etc/puppetlabs/puppet/puppet.conf 
    

    Add the following entries to the end of the Puppet configuration file to define the Puppet master node details:

    [main]
    certname = puppetclient1
    server = puppetmaster
    

    Save your file and close it.

    11. Next, start the Puppet agent service on all the client nodes and set it to auto-start on system boot:

    sudo systemctl start puppet 
    sudo systemctl enable puppet 
    

    12. Once done, verify the Puppet agent service is running properly:

    sudo systemctl status puppet 
    

    You should see a running status on all the agent systems

    Step 4 – Sign the Puppet Agent Certificates

    13. Your have done with the configuration’s. Now, login to the Puppet master node and run the following command to list all the available certificates:

    sudo /opt/puppetlabs/bin/puppetserver ca list --all 
    

    Puppet list all certificates

    14. Next, sign all the clients certificates using:

    sudo /opt/puppetlabs/bin/puppetserver ca sign --all 
    

    Puppet sign all client certificates

    15. Finally, test the communication between Puppet master and client nodes using the following command.

    sudo /opt/puppetlabs/bin/puppet agent --test 
    

    Puppet test connection to client

    Conclusion

    That’s it. You have successfully installed Puppet on Ubuntu 20.04 system. This tutorial describes you to install Puppet on master node as well as on a client node.

    You can also visit the official documentation for more about Puppet server node configuration and client node configuration on

    Puppet Ubuntu 20.04
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email WhatsApp

    Related Posts

    Understanding the LD_LIBRARY_PATH Environment Variable

    The Beginner’s Guide to Building Your First RPM Package

    The Beginner’s Guide to Building Your First Debian Package

    Add A Comment

    Leave A Reply Cancel Reply

    Advertisement
    Recent Posts
    • Using .env Files in Django
    • Using .env File in FastAPI
    • Setting Up Email Notifications for Django Error Reporting
    • How to Enable Apache Rewrite (mod_rewrite) Module
    • What are Microservices?
    Facebook X (Twitter) Instagram Pinterest
    © 2023 Tecadmin.net. All Rights Reserved | Terms  | Privacy Policy

    Type above and press Enter to search. Press Esc to cancel.