Showing posts with label DevOps Tools. Show all posts
Showing posts with label DevOps Tools. Show all posts

Saturday, January 11, 2025

Top 10 DevOps Popular Tools | Popular DevOps Tools You Must Know In 2026 | Learn DevOps Tools in 2026

Here are the top 10 DevOps Tools to focus on to put your DevOps learning on a faster track and kick start your career quickly as a successful Cloud engineer or DevOps engineer in about 10 to 12 weeks from now.

1.    Terraform - # 1 Infrastructure automation tool
2.    Git - BitBucket/GitHub/Azure Repos - # 1 - SCM tool
3.    Jenkins - # 1 CICD tool
4.    Docker #1 Container platform 
5.    Kubernetes - #1 container orchestration tool 
6.    GitHub Actions - #3 CICD tool
7.    Ansible#1 Configuration Management tool
8.    Azure DevOps – Microsoft platform for migrating applications to Azure Cloud
9.    SonarQube – #1 Code quality tool 
10.  Nexus - #2 Binary repo manager 

Finally having some scripting knowledge is also good – Python, YAML playbooks, JSON script
Cloud experience - AWS and Azure
 

Wednesday, May 29, 2024

Top 10 DevOps Popular Tools | Popular DevOps Tools You Must Know In 2024 | Learn DevOps Tools in 2024

Here are the top 10 DevOps Tools to focus on to put your DevOps learning on a faster track and kick start your career quickly as a successful Cloud engineer or DevOps engineer in about 10 weeks from now.



1.    Terraform - # 1 Infrastructure automation tool
2.    Git - BitBucket/GitHub/Azure Repos - # 1 - SCM tool
3.    Jenkins - # 1 CICD tool
4.    Docker #1 Container platform 
5.    Kubernetes - #1 container orchestration tool 
6.    GitHub Actions - #3 CICD tool
7.    Ansible#1 Configuration Management tool
8.    Azure DevOps – Microsoft platform for migrating applications to Azure Cloud
9.    SonarQube – #1 Code quality tool 
10.  Nexus - #2 Binary repo manager 

Finally having some scripting knowledge is also good by learning Python, YAML, Ruby.
and also having some Cloud experience on AWS and Azure will be extremely helpful.
 

Wednesday, February 21, 2024

