<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>rsandhya &#8211; Best DevOps</title>
	<atom:link href="https://www.bestdevops.com/author/rsandhya/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.bestdevops.com</link>
	<description>Lets Learn, Do it &#38; Share! Thats a Best DevOps!!!</description>
	<lastBuildDate>Tue, 07 Sep 2021 06:00:02 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>ansible-playbook-lab-excercise-part-3</title>
		<link>https://www.bestdevops.com/ansible-playbook-lab-excercise-part-3-2/</link>
		
		<dc:creator><![CDATA[rsandhya]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 11:23:37 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=21013</guid>

					<description><![CDATA[Create a playbook where you should install a webserver into 2 OS type(Ubuntu and RHEL) with fact conditioning. and list [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><em>Create a playbook where you should install a webserver into 2 OS type(Ubuntu and RHEL) with fact conditioning. and list out a directory which in “/etc” and display such as “This is a directory /file in /etc:-XXXx”</em><br><em>To be used Conditiong, looping, regiter and fact variable.</em></p>


<pre class="wp-block-code"><span><code class="hljs language-php">---
- name: Update web servers
  hosts: web
   
  tasks:
  - name: Install the latest version of Apache on RedHat
    yum:
      name=httpd
      state=latest
    when: ansible_os_family == <span class="hljs-string">"RedHat"</span>
  - name: Install the latest version of Apache on Debian
    apt:
      name=apache2
      state=latest
    when: ansible_os_family == <span class="hljs-string">"Debian"</span>
  - name: Copy file with owner <span class="hljs-keyword">and</span> permissions
    ansible.builtin.copy:
      src: index.html
      dest: /<span class="hljs-keyword">var</span>/www/html/index.html
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name=httpd
      state=started
   - name: <span class="hljs-keyword">List</span> all files <span class="hljs-keyword">and</span> directories in /etc
      shell: ls /etc
      register: dir_contents
    - name: <span class="hljs-keyword">Print</span> directory contents using loops
      debug:
        msg: <span class="hljs-string">"This is a directory /file in /etc : {{ item }}"</span>
      loop: <span class="hljs-string">"{{ dir_contents.stdout_lines }}"</span></code></span></pre>


<p class="wp-block-paragraph"><em>There are 2 environment DEV and QA. Both has their own group_vars. Using it, in Dev and QA environment(RHEL/CENTOS) install apache and Dev should run with 80 port and QA should run with 8080 port. Whereas config file location for apache conf is /etc/httpd/conf/httpd.conf and line for port is “Listen 80”. This should be done using template module and zinja2 lib.</em></p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#inventory</span>
<span class="hljs-selector-attr">&#91;dev]</span>
<span class="hljs-selector-tag">a</span><span class="hljs-selector-class">.a</span><span class="hljs-selector-class">.a</span><span class="hljs-selector-class">.a</span>

<span class="hljs-selector-attr">&#91;qa]</span>
<span class="hljs-selector-tag">b</span><span class="hljs-selector-class">.b</span><span class="hljs-selector-class">.b</span><span class="hljs-selector-class">.b</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#group_vars/dev</span>
portnum = <span class="hljs-number">80</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#group_vars/qa</span>
portnum = <span class="hljs-number">8080</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#httpd.conf.j2</span>
...
listen {{ portnum }}
</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-javascript">---
- name: Update web servers
  <span class="hljs-attr">hosts</span>: all
	
  <span class="hljs-attr">tasks</span>:
  - name: Install the latest version <span class="hljs-keyword">of</span> Apache on centos
    <span class="hljs-attr">yum</span>:
      name=httpd
      state=latest
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name=httpd
      state=started
  - name: Template a file to /etc/file.conf
    ansible.builtin.template:
      src: httpd.conf.j2
      <span class="hljs-attr">dest</span>: <span class="hljs-regexp">/etc/</span>httpd/conf/httpd.conf
	  <span class="hljs-attr">notify</span>:
      - Start service httpd, <span class="hljs-keyword">if</span> not started

  <span class="hljs-attr">handlers</span>:
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name=httpd
      state=restarted

</code></span></pre>


<p class="wp-block-paragraph"><em>Write a 3 yaml playbook i.e main.yaml, second.yaml and third.yaml with some demo debug tasks and call second.yaml and third.yaml from main.yaml using inlcude.</em></p>


<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#second.yaml</span>
---
- name: Update web servers
  hosts: web
  vars:
    - name: <span class="hljs-string">"second"</span>
   
  tasks:
  - name: <span class="hljs-keyword">Print</span> the vars
    ansible.builtin.debug:
      msg: this is {{ name }} yaml file</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#third.yaml</span>
---
- name: Update web servers
  hosts: web
  vars:
    - name: <span class="hljs-string">"third"</span>
   
  tasks:
  - name: <span class="hljs-keyword">Print</span> the vars
    ansible.builtin.debug:
      msg: this is {{ name }} yaml file</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#main.yaml</span>
---
- name: Update web servers
  hosts: web

   
  tasks:
  - name: <span class="hljs-keyword">include</span> second yaml
    <span class="hljs-keyword">include</span>: second.yaml
  - name: <span class="hljs-keyword">include</span> third yaml
    <span class="hljs-keyword">include</span>: third.yaml</code></span></pre>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>ansible-variable-lab-excercise-part-2</title>
		<link>https://www.bestdevops.com/ansible-variable-lab-excercise-part-2/</link>
		
		<dc:creator><![CDATA[rsandhya]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 10:45:31 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20989</guid>

					<description><![CDATA[Assigment 1 – Create a playbook and setup a webserver(httpd) and use httpd as a variable decalared in role var [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Assigment 1 – Create a playbook and setup a webserver(httpd) and use httpd as a variable decalared in role var file</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">---
- name: Update web servers
  <span class="hljs-attr">hosts</span>: web
  <span class="hljs-attr">vars_files</span>:
    - ext-vars.yaml
   
  <span class="hljs-attr">tasks</span>:
  - name: Install the latest version <span class="hljs-keyword">of</span> Apache
    <span class="hljs-attr">yum</span>:
      name={{ packagename }}
      state=latest
  - name: Copy file <span class="hljs-keyword">with</span> owner and permissions
    ansible.builtin.copy:
      src: index.html
      <span class="hljs-attr">dest</span>: <span class="hljs-regexp">/var/</span>www/html/index.html
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name={{ servicename }}
      state=started</code></span></pre>


<p class="wp-block-paragraph"><strong>Assigment 2 – Create a playbook and setup a webserver(httpd) and use httpd as a variable decalared using prompt</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-php">---
- name: Update web servers
  hosts: web
  vars_prompt:
    - name: <span class="hljs-string">"packagename"</span>
      prompt: <span class="hljs-string">"package name"</span>
      <span class="hljs-keyword">private</span>: <span class="hljs-keyword">false</span>
   
  tasks:
  - name: Install the latest version of Apache
    yum:
      name={{ packagename }}
      state=latest
  - name: Copy file with owner <span class="hljs-keyword">and</span> permissions
    ansible.builtin.copy:
      src: index.html
      dest: /<span class="hljs-keyword">var</span>/www/html/index.html
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name={{ packagename }}
      state=started
  - name: <span class="hljs-keyword">Print</span> the vars
    ansible.builtin.debug:
      msg: package {{ packagename }} is installed</code></span></pre>


<p class="wp-block-paragraph"><strong>Assigment 3 – Create a playbook and setup a webserver(httpd) and find a list of .txt file in some directory and output using register variables</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">---
- name: Update web servers
  <span class="hljs-attr">hosts</span>: web
  <span class="hljs-attr">vars</span>:
    packagename: httpd
    <span class="hljs-attr">servicename</span>: httpd
	
  <span class="hljs-attr">tasks</span>:
  - name: Install the latest version <span class="hljs-keyword">of</span> Apache
    <span class="hljs-attr">yum</span>:
      name={{ packagename }}
      state=latest
  - name: Copy file <span class="hljs-keyword">with</span> owner and permissions
    ansible.builtin.copy:
      src: index.html
      <span class="hljs-attr">dest</span>: <span class="hljs-regexp">/var/</span>www/html/index.html
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name={{ servicename }}
      state=started
  - name: Ansible register variable
    <span class="hljs-attr">shell</span>: <span class="hljs-string">"find *.txt"</span>
    <span class="hljs-attr">args</span>:
      chdir: <span class="hljs-string">"/home/centos/ansible/sandhya"</span>
    <span class="hljs-attr">register</span>: find_output
  - debug:
      <span class="hljs-keyword">var</span>: find_output.stdout_lines&#91;<span class="hljs-number">0</span>]</code></span></pre>


<p class="wp-block-paragraph"><strong>Assigment 4 – Create a playbook and setup a webserver(httpd), copy a index.html and interpolate variables in template file decalared in playbook</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">---
- name: Update web servers
  <span class="hljs-attr">hosts</span>: web
  <span class="hljs-attr">vars</span>:
    myname: sandhya
	
  <span class="hljs-attr">tasks</span>:
  - name: Install the latest version <span class="hljs-keyword">of</span> Apache
    <span class="hljs-attr">yum</span>:
      name=httpd  
      state=latest	  
  - name: Start service httpd, <span class="hljs-keyword">if</span> not started
    ansible.builtin.service:
      name=httpd
      state=started
  - name: Template a file to /<span class="hljs-keyword">var</span>/www/html/
    ansible.builtin.template:
      src: index.html.j2
      <span class="hljs-attr">dest</span>: <span class="hljs-regexp">/var/</span>www/html/index.html</code></span></pre>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>write playbook</title>
		<link>https://www.bestdevops.com/wirte-playbook/</link>
		
		<dc:creator><![CDATA[rsandhya]]></dc:creator>
		<pubDate>Mon, 06 Sep 2021 05:24:12 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20950</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#first</span><span class="hljs-selector-class">.yml</span>
<span class="hljs-selector-tag">---</span>
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">create</span> <span class="hljs-selector-tag">deploy</span> <span class="hljs-selector-tag">group</span>
  <span class="hljs-selector-tag">hosts</span>: <span class="hljs-selector-tag">web</span>

  <span class="hljs-selector-tag">tasks</span>:
  <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">create</span> <span class="hljs-selector-tag">deploy</span> <span class="hljs-selector-tag">group</span>
    <span class="hljs-selector-tag">ansible</span><span class="hljs-selector-class">.builtin</span><span class="hljs-selector-class">.group</span>:
      <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">deploy</span>
      <span class="hljs-selector-tag">state</span>: <span class="hljs-selector-tag">present</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#second.yml</span>
---
- name: create User in deploy group
  hosts: web

  tasks:
  - name: create User in deploy group
    user:
      name: deploy-user
      password: xyz
      groups: deploy
      state: present
      shell: /bin/bash</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#three</span><span class="hljs-selector-class">.yml</span>
<span class="hljs-selector-tag">---</span>
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">install</span> <span class="hljs-selector-tag">httpd</span> <span class="hljs-selector-tag">latest</span> <span class="hljs-selector-tag">version</span>
  <span class="hljs-selector-tag">hosts</span>: <span class="hljs-selector-tag">web</span>

  <span class="hljs-selector-tag">tasks</span>:
  <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">Install</span> <span class="hljs-selector-tag">httpd</span>
    <span class="hljs-selector-tag">yum</span>:
      <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">httpd</span>
      <span class="hljs-selector-tag">state</span>: <span class="hljs-selector-tag">present</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#four</span><span class="hljs-selector-class">.yml</span>
<span class="hljs-selector-tag">---</span>
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">start</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">enable</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">service</span>
  <span class="hljs-selector-tag">hosts</span>: <span class="hljs-selector-tag">web</span>

  <span class="hljs-selector-tag">tasks</span>:
  <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">start</span> <span class="hljs-selector-tag">and</span> <span class="hljs-selector-tag">enable</span> <span class="hljs-selector-tag">the</span> <span class="hljs-selector-tag">service</span>
    <span class="hljs-selector-tag">ansible</span><span class="hljs-selector-class">.builtin</span><span class="hljs-selector-class">.service</span>:
      <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">httpd</span>
      <span class="hljs-selector-tag">state</span>: <span class="hljs-selector-tag">started</span></code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#five.yml</span>
---
- name: some dummy html contents.
  hosts: web

  tasks:
  - name: some dummy html contents.
    ansible.builtin.copy:
      src: index.html
      dest: /<span class="hljs-keyword">var</span>/www/html/index.html</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#six</span><span class="hljs-selector-class">.yml</span>
<span class="hljs-selector-tag">---</span>
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">install</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">package</span> <span class="hljs-selector-tag">called</span> “<span class="hljs-selector-tag">git</span>”, “<span class="hljs-selector-tag">wget</span>”
  <span class="hljs-selector-tag">hosts</span>: <span class="hljs-selector-tag">web</span>

  <span class="hljs-selector-tag">tasks</span>:
  <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">install</span> <span class="hljs-selector-tag">a</span> <span class="hljs-selector-tag">package</span> <span class="hljs-selector-tag">called</span> “<span class="hljs-selector-tag">git</span>”, “<span class="hljs-selector-tag">wget</span>”
    <span class="hljs-selector-tag">yum</span>:
      <span class="hljs-selector-tag">name</span>: 
	   <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">git</span>
	   <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">wget</span>
      <span class="hljs-selector-tag">state</span>: <span class="hljs-selector-tag">started</span>
</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment">#seven.yml</span>
---
- name: some dummy html contents.
  hosts: web

  tasks:
   - name: <span class="hljs-keyword">clone</span> git repo. https:<span class="hljs-comment">//github.com/scmgalaxy/ansible-role-template.</span>
    ansible.builtin.git:
      repo: https:<span class="hljs-comment">//github.com/scmgalaxy/ansible-role-template</span>
      dest: /home/centos/sandhya</code></span></pre>

<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-id">#eight</span><span class="hljs-selector-class">.yml</span>
<span class="hljs-selector-tag">---</span>
<span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">restart</span>
  <span class="hljs-selector-tag">hosts</span>: <span class="hljs-selector-tag">web</span>

  <span class="hljs-selector-tag">tasks</span>:
  <span class="hljs-selector-tag">-</span> <span class="hljs-selector-tag">name</span>: <span class="hljs-selector-tag">Restart</span> <span class="hljs-selector-tag">machine</span>
    <span class="hljs-selector-tag">reboot</span>:</code></span></pre>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Assignment1</title>
		<link>https://www.bestdevops.com/assignment1/</link>
		
		<dc:creator><![CDATA[rsandhya]]></dc:creator>
		<pubDate>Sat, 04 Sep 2021 07:30:23 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20862</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[<pre class="wp-block-code"><span><code class="hljs language-php"><span class="hljs-comment"># To create Deplo group</span>
ansible localhost -m ansible.builtin.group -a<span class="hljs-string">"name=deploy state=present"</span> -b

<span class="hljs-comment">#To create User in deploy group</span>
ansible localhost -m user -a<span class="hljs-string">"name=deploy-user password=Tsip@123 groups=deploy state=present shell=/bin/bash"</span> -b

<span class="hljs-comment">#Install httpd</span>
ansible localhost -m yum -a<span class="hljs-string">"state=present name=httpd"</span> -b

<span class="hljs-comment">#start and enable the service named “httpd”</span>
ansible localhost -m service -a<span class="hljs-string">"name=httpd state=started"</span> -b

<span class="hljs-comment"># create a file called “index.html” in /var/www/html with some dummy html contents.</span>
ansible localhost -m copy -a<span class="hljs-string">"dest=/var/www/html src=index.html"</span> -b

<span class="hljs-comment"># “second.html” in /var/www/html/second.html with some dummy html contents.</span>
ansible localhost -m copy -a<span class="hljs-string">"dest=/var/www/html src=second.html"</span> -b

<span class="hljs-comment">#install a package called “git”, “wget”</span>
ansible localhost -m yum -a<span class="hljs-string">"state=present name=git"</span> -b
ansible localhost -m yum -a<span class="hljs-string">"state=present name=wget"</span> -b

<span class="hljs-comment">#to clone git repo. https://github.com/scmgalaxy/ansible-role-template.</span>
ansible localhost -m ansible.builtin.git -a<span class="hljs-string">"repo=https://github.com/scmgalaxy/ansible-role-template dest=/home/centos/sandhya"</span> -b

<span class="hljs-comment">#Restart machine</span>
ansible localhost -m reboot

<span class="hljs-comment">#Ansible commands to touch a file called “devopsschool.txt” in /opt/ and delete after using ansible adhoc command.</span>
ansible localhost -m file -a<span class="hljs-string">"state=touch path=/opt/devopsschool.txt"</span> -b
ansible localhost -m file -a<span class="hljs-string">"state=absent path=/opt/devopsschool.txt"</span> -b</code></span></pre>]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>What is Ansible and How it works? Explained with Images</title>
		<link>https://www.bestdevops.com/what-is-ansible-and-how-it-works-explained-with-images/</link>
		
		<dc:creator><![CDATA[rsandhya]]></dc:creator>
		<pubDate>Sat, 04 Sep 2021 06:14:17 +0000</pubDate>
				<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://www.bestdevops.com/?p=20846</guid>

					<description><![CDATA[What is Ansible? Ansible is a tool which manages configuration of servers. Management includes hardware and software management of server. [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>What is Ansible?</strong></p>



<p class="wp-block-paragraph">Ansible is a tool which manages configuration of servers. Management includes hardware and software management of server. </p>



<p class="wp-block-paragraph"><strong>Why Ansible?</strong></p>



<ul class="wp-block-list"><li>Easy to learn compare to java, python, ruby etc</li><li>Its platform Independent</li><li>Ansible has feature &#8211; IDEOMPOTENT</li><li>Its open source tool</li></ul>



<p class="wp-block-paragraph"><strong>Architecture of Ansible</strong></p>



<p class="wp-block-paragraph">Ansible communicate with remote servers (ARS) through Ansible Control Server (ACS)</p>



<figure class="wp-block-image size-full is-resized"><img fetchpriority="high" decoding="async" src="https://www.bestdevops.com/wp-content/uploads/2021/09/Capture.png" alt="" class="wp-image-20855" width="604" height="314" srcset="https://www.bestdevops.com/wp-content/uploads/2021/09/Capture.png 536w, https://www.bestdevops.com/wp-content/uploads/2021/09/Capture-300x156.png 300w" sizes="(max-width: 604px) 100vw, 604px" /></figure>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
