Search this site
Embedded Files
Debashis Sahu
  • About Me
  • PROJECTS
  • Publications
  • Posters & Talks
  • Professional Documents
    • Certificates & Marksheets
    • Postdoc Experiences
    • PhD Thesis
Debashis Sahu
  • About Me
  • PROJECTS
  • Publications
  • Posters & Talks
  • Professional Documents
    • Certificates & Marksheets
    • Postdoc Experiences
    • PhD Thesis
  • More
    • About Me
    • PROJECTS
    • Publications
    • Posters & Talks
    • Professional Documents
      • Certificates & Marksheets
      • Postdoc Experiences
      • PhD Thesis
  • We will avoid use of Jenkins in this project, here we will use inbuilt aws developer tools 

  • We will test code change in github to deployment of the code on (1) EC2 case (2) Load Balancer case (3) AWS EKS case

1. For EC2 case:

Here I have used a html code to create a calculator application. All the code files in the github repository "ci_cd_repo" is mentioned in the below screenshot:

Next I have created AWS Pipeline to deploy the code in automation. The successful deployment of the code in pipeline is given below with screenshots

The following EC2 instance (t2.micro) is used for this task here. The screenshot of the created EC2 instance is mentioned below:

Testing the calculator code in browser (Public IP address of the EC2 pasted on browser address)

2. For Load Balancer:

Here I have used a html code for calculator application. Autoscaling group named "ASG" is created.

Details of the ASG:

 Desired capacity=1, Minimum capacity =1, Maximum capacity =3

Codedeployment using aws pipeline (named "LoadBalancer") on the above created ASG attached to the LoadBalancer and its Target group

Step by step events of the Pipeline

Tested on Browser by using the dns address of load balancer on the browser url. We have seen here successful deployment of the calculator application (screenshot below)

Alternatively, we can test here the public ip of instance which is created from the autoscaling group

3. For EKS case:

Here I have used a html web application code (not the calculator code used in 1 & 2 cases).  The code files in github repository: "git-repo" are implemented in this task

I first have created an EKS cluster named "mirror333". Mapping the EKS cluster by updating the IAM roles

Now we need to edit the aws-auth configmap. we have performed it by using the following commands:

eksctl create iamidentitymapping --cluster mirror333 --arn arn:aws:iam::771672242837:role/CodeBuildKubectlRole --group system:masters --username CodeBuildKubectlRole

I have created the AWS EKS from the AWS Cloudshell. EKS Cluster details & its status on Terminal is mentioned in below screenshots

The commands used here:

kubectl get nodes # details of nodes

kubectl get pods # details of pods

kubectl get svc # details of services

kubectl get all # details of the nodes/pods/services/deployment/nodeport

Screenshot of the successful deployment of the application and services on EKS using yml code files

Here the pipeline named "for_eks" is created and step by step successful deployment mentioned below screenshot. The code file "index.html" is updated and the pipeline job is started automatically thereafter.

Screenshot of the successful deployment of the pipeline

The Build steps execution details are also mentioned in below screenshot

Updation of the security group port of the created EKS cluster "mirror333" by changing port number in inbound rules of it.

Generated two nodes from the EKS cluster: node1 and node2

Testing the web application code output on browser for kubernetes node 1

Testing the web application code output on browser for kubernetes node 1

Google Sites
Report abuse
Page details
Page updated
Google Sites
Report abuse