Ansible Role for LAMP Installation on Ubuntu | Install LAMP stack using Ansible Role on Ubuntu 22.0.4

 LAMP Stack comprises the following open-source software applications.

    • Linux – This is the operating system hosting the Applications.
    • Apache – Apache HTTP is a free and open-source cross-platform web server.
    • MySQL– Open Source relational database management system.
    • PHP – Programming/Scripting Language used for developing Web applications.


    Pre-requisites:
    Steps to setup SSH keys:
    1. Login to Ansible management server/machine. Create SSH keys in Ansible host machine by executing the below command: (if you already have keys created, please skip this step)
    ssh-keygen 

    enter three times..now you will see keys successfully created.
    2.  Execute the below command on Ansible management node and copy the public key content:
    sudo cat ~/.ssh/id_rsa.pub

    copy the above output.
    3. Now login into target node where you want to install LAMP stack, execute the below command to open the file
    sudo vi /home/ubuntu/.ssh/authorized_keys
    type shift A and then enter now 
        and paste the key in the above file. please do not delete any existing values in this file.

    4. Now go back to Ansible mgmt node, do changes in /etc/ansible/hosts file to include the node you will be installing software. Make sure you add public or private IP address of target node as highlighted below in red color:
    sudo vi /etc/ansible/hosts
    [My_Group]  
    xx.xx.xx.xx ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

    Ansible playbook for installing LAMP(Linux Apache MySQL PHP) stack on Ubuntu

    sudo vi aws-infra-role/tasks/installLAMP.yml
    ---
        - name: Task # 1 - Update APT package manager repositories cache
          become: true
          apt:
            update_cache: yes
        - name: Task # 2 - Install LAMP stack using Ansible
          become: yes
          apt:
            name: "{{ packages }}"
            state: present
          vars:
            packages:
               - apache2
               - mysql-server
               - php


    Create Ansible main playbook

    sudo vi aws-infra-role/setup-lamp.yml
    ---
    # This Playbook installs LAMP stack

    - hosts: My_Group
      gather_facts: False
      tags: LAMP creation

      tasks:
      - include: tasks/installLAMP.yml

    Execute Ansible Role

    ansible-playbook aws-infra-role/setup-lamp.yml


    This is the execution result of the playbook.

    Now go to browser and use target node DNS to confirm if Apache is installed. make sure port 80 is opened in security firewall rules.


    Now login to target EC2 instance, type below commands to verify PHP and MySql versions:

    php --version

    mysql --version

    Monday, January 2, 2023

    Ansible playbook for AWS S3 bucket creation | How to create S3 bucket using Ansible in AWS Cloud

    We will learn how to create new S3 bucket using Ansible playbook and automate the execution using Jenkins Pipeline. 


    Pre-requisites:


    • Playbook for creating new S3 bucket needs to be created but you can refer my GitHub Repo

    Ansible playbook for AWS S3 bucket creation

    Steps:

    1. Create Ansible playbook for S3 bucket creation

    (Sample playbook is available in my GitHub Repo, you can use that as a reference)

    2. Create Jenkins Pipeline 

    pipeline {
        agent any
        stages {
            
            stage ("checkout") {
                steps {
                            checkout([$class: 'GitSCM', branches: [[name: '*/master']], extensions: [],                                                     userRemoteConfigs: [[url: 'https://github.com/akannan1087/myAnsibleInfraRepo']]])         
                }
            }
            stage('execute') {
                steps {
                    //to suppress warnings when you execute playbook    
                    sh "pip install --upgrade requests==2.20.1"
                    // execute ansible playbook
                    ansiblePlaybook 'create-s3.yml'
                }
            }
        }
    }

    Execute Pipeline


    Pipeline Console output


    Playbook for creating S3 for your reference:

    create-s3.yml

    ---
     - name:  provisioning S3 Bucket using Ansible playbook
       hosts: localhost
       connection: local
       gather_facts: False
       tags: provisioning

       tasks:
         - name: create S3 bucket
           s3_bucket:
             name: myansibles3bucket312
             state: present
             region: us-east-1
             versioning: yes
             tags:
               name: myansiblebucket
               type: example
           register: s3_url

         - name: Display s3 url
           debug: var=s3_url

    Tuesday, December 27, 2022

    Ansible playbook for LAMP Installation on Ubuntu | How to Install LAMP stack using Ansible on Ubuntu 22.0.4

    LAMP Stack comprises the following open-source software applications.

      • Linux – This is the operating system hosting the Applications.
      • Apache – Apache HTTP is a free and open-source cross-platform web server.
      • MySQL– Open Source relational database management system.
      • PHP – Programming/Scripting Language used for developing Web applications.
      Watch the steps in YouTube Channel:

      Pre-requisites:
      Steps to setup SSH keys:
      1. Login to Ansible management server/machine. Create SSH keys in Ansible host machine by executing the below command: (if you already have keys created, please skip this step)
      ssh-keygen 

      enter three times..now you will see keys successfully created.
      2.  Execute the below command on Ansible management node and copy the public key content:
      sudo cat ~/.ssh/id_rsa.pub

      copy the above output.
      3. Now login into target node where you want to install LAMP stack, execute the below command to open the file
      sudo vi /home/ubuntu/.ssh/authorized_keys
      type shift A and then enter now 
          and paste the key in the above file. please do not delete any existing values in this file.

      4. Now go back to Ansible mgmt node, do changes in /etc/ansible/hosts file to include the node you will be installing software. Make sure you add public or private IP address of target node as highlighted below in red color:
      sudo vi /etc/ansible/hosts
      [LAMP_Group]  
      xx.xx.xx.xx ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

      Ansible playbook for installing LAMP(Linux Apache MySQL PHP) stack on Ubuntu

      sudo vi installLAMP.yml
      ---
      - hosts: LAMP_Group
        tasks:
          - name: Task # 1 - Update APT package manager repositories cache
            become: true
            apt:
              update_cache: yes
          - name: Task # 2 - Install LAMP stack using Ansible
            become: yes
            apt:
              name: "{{ packages }}"
              state: present
            vars:
              packages:
                 - apache2
                 - mysql-server
                 - php

      ansible-playbook installLAMP.yml


      This is the execution result of the playbook.

      Now go to browser and use target node DNS to confirm if Apache is installed. make sure port 80 is opened in security firewall rules.


      Now login to target EC2 instance, type below commands to verify PHP and MySql versions:

      php --version

      mysql --version

      Saturday, January 8, 2022

      Top 10 DevOps Popular Tools | Popular DevOps Tools You Must Know In 2026 | Learn DevOps Tools in 2026

      Here are the top 10 DevOps Tools to focus on to put your DevOps learning in fast-track and kick start your career quickly as a Cloud or DevOps engineer in about 8 weeks from now.

      1.    Terraform # 1 Infrastructure automation tool
      2.    Git – BitBucket/GitHub/Azure Git - # 1 - SCM tool
      3.    Jenkins, Maven, Master/Slave, Pipelines - scripted, declarative - # 1 CI tool
      4.    Docker# 1 Container platform 
      5.    Kubernetes # 1 container orchestration tool 
      6.    Ansible# 1 Configuration Management tool
      7.    Azure DevOps, Pipelines – Microsoft platform for migrating applications to Azure Cloud
      8.    SonarQube – # 1 Code quality tool
      9.    Slack – # 1 Collaboration tool
      10.  Nexus – # 2 Binary repo manager 

      Finally having some scripting knowledge is also good – Python, YAML playbooks, JSON script
      Cloud experience - AWS and Azure


      Monday, November 16, 2020

      How to Install Teamcity on AWS Ubuntu EC2 | How to setup TeamCity on Ubuntu 18.0.4 with PostgreSQL?

      TeamCity is one of the CI tools, It is open source and Java based tool. It can be configured easily.

      Please find below steps for installing TeamCity on Ubuntu:

      Pre-requisites:
      Make sure Ubuntu instance has at least 4 GB RAM
      Open port 8111 in security firewall.

      We need to setup database for storing all the build information. We will be using PostgreSQL.

      PostgreSQL Installation
      sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

       
      sudo wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -



      sudo apt-get -y install postgresql postgresql-contrib







       
      sudo systemctl start postgresql
      sudo systemctl enable postgresql

      Login as postgres user
      sudo su - postgres

      Now create a user below
      createuser teamcity

      Switch to sql shell by entering
      psql

       
       
       
       
       
       
      Execute the below three lines (one by one)
       
      ALTER USER teamcity WITH ENCRYPTED password 'password';
      CREATE DATABASE teamcity OWNER teamcity;
      \q

      type exit to come out of postgres user.

      TeamCity Installation

      Download Java
      sudo apt-get update && sudo apt-get install default-jdk -y

      Download TeamCity

      wget https://download.jetbrains.com/teamcity/TeamCity-2020.1.5.tar.gz

      Extract TeamCity
      tar -xvf TeamCity-2020.1.5.tar.gz
      sudo mkdir /opt/JetBrains
      sudo mv TeamCity /opt/JetBrains/TeamCity
      cd /opt/JetBrains/TeamCity
       
      Create service file

      sudo nano /etc/init.d/teamcity
      (copy the whole text colored in green)
      #!/bin/sh
      ### BEGIN INIT INFO
      # Provides:          TeamCity autostart
      # Required-Start:    $remote_fs $syslog
      # Required-Stop:     $remote_fs $syslog
      # Default-Start:     2 3 4 5
      # Default-Stop:      0 1 6
      # Short-Description: Start teamcity daemon at boot time
      # Description:       Enable service provided by daemon.
      # /etc/init.d/teamcity -  startup script for teamcity
      ### END INIT INFO

      #  Ensure you enter the  right  user name that  TeamCity will run  under
      USER="ubuntu"

      export TEAMCITY_DATA_PATH="/opt/JetBrains/TeamCity/.BuildServer"

      case $1 in

      start)
        start-stop-daemon --start  -c $USER --exec /opt/JetBrains/TeamCity/bin/runAll.sh start
       ;;
      stop)
        start-stop-daemon --start -c $USER  --exec  /opt/JetBrains/TeamCity/bin/runAll.sh stop
       ;;
       esac

      exit 0

      Ctrl + O enter
      Ctrl + X enter
      sudo chmod +x /etc/init.d/teamcity
      sudo update-rc.d teamcity defaults
      sudo /etc/init.d/teamcity start

      Access logs files
      cat /opt/JetBrains/TeamCity/buildAgent/logs/teamcity-agent.log

      Now access Teamcity UI

      Open browser and access team city url in the browser
      http://public_dns_name:8111

      Click on Proceed.
      Select database type as jdbc driver as Postgres SQL from the dropdown and Click on Proceed.

      now you need to download the jdbc driver at below location.
      cd /opt/JetBrains/TeamCity/.BuildServer/lib/jdbc
      sudo wget https://jdbc.postgresql.org/download/postgresql-9.4.1212.jar

      Select database type as PostgreSQL
      Refresh JDBC driver
      You should see like this —> Loaded PostgreSQL JDBC driver version: 9.4

      Now provide the below info
      Enter database Host - localhost
      Enter database name - teamcity
      User name - teamcity
      Password - password
      Click on Proceed

      please wait and watch..As It may take a few mins…


      Scroll down the page, Accept license agreement
      Uncheck Send anonymous usage statistics
      Continue button, Register as a user and create an account


      Tuesday, September 8, 2020

      Top 10 DevOps Popular Tools | Popular DevOps Tools You Must Know In 2025 | Learn DevOps Tools in 2025

      Here are the top 10 DevOps Tools to focus on to put your DevOps learning on a faster track and kick start your career quickly as a successful Cloud engineer or DevOps engineer in about 12 weeks from now.

      1.    Terraform - # 1 Infrastructure automation tool
      2.    Git - BitBucket/GitHub/Azure Repos - # 1 - SCM tool
      3.    Jenkins - # 1 CICD tool
      4.    Docker - #1 Container platform 
      5.    Kubernetes - #1 container orchestration tool 
      6.    GitHub Actions - #3 CICD tool
      7.    Ansible#1 Configuration Management tool
      8.    Azure DevOps – Microsoft platform for migrating applications to Azure Cloud
      9.    SonarQube#1 Code quality tool 
      10.  Nexus - #2 Binary repo manager 

      Finally having some scripting knowledge is also good – Python, YAML playbooks, JSON script
      Cloud experience - AWS and Azure
       

      Friday, August 28, 2020

      How to install Puppet 6 on Ubuntu 18.0.4 | Puppet Master install Ubuntu 18.0.4 | Setup Puppet on Ubuntu

      Puppet is a configuration management tool, similar to Ansible, Chef and SaltStack. Puppet also can be used for automating infrastrcture as well.

      Puppet is based in client/server model. The server does all the automation of tasks on nodes/servers that have a client(agent) installed. The work of the Puppet agent is to send facts to the puppet master and request a catalog based on certain interval level(default time 30 mins). Once it receives a catalog, Puppet agent applies it to the node by checking each resource the catalog describes. It makes relevant changes to attain the desired state. The work of the Puppet master is to control configuration information.  Each managed agent node requests its own configuration catalog from the master.

      We will see how to setup Puppet Master in Ubuntu 18.0.4.



      Pre-requistes:
      Install Puppet master on new Ubuntu with medium instance
      port 8140 needs to be opened.

      Steps:
      First let us see how to install Puppet 6.x on Ubuntu 18.0.4.

      Steps for Puppet Master Installation
      1. Modify Puppet Master Hosts file to add hostname of Puppet Master
      sudo vi /etc/hosts

      2. Download puppet installable

      curl -O https://apt.puppetlabs.com/puppet6-release-bionic.deb
      sudo dpkg -i puppet6-release-bionic.deb
      sudo apt-get update
      sudo apt-get install puppetserver -y
      sudo ufw allow 8140
      sudo systemctl enable puppetserver.service






      (the above command is to start the service during starting the Ubuntu instance)
      sudo systemctl start puppetserver.service           








      (The above command is for starting the server and this may take some time)
      sudo systemctl status puppetserver.service


      Now press q to come out of window.
      Add puppet master ip address and puppet next to it like shown below

      This confirms that Puppet Master is installed successfully.

      Verify which version of Puppet installed by executing below command:
      apt policy puppetserver

      2. you need to install the aws-sdk-core and retries gems as root (or superuser):
      sudo /opt/puppetlabs/puppet/bin/gem install aws-sdk-core retries
      Done installing documentation for retries after 0 seconds
      6 gems installed
      3. Also install AWS SDK for accessing resources in AWS
      sudo /opt/puppetlabs/puppet/bin/gem install aws-sdk -v 2.0.42

      Done installing documentation for retries after 0 seconds
      4 gems installed
      4. Now you can install puppet-labs-aws module
      sudo /opt/puppetlabs/bin/puppet module install puppetlabs-aws

      That's it. Puppet Master is setup successfully!!!! You can watch the above steps in YouTube as well.

      Tuesday, August 25, 2020

      How to install Ansible on Mac OS | Ansible Installation Steps on Apple Mac OS

      Ansible is one of the popular configuration management tools. Ansible can also be used for infrastructure provisioning as well in AWS. Please find steps for installing Ansible on Apple Mac OS or laptop.

      Ansible can be installed on Mac OS many ways, but preferred way is using pip which is a Python package manager.

      Install Pip

      If pip isn’t already available on your system, run the following commands to install it:
      curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
      python3 get-pip.py
      pip --version

      Once pip is installed, install Ansible using pip.

      Install Ansible using Pip
      To install ansible globally, use following command
      sudo -H pip3 install ansible
      Once Ansible is installed, you can verify the version.

      ansible --version
      You should be able to see the version.

      Install Boto framework
      Boto is a Python package that provides interfaces to Amazon Web Service. It is AWS SDK for Python.

      sudo pip install boto
      sudo pip install boto3
       
      Create Ansible hosts file
      when you install Ansible on Mac OS, it does not create ansible hosts file. so you need to create it.
      sudo mkdir /etc/ansible
       
      Watch the above steps as a video in YouTube channel:

      Tuesday, October 1, 2019

      How to setup SonaType Nexus 3 on Linux in EC2? Nexus installation on RedHat Linux | Install Nexus on RedHat Linux

      Nexus is an open source, Java based binary repository manager, used for storing build artifacts. We will eventually integrate Nexus with Jenkins for uploading WAR/EAR/JAR files.

      Here are the steps for installing Sonatype Nexus 3 in RHEL in EC2 on AWS. Please create a new Redhat EC2 instance with small type. Choose Redhat Enterprise 8.

      Pre-requisites:
      Make sure you open port 8081 in AWS security group

      Installation Steps:

      sudo yum install wget -y






      Download Java 8
      sudo yum install java-1.8.0-openjdk.x86_64 -y

      you can confirm java is installed by typing the below command:
      java -version

      Execute the below command to navigate to /opt directory by changing directory:

      cd /opt

      Download Nexus Latest version

      sudo wget -O nexus3.tar.gz https://download.sonatype.com/nexus/3/latest-unix.tar.gz

      Extract Nexus
      sudo tar -xvf nexus3.tar.gz
      sudo mv nexus-3* nexus

      Create a user called Nexus
      sudo adduser nexus

      Change the ownership of nexus files and nexus data directory to nexus user.
      sudo chown -R nexus:nexus /opt/nexus
      sudo chown -R nexus:nexus /opt/sonatype-work


      Add Nexus as a user
      sudo vi /opt/nexus/bin/nexus.rc
      change as per above screenshot by removing # and adding nexus 
       
       
       
       

      Modify memory settings in Nexus configuration file

      sudo vi /opt/nexus/bin/nexus.vmoptions

      Modify the above file as shown in below:

      -Xms512m
      -Xmx512m
      -XX:MaxDirectMemorySize=512m
      after making changes, press wq! to come out of the file.

      Configure Nexus to run as a service

      sudo vi /etc/systemd/system/nexus.service
      Copy the below content highlighted in green color.

      [Unit]
      Description=nexus service
      After=network.target
      [Service]
      Type=forking
      LimitNOFILE=65536
      User=nexus
      Group=nexus
      ExecStart=/opt/nexus/bin/nexus start
      ExecStop=/opt/nexus/bin/nexus stop
      User=nexus
      Restart=on-abort
      [Install]
      WantedBy=multi-user.target


      Create a link to Nexus
      sudo ln -s /opt/nexus/bin/nexus /etc/init.d/nexus

      Execute the following command to add nexus service to boot.

      sudo chkconfig --add nexus
      sudo chkconfig --levels 345 nexus on


      Start Nexus
      sudo service nexus start







      Check whether Nexus service is running
      sudo service nexus status


      Check the logs to see if Nexus is running
      tail -f /opt/sonatype-work/nexus3/log/nexus.log

      You will see Nexus started..If you Nexus stopped, review the steps above. 
      Now press Ctrl C to come out of this windows.

      Once Nexus is successfully installed, you can access it in the browser by URL - http://public_dns_name:8081

      Click on Sign in link
      user name is admin and password can be found by executing below command:

      sudo cat /opt/sonatype-work/nexus3/admin.password




      Copy the password and click sign in.
      Now setup admin password as admin123


      You should see the home page of Nexus:



      Please follow steps for integrating Nexus with Jenkins


      Please watch my YouTube channel on demo on How to setup Nexus 3 on Red Hat Linux in AWS:


      🚀 Live AI-Enabled DevSecOps & Cloud Engineering Bootcamp – Sep 2026

      Live AI-Enabled DevSecOps & Cloud Engineering Bootcamp from Coach AK - Sep 2026 Schedule