Sunday, January 20, 2019

How to create EC2 instance using Puppet - How to provision EC2 instances in AWS using Puppet


Here below is the puppet code to provision an EC2 instance on AWS cloud.

create-ec2.pp
ec2_instance { 'My EC2':
    ensure              => present,
    region              => 'us-east-2',
    image_id            => 'ami-916f59f4',
    instance_type       => 't2.micro',
    security_groups     => ['mySecurityGroup'],
    subnet              => 'subnet-aff937d5',
    key_name            => 'mykeyName',
  }

ec2_securitygroup { 'mySecurityGroup':
  region      => 'us-east-2',
  ensure      => present,
  description => 'Security group for aws Ec2 instance',
ingress     => [{
    protocol => 'tcp',
    port     => 8080,
    cidr     => '0.0.0.0/0',
  },{
    protocol => 'tcp',
    port     => 80,
    cidr     => '0.0.0.0/0',
  },{
    protocol => 'tcp',
    port     => 22,
    cidr     => '0.0.0.0/0',
 }],
  tags        => {
    tag_name  => 'mySecurityGroup',
},
}

And then execute the below command to create EC2 instance.
  sudo /opt/puppetlabs/bin/puppet apply create-ec2.pp

Make sure you have access keys and secret keys downloaded from AWS.

sudo vi ~/.aws/credentials
[default]
aws_access_key_id = ?
aws_secret_access_key = ?

Wednesday, January 16, 2019

Change Nexus Default port 8081 - How to change Nexus default port

The default port number for Sonatype Nexus is 8081. It can be changed though.

If you would like to change it, modify in below location:

 $install-dir/etc/org.sonatype.nexus.cfg file
application-port=8082

Click here to see steps for how to install Nexus on Redhat.
Click here to see steps for how to install Nexus on Ubuntu.

Monday, January 14, 2019

Pre-requisites before starting the DevOps Coaching | Things to start before starting the DevOps Coaching BootCamp | Day 0: DevOps & Cloud Pre-requisites

Please watch the video first before you get started:


1. Create an account in https://aws.amazon.com. Set that as basic free tier account (personal account). role as developer or anything. You need to enter credit card info. But that’s fine, they won’t charge you except $1.
Sign up free account.

Select Basic Plan..Do NOT select developer plan unless you would like to pay every month.


2. Create an account on all three below SCM tools using your email address.

4. Download and Setup VS Code on your local machine(laptop or computer) by following below link:

5. Start learning Linux Basics:
    Sign up for Linux Basics courses in https://www.udemy.com/topic/linux-administration/

6. Learn Agile/DevOps

7. If you are using windows laptop, Install Git client on your laptop by downloading from http://www.git-scm.com/download


Click on download, once downloaded. Go to downloads directory and click on the EXE.
Choose all options by default by clicking on Next and NExt


8. Only if you are using Macbook pro or iMac desktop, please download iTerm from https://www.iterm2.com/downloads.html. for windows laptop, ignore this step.
Download the iTerm2**.zip file and install iTerm on Mac.


iTerm2 or iTerm 3, anything is fine..

Friday, January 11, 2019

Ansible Playbook to install Java 8 on Ubuntu - How to install Java 8 using Ansible Playbook



Find below Ansible playbook to install Java 8 on Ubuntu

Step 1: Create the playbook first with name. for e.g, installJava.xml

---
- hosts: Java_Group

  tasks:
  - name: Update APT package manager repositories cache
    become: true
    apt:
      update_cache: yes

  - name: Install OpenJDK Java
    become: yes
    apt:
      name: "{{ item }}"
      state: present
    with_items:
     openjdk-8-jdk

2. sudo vi /etc/ansible/hosts

make sure you add below entry with target node IP changed (in red color).

[Java_Group] 
xx.xx.xx.xx ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

3. sudo ansible-playbook installJava.xml

now after successfully executing, enter below command in target node to make sure Java is installed:
java -version

Thursday, January 3, 2019

How to create S3 bucket in AWS using Terraform - Create S3 bucket in AWS using Terraform

Terraform is an infrastructure orchestration tool for creating web services in AWS automatically. You can use Terraform for provisioning S3 bucket in AWS.

sudo vi create_s3.tf

resource "aws_s3_bucket" "mybucket" {
  bucket = "my-tf-test-bucket"
  acl    = "public-read"
  website {
    index_document = "hello.html"
   routing_rules = <<EOF
[{
    "Condition": {
        "KeyPrefixEquals": "docs/"
    },
    "Redirect": {
        "ReplaceKeyPrefixWith": "documents/"
    }
}]
EOF
  }

  tags {
    Name        = "My bucket"
    Environment = "Dev"
  }
}

Once you create the above file, execute terraform plan and then terraform apply to create S3 bucket in AWS.

Ansible playbook install Apache Ubuntu - How To Configure Apache Using Ansible on Ubuntu 16.0.4

Please find steps for installing Apache on Ubuntu using Ansible Playbook:

1. Login to Ansible machine. Create SSH keys in Ansible host machine by executing the below command:
ssh-keygen
2. Copy the public keys(id_rsa.pub) from ansible node each node in /home/ubuntu/.ssh/authorized_keys file. Execute the below command on Ansible and copy the content:
 sudo cat ~/.ssh/id_rsa.pub

3. Now login to target node, 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 keys.

4. go back to ansible mgmt node, make sure you are able to ssh from ansible mgmt node after copying the keys above:
ssh private_ip_of_target_node
now type exit to come out of the target node.
5. Now in ansible mgmt node, now make changes in /etc/ansible/hosts file to include the node you will be installing software. Make sure you add public IP address as highlighted below in green color:
   sudo vi /etc/ansible/hosts
[Apache_Group]  
34.216.41.94 ansible_ssh_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa  ansible_python_interpreter=/usr/bin/python3

6. make changes in playbooks as given below,
cd ~/playbooks

sudo vi installApache.xml
Copy the below content

---
- hosts: Apache_Group
  become: true
  tasks:
    - name: Install apcahe
      apt: name=apache2 state=present update_cache=yes

    - name: ensure apache started
      service: name=apache2 state=started enabled=yes


7. now execute the playbook by running the below command:
sudo ansible-playbook installApache.xml
8. This should install Apache on the nodes and should bring the apache up and running.
9. Now enter public ip address or public dns name of target server by in thr browser to see home page of Apache running.

How to Configure GitLab Runner with Docker Executor on Ubuntu 24.04 EC2

How to Configure GitLab Runner with Docker Executor on Ubuntu 24.04 EC2 In this tutorial, we will configure a self-hosted GitLab R...