Question : New packages need to be installed on all app servers in Stratos Datacenter. The Nautilus DevOps team has decided to install the same using Puppet. Since jump host is already configured to run as Puppet master server and all app servers are already configured to work as puppet agent nodes, we need to create required manifests on the Puppet master server so that the same can be applied on all Puppet agent nodes. Please find more details about the task below.
Create a Puppet programming file cluster.pp under /etc/puppetlabs/code/environments/production/manifests directory on master node i.e Jump Server and using puppet package resource perform the tasks below.
Install package nginx through Puppet package resource on all Puppet agent nodes i.e all App Servers.
Note: Please perform this task using cluster.pp only, do not create any separate inventory file.
Please Note :- Perform the below commands based on your question server, user name & other details that might differ. So please read the task carefully before executing it.
All the Best 👍
root@jump_host /# cd /etc/puppetlabs/code/environments/production/manifests/ root@jump_host /etc/puppetlabs/code/environments/production/manifests# ll total 0 root@jump_host /etc/puppetlabs/code/environments/production/manifests# vi cluster.pp root@jump_host /etc/puppetlabs/code/environments/production/manifests# cat cluster.pp class nginx_installer { package {'nginx': ensure =>
installed } } node 'stapp01.stratos.xfusioncorp.com', 'stapp02.stratos.xfusioncorp.com', 'stapp03.stratos.xfusioncorp.com' { include
nginx_installer
} root@jump_host /etc/puppetlabs/code/environments/production/manifests# |
2. Validate the puppet files by below command.( refer Video below for clarity )
root@jump_host /puppetlabs/code/environments/production/manifests# puppet parser validate cluster.pp root@jump_host /etc/puppetlabs/code/environments/production/manifests# |
3. Login on all App server (stapp01, stapp02, stapp03 ) & switch to root user
root@jump_host /# ssh tony@stapp01 The authenticity of host 'stapp01 (172.16.238.10)' can't be established. ECDSA key fingerprint is SHA256:w9cDRojDoclOxdu1W23Ns2HPyANPrDzhk9VfqtTDoJQ. ECDSA key fingerprint is MD5:a8:3b:55:35:c2:5c:56:76:c8:d0:78:13:7a:4d:8b:e1. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'stapp01,172.16.238.10' (ECDSA) to the list of known hosts. tony@stapp01's password: [tony@stapp01 ~]$ sudo su - We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for tony: [root@stapp01 ~]# |
4. Run Puppet agent to pull the configuration from puppet server
[root@stapp01 ~]# puppet agen -tv Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Retrieving locales Info: Caching catalog for stapp01.stratos.xfusioncorp.com Info: Applying configuration version '1626888213' Notice: /Stage[main]/Nginx_installer/Package[nginx]/ensure:
created Notice: Applied catalog in 12.56 seconds
[root@stapp01 ~]# |
5. Validate the task by running
[root@stapp01
~]# rpm -qa |grep nginx nginx-1.20.1-2.el7.x86_64 nginx-filesystem-1.20.1-2.el7.noarch [root@stapp01
~]# |
Happy Learning!!!!
0 Comments