0% found this document useful (0 votes)
26 views101 pages

Devops 2025

The document outlines a comprehensive DevOps syllabus covering essential Linux commands, user and group management, file permissions, networking, and commonly used ports in cloud and DevOps environments. It includes specific commands for file manipulation, user management, and networking troubleshooting, as well as a detailed list of ports used by various services in AWS, Kubernetes, and Docker. The syllabus serves as a practical guide for individuals looking to enhance their skills in DevOps practices.

Uploaded by

abhishekkute9
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views101 pages

Devops 2025

The document outlines a comprehensive DevOps syllabus covering essential Linux commands, user and group management, file permissions, networking, and commonly used ports in cloud and DevOps environments. It includes specific commands for file manipulation, user management, and networking troubleshooting, as well as a detailed list of ports used by various services in AWS, Kubernetes, and Docker. The syllabus serves as a practical guide for individuals looking to enhance their skills in DevOps practices.

Uploaded by

abhishekkute9
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

02-06-2025

Devops Syllabus

Linux Command
Sudo -i Change in root user
Whoami Show user name
Hostname Show host name
pwd Present working directory
Cat /etc/os-release Os working information
Uname -a Show Kernal information
Cd (dir Name) Change folder
Cd .. Come back
Touch (file name) Create file
ls Show list
mkdir Create dir
rmdir Remove dir
Cat Read file ,folder
Cat > (file name) Insert data in file
Rm -rvf (file name) Remove file
Cltr d Save file
Cat >> (file name) Add More Content in file
/filename Go to main folder
Cp file name Copy file
Cp -r /home/filename To source destination
Mv (filename) To move file,rename a folder
Mv * /home/ubuntu To all move file,rename a folder
MV filename1 filename2 Rename a folder
Man (cmd name) More info about command
Nano (file name) Add information in file
Hostname (name) To Change Host name
Bash Refresh shell
Hostnamectl set- To permeant change host name
hostname( name)
Init 6 To reboot linux
Vim (file name) For Create file
W Use for save file
Q Quit from file

i Press insert data in vim file

esc Exit from any mode in vim

wq Save and exit data in vim file

:q Forcefully exit from vim file

:q! Forcefully exit from vim file

:set nu Assign number to file

:set nonu Remove numbers


Vim editor commands (10/06/25)
Esc gg Cursor Go top of the vim file
Esc G Cursor Go down of the vim file
yy Copy line vim file
p Paste vim file
Num yy Copy multiple line vim file
yw Copy single word vim file
cc Cut line in vim file
dd Single line delete
u Undo change
/(word) Highlight word in vim file
:s /(word) / word Replace word in vim file
v Select full line at time in vim file
Shift+v (press small v) Select all block
Shift+v (press cap v) Select single word
Esc gg Cursor top vim file
H Top of the line
L Down of the line

User and Group Management (12/06/25)

/etc/paswd -user details


/etc/shadow- user passwd file

cat /etc/passwd Information about system


Adduser name Create new user
userdel -r username Delete the user
ls -a Check hidden file in user folder
Su - username Change in user mode
groupadd Create a group for users
Cat /etc/group Information about groups
gpasswd -a uname gname Add user into the group
Passwd (username) Create password for useradd command
Head /etc/filename Show First ten line of file
Head filename Head cmd shows head cmd
Tail filename Tail
Tail -7 filename
Tail -7 filename | tail -1 Shows particular line
Tail /etc/filename Show last ten line of file
Tail -5 /etc/filename Show random number of file
ls -i Check for ioniode count
Chage -l (username) Show password information
Chage -m (days username) Show minimum number of days password change
Chage -M (days username) Show maximum number of days password change
Chage -I (days username) Password chage in these days account change
Chage -E (“date” filename) To change expiry date of user
Chage -W(no days)(user To change warning days
name)
Usermod -u (id) (uname) Modified existing user id
Usermod -s /sbin/nologin Modified user shell
uname
gpasswd -M uname, gname Add multiple user at a time
gpasswd -d uname, gname Remove users from the group
Groupdel -f grpname Delete group
gpasswd -A (username Set group admin for group
groupname)
gpasswd -A ‘’( groupname) Remove admin from group

Usermod -L (username) Block user from group


Usermod -U (username) Unblock user from group
Userdel -r (username) Delete user
gpasswd -M (username), Add multiple user to the user
groupname
usermod -aG groupname Add a User to a Group
username
example:
usermod -aG avengers
natasha
gpasswd -a username Add a User to a Group
groupname
example:
gpasswd -a steve avengers
Tail -4 /etc/shadow Passwd storage in encrypted

File Permissions (16/06/25)

Root Local
Default Max
File 644 666v 664

Dir 755 777 775


Umask = max-min
Umask=022
Umask= to change the default permission for the file and dir

ls -l Check file permissions


ll check hidden file permission
ll (filename) Check permissions for perticular file
Cltr + c Exit from any file
Chmod o+w (filename) Give permission to other user to edit file
Chmod o-w (filename) Remove edit permission from user
:q! Exit from vim file
Chmod go+w (filename) Give permissions to the user by group
Chmod ugo-w (filename) Remove permissions by group
Chmod u=rw (filename) Add user permission read and write
ls -li Shows ioniode count with full data
r 4
w 2
e 1
e.g Chmod 666 (filename) Chmod 000 (filename)
Chmod (filename ) Chmod 644 (filename)
Chown (username) Changing owner user to another user
(filename)
Chgrp (group name) Changing group to another group
(filename)
ln (filename) filename Hardlink backup Link count
Ln – s (filename) filename Softlink Shortcut [dir-2 file-1]
du -sh (filename) Check size for file
ls – i (filename) Ionode count of file
Umask Default file permissions
Setfacl -m u:(username):rw To add permissions to specific user
(filename)
Setfacl -m g:(groupname):rw Add group to file
(filename)
Getfacl filename To get the details about permssions
Ctrl+x Exit from the nano file
Setfacl -x u:(username):rw To remove permissions
(filename)
Tar -cvf [Link] /etc Create the file to store etc data
Tar -xvf filename .tar -C To extract the data into the folder
/drive
Tar –cvzf [Link] To compress the file
/etc
Tar -xvzf [Link] - To extract the file into the folder cd
C /filename
tar -cvzf To extract the file
[Link] /etc
rm filename Remove the files
Chmod +x filename Execute the file
zip [Link] file1 file2 file3
Zip -r [Link] filename2 To zip file
Unzip [Link] -d /filesloc Saving the files in the folder
zip -u [Link] [Link] Update the file
Unzip [Link] Unzip the files
unzip -l [Link] View Contents of a Zip File
zip -e [Link] [Link] Create paaswd for the file
zip -s 100m [Link] Spilts bigfile into smaller parts
largefolder/ -r
Sudo apt install filename -y Install zip environment
Cat /etc/crontab To see schedule format JOB
APT Advance package tool
Crontab -e Input the date and time
Crontab guru Website name
Date Check the current date and time
Crontab -l To check schedule list
Top Shows running process
htop
Uptime Load average
cal Shows calander
W Load average
Ps Process information
Ps -l Process information
Ps -ef Process information
Ps -aux Process information
Man cmd name Tell us the information about cmd
Sleep minute freeze
Sleep 30 & Freeze at background using &
Jobs -l Shows job by created user
Ctrl z Stop the sleep mode
Df -hT Storage with type
lsblk -f Partition with file system
Fg % job number Shows task foreground
Cat /etc/passwd | grep Shows particular user /find
username
Cat /etc/passwd | grep You can find particular user
“username”
Locate Find the details
grep [options] 'pattern'
filename Shows word in that file
grep -i "linux" [Link] Find incase sensitive command word
grep -w "cat" [Link] Find whole word
grep -n "error" [Link] Shows line number
grep -r "keyword" Find recursively in directory
/path/to/dir
grep -c "fail" [Link] Count match
Find /etc -type f Find the particular files if we want another change that particular
folder name
Find /etc -size 10M Find by sizes k,M,G
find /path -perm 644 Find perm
Ctrl l clear
Sort [Link] |uniq Sorting the file
Sort -n [Link] arrange Ascending order
Sort -nr [Link] Arrange in descending order
Apt update Update the apt
Nice -n (num) sleep (time Set task priority
sec)
Nice Range -20 to +19 -20 = Higher Priority , +19 = Lower Priority not a command this is task
priority
Renice -n (num) (num) Changes into the priority
Kill -9 (PiD num) 399 Kill the task
Kill -l Kill information for tasks
history All cmd executed in the ec2
Wget link Link for the web address to install

Redhat (amazon linux) ubuntu

Package manager Package manager


-old =RPM dpkg
-New=Yum APT

Networking (24/06/2025)f

Ping [Link] Troubleshooting


Getmac Mac address
Ipconfig Check private address
Ifconfig For linux
Tracert websitename Trace the path
Ping Checks the troubleshooting
websitename/address
[Link]
Sudo apt install
network-manager
Nmtui Open network package manager
Curl [Link] Checks the public
Ssh-keygen Creating the key
Sed -I Change the data without vim cmd
ALL PORT NUMBER WORKS UNDER IN THE TCP

0 – 65535

TCP VS UDP

Port Number=
Windows RDP = 3389
Http= 80
Tomcat =8080
Jenkins =8080
Nfs =2049
Mysql=3306
Https= 443
Ssh=22

Streameditor
Awk cmd for linux
SED

Here’s a complete list of commonly used ports in Cloud & DevOps —


covering AWS, Kubernetes, Docker, Jenkins, Git, Terraform,
CI/CD, monitoring, and networking — so you can easily open the
right ones in your firewalls or security groups.

Cloud (AWS / Azure / GCP) Common Ports


Service Port Protocol Description
Secure shell for Linux server
SSH 22 TCP
access
Remote Desktop for Windows
RDP 3389 TCP
instances
HTTP 80 TCP Web traffic (unencrypted)
HTTPS 443 TCP Secure web traffic
Service Port Protocol Description
DNS 53 TCP/UDP Domain name resolution
NTP 123 UDP Network time protocol
25, 465,
SMTP TCP Email sending
587
IMAP / IMAPS 143 / 993 TCP Email receiving
POP3 / POP3S 110 / 995 TCP Email retrieval
S3 443 TCP AWS S3 API access
EC2 Metadata 80 / 443 TCP AWS instance metadata
RDS MySQL 3306 TCP AWS database (MySQL)
RDS PostgreSQL 5432 TCP PostgreSQL
RDS MSSQL 1433 TCP SQL Server
Redis (ElastiCache) 6379 TCP In-memory database
MongoDB 27017 TCP Document DB
Sends metrics/logs to AWS
CloudWatch Agent 443 TCP
CloudWatch

⚙️DevOps Tools & CI/CD


Tool Port Protocol Description
Jenkins 8080 TCP Jenkins web UI
GitHub / GitLab 22, 443 TCP Git SSH/HTTPS cloning
2375 (insecure) /
Docker Daemon 2376 TCP Docker remote API
(secure)
Code quality
SonarQube 9000 TCP
dashboard
Nexus / Artifactory 8081 / 8082 TCP Artifact repositories
Prometheus 9090 TCP Monitoring
Visualization
Grafana 3000 TCP
dashboard
ELK Stack
9200 TCP Elasticsearch API
(Elasticsearch)
Logstash 5044 TCP Log ingestion
Kibana 5601 TCP Log visualization
Ansible Tower / AWX 80 / 443 TCP Web console
Terraform Cloud / CLI 443 TCP API communication

🐳 Docker & Kubernetes


Service Port Protocol Description
Docker remote
Docker Engine API 2375 / 2376 TCP
management
Private Docker image
Docker Registry 5000 TCP
registry
Kube API Server 6443 TCP Kubernetes cluster API
Kubelet agent
Kubelet 10250 TCP
communication
Kube-scheduler 10251 TCP Scheduling component
Kube-controller-
10252 TCP Controller manager
manager
Kubernetes key-value
ETCD 2379–2380 TCP
store
NodePort Range 30000-32767 TCP Exposes services externally
Metrics-server 4443 TCP Cluster metrics
CoreDNS 53 TCP/UDP Kubernetes DNS service
Ingress Controller 80 / 443 TCP Expose HTTP/HTTPS apps

🧰 Monitoring & Logging


Service Port Protocol Description
Prometheus 9090 TCP Metrics collection
Node Exporter 9100 TCP Linux system metrics
cAdvisor 8080 TCP Container metrics
Alertmanager 9093 TCP Prometheus alerting
Grafana 3000 TCP Dashboard
Fluentd / Fluent Bit 24224 / 2020 TCP Log forwarding

🌐 Networking / Security / Misc


Service Port Protocol Description
OpenVPN 1194 UDP VPN connection
WireGuard 51820 UDP VPN tunnel
HAProxy 8080 / 8443 TCP Load balancer
NGINX 80 / 443 TCP Web proxy or reverse proxy
Apache 80 / 443 TCP Web server
Consul 8500 / 8600 TCP/UDP Service discovery
Vault 8200 TCP Secrets management

🧾 Summary Quick Reference


Category Key Ports
Web 80, 443
SSH / Remote 22, 3389
Database 3306, 5432, 1433, 6379
CI/CD 8080 (Jenkins), 9000 (SonarQube)
Monitoring 9090 (Prometheus), 3000 (Grafana)
Kubernetes 6443, 10250, 30000–32767
Docker 2375–2376, 5000
VPN / Proxy 1194, 51820, 8080

VPC

Public
A 1-126
127 – reserved for loopback address for itself checks the system
B 128-191
C 192- 223

Private I.p range

A= [Link] [Link]
B= [Link] – [Link]

C= [Link] – [Link]

If internet is not working in the linux

We can check in the file

Vim /etc/[Link]

Nmtui cmd use to open network package managar graphically


AWS
Amazon Linux
Elastic compute cloud Ec2

 SSH Client task


Remote access for local machine

Launch ec2 instance


Go to connect
And go to ssh client
Copy path link
And go to command line windows cmd
Go to the cd downloads
Must be present your ssh key
Copy example cmd as shown in that UI
Paste the link
Type yes for ubuntu server
It will attach

2) Host a website on nginx server and httpd server


Go to the repo
Clone repo

And add that website folder


Mv * /var/www/html/
And add sec group 80 http
And go to the web browser
Add instance public ip

Public ip = dynamic we can make static by using elastic ip


Private ip = static
 EBS =filesystem

Launch one instance attach ebs


Go to the volume need to be in the A-Z both ec2 and volume
Attach volume to the ec2
Sudo -i
10 gbi
Lsblk cmd
[Link] /dev/xvdb
Sudo mount /dev/xvdb /mnt

Vim /etc/fstab

Partition;
Fstab
Fdisk /dev/sda (disk id)
M for help
N for new partition
W save
Partprobe

[Link] /dev/sda1

Umount /dev/diskname

Mount /dev/sda1 /mnt

 VPC

Go to the vpc
Create the vpc only
Give name to the vpc
Network range of ip public
[Link] / cidr block no 16 e.g.
Add subnet
Name
Give them range to ip
Divide them into the block
[Link]/22
Add accurate A-z availability zone

 VPC create

Vpc give ip cidr


[Link]/16

No 1pv6 block
Create & go to the subnet
Select the vpc name
Give subnet name
Select A-Z
Go to action auto assign-ip
Enable
Add ipv4
[Link]/22

Private
Same process
Just select [Link]/22

Create the int- gateway


Select vpc
Create int
Attach to vpc

Create route table


Give name
Select vpc

Subnet associations
Select subnet only one
And save

Route edit
Add route
Select int- gtway
Select [Link]/0

Launch ec2
Network setting
While creating Nat Gateway always select public subnet

Private vpc – ec2 instance

Vpc-2 10.0.0/16

 Peering connection -for vpc connection

Accepter -vpc-2
Requester -vpc-1

Icmp protocol= Ipv4 for peering conncetion in sec group

And add in the route table

Edit route add peering connection

Switch both vpc ip’s add another In that peering connection

 Load Balancer

Create the two instance

Add Httpd commands

In Shebang line #!/bin/bash

And git –clone repo url

Go to clone url folder

Enter cmd
Mv * var/www/html/

Enter public ip on url

To launch website

Create also target group

Add name

Add sec group http 80

Add instance all in the pending below section


Add pending below

Review target

And create the target group

Create the load balancer

Create the application LB

Give name

Select A-Z zone & Subnets All

Security Group existing add in the LB

Listeners and Routing

Add target Group

Select

And

Create the Load Balancer


Copy DNS link

Paste the link on the web browser if not showing


Check sec group Http 80

ARN = Amazon Resource Number every service and resource after


creating they will get the id (unique id)

 Application load balancer

Listeners and Route


Click 1 rule

Add rule
Condition

One for

/mobile/ *

And another

/laptop/ *

Forward to Target Group

Add LB

Both

/mobile & Laptop

Add Priority (1)Number

 Route Path based LB


Create the 3 instance

HOME LAPTOP MOBILE

Add Sec Group


Add shebang line

Create the 3 Target group

Add home for 1 target g

Add laptop for 2 target g

Add mobile for 3 target g

Create the load balancer

Add load balancer create and add main home page Target

And all a-z

Add click http 80

Add rule

Add path

/mobile /*

/laptop /*

And also

Add both

Target mobile /laptop

Target add priority (1)

After that create the service

Copy DNS Link

And paste on URl


Use path of the folder

Instance ip/folder name

 Auto Scaling

Vertical Scaling = Stroage Increases and capacity

Horizontal Scaling = Instances increases

First create ec2 template

Then launch the template

Create A-S

Add add name


Select temp ec2

Add all -AZ

Add Desired Capacity

Min
1
Max
2
Option select

Target Tracking Scaling Policy

Metric type
Average

Cpu capacity =10

Warmup =300 seconds


Run cmd in the ec2
Yum install stress -y

 EFS= Elastic File system

Create the two instance


We need efs and instance in the same region

Add ESF- sec group for firewall


NFS 2049 on both instance
And run cmd
Sudo yum install amazon-efs-utils -y
Create on both instance Mkdir efs
Give permission chmod 777 efs
Go to the EFS service
Create the file system
Give name
And create one thing is mandatory is they have
both ec2 and efs on same region
Go efs network
And manage add our sec group delete another one
Go to the efs copy mount via dns cmd
Paste In the instance
Fdisk / partition name
Same steps as above ebs

Yum install httpd -y Installing the web environment


Systemctl start httpd Start
Systemctl enable httpd
Systemctl stop httpd
Systemctl status httpd
Cd /var/www/html File location
Public ip address On chrome of aws instance
search

Ubuntu linux

Apt install apache2 -y Install the environment


Systemctl start
apachye2
Systemctl enable
apachye2
Systemctl stop
apachye2
Cd /var/www/html
Cd
/usr/share/nginx/html
Same ip address Public ip for aws instance
SSh -I [Link] For cmd prompt
@ip address
Apt update nginx
Sudo apt install nginx Server hosting
Systemctl start nginx Start
Systemctl enable nginx
Df -ht File system name and storage
Systemctl stop nginx
Yum install git -y
#!/bin/bash Sheban line
Apt update -y
[Link] format
/dev/volumename
Mount
/dev/filename
/foldername
lsblk Storage attached drives
Umount
/dev/filetypename
Vim /etc/fstab Permanantly mount
Mount -a To add
Esc+:!cmd Vim to run cmd
Sudo gdisk /dev/xvdd Partition
Lsblk -f Find uuid for nano file
Fdisk /dev/xvdb partition
Press n For new partiton
Press m in gdisk or For help
fdisk
partprobe Update the changes for partition

/dev /filetypename /foldername filetype default 0 2

/dev/filetypename /drive ext4 defaults 02

EFS

sudo yum install amazon-efs-utils -y

VPC

scp -i id_ Copy form pc to linux


aws configure Login in the aws
Create the access key from Amzon cli token and use same region
the credentials from tab
account id right side
aws --version To see the access
aws iam list -users users
aws ec2 describe-instance Instance information
aws s3 ls list
aws s3 mb Create bucket
s3://nameofbucket
aws s3 cp filename Copy file into the bucket
s3://bucketname
aws s3 rm Remove the file
s3://bucketname/filename
aws s3 rb s3://bucketname Remove the bucket
Aws configure - -profile Create the profile user in credentials
“aws-user”
Vim .aws/credentials To see password

Scp -i id_rsa_key.pem id_rsa.[Link] ec2-user@(ip)address syantx


/home/ec-2user

 Simple storage service

Create bucket for static website hosting


Give name
Object owner ship -acl enable
Untik block public access
Create bucket
Upload
Add the folder
Go to the properties
add static website option-enable
select all the uploaded files and then go action tab on
the right side tab is there
make public using acl option tick

S3= SSR, CCR

IAM User

Type of access
.aws mdhe login creddiatnels asta user che
[Link] Access [Link]
access

-acc id
-uname
-password

RDS-
Create database
Select standard
Engine select maria db
Template free tier
Credientials
Master admin
Self managed
Create password
Connectivity to an ec2
Add instance
Create one security grourp
Ssh 22 ipv4
Vpc
Add security group
Add mysql aurora 3306 In inbound rule
TCP 8080 custom add number only
Add http 80
And launch the Rds
CMD
sudo yum install mariadb105-server -y
systemctl start mariadb
systemctl enable mariadb
sudo mysql -h endpoint link -u admin -ppasswd123(pwd)
create database databasename;
show database;
use dbname;
paste the db script
show tables
desc students – shows the structure
select * from students
exit
bye
wget link for tomcat server
extract in the -C /opt
cd /opt/
ls
cd /tomcat
ls
cd /webapps
sudo yum install java -y
paste curl from [Link] repository
cd lib
paste curl ..mysql conncetor .jar
cd conf
ls
vim [Link]
edit the script
cd bin
ls
chmod +x [Link]
./[Link] start

Application server based


Webbased server based

Studentapp 3tier aws


Aws-rds-project

Copy the endpoint link and paste into the ec2


instance

Route 53-
DNS
Hosted zone
Create record
Record type
First 1-4 type we use from dropdown list
Go to ec2 instance
Launch ec2
Yum install git -y
Git clone staticwebsite url into instance
Go to route 53
Click on hosted zone name
Create record select A type
Copy the NS record route value to domain
servername into the domain website
Create record A type and paste the instance id of
public in that record box value
Done
Check dnschecker our website by our name

Recorder
A > ipv4
AAAA > ipv6

Cloudfront -
Latency delay in the network
CDN-content delivery network (edge location)
---Distribution
Name
Type single website
origin type
amazon s3
browse
select the bucket name s3
use website endpoint option
use default settings recommended settings
next
Firewall
Do not enable protection
Create distribution
Copy distribution domain name

S3 bucket policy –

Edit bucket policy in s3


General purpose bucket
Get statement search the service
Add the policy from s3 bucket in the
Project Studentapp updated in ubuntu
Create instance

Create security group


Create database
Install database in instance
Sudo apt install mysql
Create tables
Exit
Clone repository
Git clone
Go to backend folder
Go to cd src, cd main, cd resources
Open file in the [Link]
Add database in url in the file passwd username
Go to backend folder again
Install java from git cmd backend
Install maven
Cd Backend ls
Vim [Link]
Cmd -Mvn clean package-if mvn is failed try this
cmd (mvn clean package -DskipTests)
Cd target
Package file present in the folder
Cd frontend folder
Cd src,cd api, open file [Link]
Change ip address in second file
Backend
Npm install
Npm start
Npm run build
Install apache-2
And start the server
And install java -jar file in the backend file for from
repo
Then only can save the data in that page
running the database
And run the ec2 ip into the chrome

Lambda- serverless computing cloud


Function-
Select from scratch
Create function
Fn name
Execution role
Use an existing role
Toolbar
Test
Test event
Edit saved event
private
Value 1 change to hello world
And then go to code
Then deploy
Create instance
Create new function
Author from scratch
Python run time
Create role in iam
Permission
Ec2 full access
Lamda full access
Lambda basic execution role
Create function
Paste stop ec2 code form github into the code
Change instance ip-id into the code
Create event
Create new test
Private
Change in the code stop
Save
Add template
Code
Again do for the same start ec2
Whole step

Autoscaling with cloudwatch-

Create the ec2 instance


Create the Ami template
Launch template
Create autoscaling group
Select launch template
Select default vpc or own by choice
Select all subnets
Next as it is
Select desired capacity
min1-max3

go to cloudwatch-

select alarms
select matric
select the per instance metric
add instance id when selecting
cpu utililization

select autoscaling group name


conditions
greater/equal
threshold value 15

go to the automatic scaling


create dynamic policy
policy type
simple scaling
policy name
cl watch alarm
take the action
add 1 capacity units
create
there are many options create sns lambda
and other we can create directly

Jenkins- gitaction gitlab cli,etc


Git – version control system
Developer-linus Torvalds linux also made by him
Gitlab,bitbucket,github
Que.1 (cvcs vs dvcs)
Install git on instance
Yum install git -y
To activate
Git –version
Git clone url of the repo
Cmd
Create file by linux cmd
Git add filename -staging area
Git status to check files
Git commit -m “this is my first commit”
Git config --global [Link] “Rahul”
Git config --global [Link] “Rahul@[Link]”
Git config --global --list
Git log -to see the commit changes
Token generate
Cleck on profile icon on github
Settings
Website
Developer settings
Personal access token
Token(classic)
Generate new token(classic)
Select validity
Select all tickboxes
Generate token
Git push

Cmd To generate the key


Copy ssh path to clone
Ssh-keygen
Press enter
And copy the cmd from linux from .ssh ls-a
And go to the github and add the public key in the
Ssh and gpg key new key add and paste the key

Ctrl+shift+c=copy
Ctrl+shift+v=paste

Git restore --staged filename


To remove file from staging area

Git add. =add multiple files


Git bash cmd
Code .
Git branch
Git branch filename
Git checkout filename=switching the branch
Git push origin branchname
Git log --oneline
Git merge branchname
Git checkout -b release
Branching strategy
Git cherry-pick commit id
Git revert commit id
Git remote -v
Git remote remove origin
Git remote add origin=add url of github
Git pull origin branchname
Git fetch origin main

 Main
 Hotfix
 Release
 Develop
 Feature
 Dev1
 Dev2
Diff between git merge and git rebase
Diff between git revert and git reset
L4 and l7 load balancer

Docker-

Docker Architecture

Dev team-
Write code
Install librarires

Test-
-test functionality

Operations
-setup infrastructure
-install dependencies
-deploy app
-containerization platform
-deploy app

Docker file

Docker file -set of instructions


Image – set of code dependencies, binaries

Docker –version
Sudo yum install docker -y
Sudo systemctl start
docker
Sudo systemctl enable
docker
Docker ps Shows running
container
Sudo chmod 777 To solve the docker
/var/run/[Link] issue
Docker run -itd –name cc Run container with
-P random port number
abhipraydh96/supermari use capital P
o
Sudo usermod -aG Add ec2 user into the
docker ec2-user docker group
Newgrp docker
Ps -aux | grep docker
Ps -aux | grep containerd
docker images
Docker pull nginx Install nginx latest
image
Docker images
Docker hub website
Docker run -itd -p 80:80 Run docker image
nginx container
Docker inspect container Find ip address of
id no/name container
abhipraydh96 Docker hub
Docker stop container id
Docker start containder id To start the container
/ name
Docker kill container id
Docker run -itd –name Ubuntu os
linux-cont ubuntu
Docker exec -it container Login other os in the
id or name /bin/bash container
Docker logs container id
Docker ps -a Shows off container
Docker tag nginx
abhipraydh96/engininx
Docker push pathname Push to repo
Docker login -u username Login in the docker
hub
Sudo apt install [Link]
-y
Docker rm container id Remove container
Docker rmi -f imagename Remove image
Docker stop $(docker ps - Stop multiple
aq) container
Docker rm $)docker ps - Remove multiple
qa) container
Docker rm -f $(docker
images)
Docker volume ls
Docker volume create
name
Docker volume –help
Docker run -itd –name
cont-1 –mount
source=vol-1,target=/fold
er name image name
Docker run -itd –name –
network
Docker build -t -f
Docker load -I Extract the image
[Link]
Docker network create
name
Docker network ls
apt install -y itputils-ping
Docker volume ls
Docker save -o Archieve the name
[Link]
Docker tag amzn Without tag we can
abhipraydh96/amzn not push

When many container is running we need to check


the that website we need to edit inbound rule by
ip we gave or all traffic set group rule

Vm Container
Full os we host machine kernal
Hypervisor Docker daemon
Heavy Lightweight (MB)
Monolithic vs microservices

Docker Volume task


Docker volume ls
Docker volume create ebs
Docker volume ls
Docker volume inspect ebs
Docker ps
Docker pull ubuntu
Docker images
Docker run -itd –name c1 mount
source=ebs,target=/device ubuntu
Docker exec -it c1 /bin/bash
Cd device
Touch file(1..5).txt
Do same for c2 container
Docker rm -f container name
Docker run -itd –name cont1 -v ssd:/drive ubuntu

Docker Network Types


Bridge(default)
None (Private)
Host
Overlay
Macvlan
Docker Networking
Docker network create networkname
Docker run -itd –name c1 –network vnet ubuntu
Docker run -itd –name c2 –network vnet ubuntu
Docker exec -it cname bin/bash
Docker inspect
Sudo apt install itputils-ping -y

Docker file

Vim dockerfile
Also create the [Link] file
FROM amazonlinux
RUN yum update -y
RUN yum install httpd -y
COPY [Link] /var/www/html/
CMD [“httpd”, “-D” , “FOREGROUND”]
-D : Default dir

Docker build -T image-one .

Docker build -T image- Image build


one .
Docker run -itd –name Create container and
c2 -p 81:80 image name run
Docker build -t Build the file
(filename) -f
imagename .
Docker login -u Login in the docker hub
username in ec2
Docker push repo

FROM amazonlinux
RUN yum update
RUN yum install nginx-y
CMD
CMD [“nginx” ,”-G”,”daemon off”
-g : global access

FROM ubuntu
RUN apt update -y
RUN apt install nginx -y
COPY yoga /var/www/html
CMD [“nginx” ,”-g”,”deamon off”]

Docker tag img image name

Docker 3 tier applications

Git clone repository 3 tier docker


Cd Directory
Cd Database
Build image
Run the container
Inspect the container copy the I.P address
CD backend../
Vim [Link]
Update ip of docker in the file
Vim dockerfile
Docker build -t backend .
Check images
Docker run -itd –name tomcat -p 8080:8080
backend
Cd frontend
Replace instance ip
Vim [Link]
Edit index file
Add ip of instance in that file
And search on url

Student app updated cloudblitz-

Launch instance
Set security group
Create rds database
Install database
From repo
If we want to change modify the database
Set up ec2 connection
Add database cmd mysql
Exit
Git clone repo cd
Go to backend
Cd src/main/resources
Vim [Link]
Change endpoint of database admin passwd
And also vim dockerfile -Backend
Change the endpoint in that file also
And build the dockerfile
Docker run -itd –name back-app -e
DB_PASSWORD=(password) -p 8080:8080 backend
Go to vim dockerfile
Change the endpoint
Also go to frontend
And also change the
Cd src/api/[Link]
Add instance ip in that file
And also vim dockerfile -Frontend
And add ip in that dockerfile also
If we have to change add new file in the dockerfile
And using chatgpt
We need correct the error
Rewrite the file from chatgpt
Add run/build dir dist with the help of chatgpt
Then also change the new file
And build the dockerfile
and run the cmd

Docker compose =
Docker swarm =

ENTRYPOINT and CMD diff


COPY and DIFF docker file
Entrypoint It cannot override

1. ENTRYPOINT
 Defines the main command that will always

run in the container.


 It is not overridden by command-line

arguments easily.
 Used for a fixed executable.

2. CMD
 Provides default arguments to the

ENTRYPOINT or defines the command if no


ENTRYPOINT is given.
 It can be overridden when you run the

container.
Kubernetes =(K8s)

Control plane = Master node


Data plane= Worker node

Node= Instance, server


 Cluster= Group of nodes
 Pods= Small Packaged containers, units
 Container runtime= container docker for run
and build purpose
 Kube-proxy= communication between pods
assign i.p’s and networking
 Kubelet-manage and observe works as agent
and give data to master node
 Api Server = communicate with all worker
node handle all the work
 Scheduler = create pods on worker node
 Controller manager = control all the activity
actual and desired requirement checks all the
activity
 ETCD Cluster= database saves data in value
and key pair

On premises -
Minikube(single node K8s cluster)
Kube-adm(Multi noded k8s cluster)

Kind Cluster (works on docker cont)


Killerkoda(k8s cluster for practice)
LABEX website for free services all the Devops

Kubernetes Command
Kubectl get nodes Show nodes
Kubectl get pods -o wide Detail
Information
Kubectl get pod Shows packaged
container
Kubectl run pod-1 –image nginx Create the pods
Kubectl run pod(name) --image
image name
Kubectl describe pod podname Information
about pod
Kubectl get svc Get ip
Kubectl exec -it podname – curl Access the data
clusterip
Kubectl expose pod podname – Create the
port=80 –target-port=80 – services
type=ClusterIP Login to the
cluster and
access into
node
Vim [Link]
Kubectl apply -f Code run
[Link](filename)
Kubectl exec -it podname – Login to the
bash
Kubectl delete svc pod name Delete the
service
Kubectl deploy –o wide
Kubectl get deploy podname
Kubectl set image deploy Update the new
/(deploymentname) cont- version also
1=abhipraydh96/studentapp:v image for rolling
2 update
Kubectl rollout history Get history of
deploy/name rollout
Kubectl set image deploy Save record for
/(deploymentname) cont- the updating v2
1=abhipraydh96/studentapp:v version of web
2 –record=true
Kubectl rollout undo Rollback to the
deploy/(name) previous state
of application
Kubectl describe deploy Get information
deployname

Kubectl get ns
Kubectl get sts
Kubectl get
Kubectl create ns prod(name)
Kubectl run nginx-pod –image- Run and create
nginx -n prod
Kubectl config set-context – Change the
current –namespace=prod pods ns
Kubectl get pods -n
prod(namespace name)
Kubectl config view –minify I
grep namespace
Kubectl config set-context – Back to the
current –namespace=default b default
namespace
Kubectl delete ns (namespace Delete the
name) namespace

Kubernetes
Crete the access key from the account id tab
Go to CDEC Devops repo
And go to Kubernetes folder
Install all the cmd

POD
POD

Services Kubernetes
[Link]= access app inside the cluster
[Link] Port = access app outside the cluster
external access
[Link] = balanced the load External access
Node port range
30000- 32767

EKS Cluster setup


Launch instance
Download eks in aws use throw git repo
Install kubectl using git repo
Install aws cli
Install aws configure
Paste accesskey
Paste secret key
Enter region

Task- create the Kubernetes cluster by GUI


And also create the Kubeadm for the cluster

Create the minikube in the kubernetes


Go to the repo cdec DEVops
Install minikube commands
We can access intra pod communication between
them by switching alternate the ip address of the
pod service I.P.

Created the RC and RS =auto healing


ReplicationController=equality based selector
ReplicaSet=equality based
Set based- in, not in, exist

Blue green deployment


Create the docker file

And also go to the minikube cluster


And install docker
Build the docker file for blue and grren separately
And push to the docker hub
Then go to the Kubernetes create the
Deploy yaml file for blue=v1
And Deploy yaml file for green=v2
And also create the svc file yaml
And also change the selector match label name for
blue and green for deploy in the [Link] file
And also create rolling update cmd run

Stateful set – for database


Create the pod one by one not in a same time like
rs and rc

Daemonset -for monitoring use


Kubernetes Volume
Gi=GB
Secretes= Save and hide data
Config map= Saves general data
Ingress=

Kubectl get pv Show


volumes
Kubectl get pvc Show claim
volumes
Echo “passwd123$” | base64 Create
encrypted
key
Kubernetes HPA Module minikube
Enable metrics server: minikube
addons enable metrics-server
Create deployment: vim [Link]
Create yaml file: paste cp code from
repo
Apply file : kubectl apply -f hpa-
[Link]
Create hpa file paste code from
repository

K8s student app project

Create the ec2 instance


Install the eks cluster
And also will create the 2 nodes ec2
And create the database RDS and
connect with one node that rds
Also select all traffic rules in sec group
Also open that node instance with
system manager
And also install maraidb105-server in
that node instance
Create database with cmd
And also clone the repo
Studentapp k8s repo name
And also go to the backend
Folder and edit vim [Link]
And update with rds admin password
and endpoint
And also build docker file
And push to the docker hub
And also edit [Link] file
Also edit the service file
With docker pushed image name
And do kubectl apply -f .
And do get svc
Copy loadbalancer link and paste in the
url
And also the go to the Frontend
Folder and edit vim [Link]
Paste the url link in the [Link]
And also build docker file
And push to the docker hub
Also edit the service file
And also, the edit [Link] file
With docker pushed image name
And do kubectl apply -f .
And do the kubectl get svc
Copy the loadbalancer link in the url

AWS Services

EC2
Load balancer
Target Group
Auto Scaling
VPC
S3
EBS
IAM
EFS
RDS
Lambda
Cloudfront
Route53
SNS
SQS
CLoudwatch
EKS
Cloudformation
Aws Fargate
ECS
ECR
Cloudtrail
Aws Config
Aws x-ray
Aws secret manager
CodeBuild
Code Commit (github like Service)
Code Deploy
Code Pipeline
AWS system manager

 Terraform
Go to the github create the
codespace and also create the aws
credientls secret key and go to the
Official terraform installation
ubuntu
Also paste all the command
And install vs code hashicorp
terraform
After that set aws cli profile
With
aws configure –profile “username”
then do all the cmd and create the
tf file

also you can create the aws cli


access by creating the tf file in vs
code syntax you will get the official
tf documentation

Terraform init Install


package in
terraform
Terraform validate Check code
valid or not
Terraform plan Provide
apply details
Terraform apply Terraform
apply the
code
Terraform destroy Destroy the
all thing
Terraform apply - To skip all
auto-approve steps
Cat .aws/credientls Login go to
home cd
and pwd
alias Rename the
username=terraform terraform
name cmd
name
Terraform
workspace show
Terraform
workspace new prod
Terraform
workspace show
Taint
aws_instance.web
Aws configure -- Create the
profile ”[Link]” cli user
Terraform
workspace select
dev

Terraform install on ubuntu


Terraform aws group,
Users, group membership,
Aws cli installation on ubuntu
Aws documentation on terraform
official website for the vpc ec2 and
other services

Terraform three type of file


E.g [Link]
[Link]
[Link]
How to make module
Create the file terraform in that fiel
module in that file create ec2 in
that file create the file .tf file of ec2
services

Module = ls
Mkdir modules
Cd mkdir
Mkdir vpc
Cd vpc
Touch [Link] vpc-
[Link] and [Link] create this
files
Same for ec2 also
And create outside this modules
folder [Link]
We have to save all file under
module folder
And after that create [Link] on
home page and add the reference
and call in that file
[Link]=add all the requirement
And then create the
for string file= and list to hold that
value
.tfvar file= to add the value of all
[Link] file in that

[Link] = the file contains


all the history of the file which we
have done in that other files
We store this at s3 bucket

Questions-rajat
Terraform blocks -9 types
Access key and secret key diff
Terraform arc
architecture = tf commands
VPC endpoint
S3 endpoint
Check all services console and
answers
When we have to start terraform
We need to start [Link] file
Then
Terraform init

Ec2 NAT instance


Type of VPN
LAMP server
Wordpress server
LTAB server
Nodejs server

 Create the project super


mario with Terraform=

Create ec2 instance


Create the iam role
Give name ec2 user
Ec2 access
Admin access
Eks full access 9
Role can handle only 10 policies at
a time
Create the role for super mario
Add role go to action select security
select modify iam role and attach
to ec2 from ec2 dashboard
Install docker
Follow github repo
Sudo yum install docker -y
Enable and start docker
Sudo usermod -ag docker ec2-user
Install terraform from official
website from amazon linux
Go to step 5 on repo
Setup terraform with cmd

Install Aws cli


Install Kubectl
Install git
Create the eks cluster
Create the bucket in tf and attach
the bucket in file with coding
[Link]
Clone repo super mario
Cd eks-tf
Ls
Cat [Link]
Aws configure –profile “eks”
Create the secret key and access
key
Add with cli
Ls
Go to cd [Link]
Vim [Link]
Add aws cli user details in both
[Link] file and [Link] file
Vim [Link] file for iam role
Change instance type in that file
Cmd =
Terraform init
Terraform validate
Terraform plan
Terraform apply -auto—approve
When cluster is ready
Update the eks
Go to the project mario
Vim yaml file
Run kubectl Apply cmds
And attach svc cmd
Copy the link add on the url of your
web browser

Terraform Provisioner =

[Link] Provisioner.
[Link] Provisioner.
[Link] -Exec.
 Jenkins = CICD Tool
 Installation ubuntu
[Link]
 Jenkins port 8080 custom
tcp add in sec group
Add the url instance ip and Ip:8080
so we can access Jenkins
After that copy that path
And copy cat cmd and shows the
passwd

Plugins=Dependencies
Install plugin
[Link] integration
[Link] first 4 and also cloudbees
Docker

Credientels= saves all login


information
Freestyle Project =

Project insure me= Repo github

Build pipeline
Select pipeline
Create the sample Jenkins
Go to the instance
Sudo -i
And checks
/var/lib/Jenkins/workspace
You will find project name folder
Install docker
Install docker all cmd
[Link],groups
Install maven
Use sudo apt
Go to the Jenkins
Go to tools option
install maven in that tool option
And docker
Select form lates [Link]
Create the script for github repo
And generate form pipeline syntax
Select git add repo url
And paste the cmd which they give
us
Clone with cmd
And build stage

 Webhook

Go to the gith hub


Create the token
Go to Jenkins and in the credentials
Go to and select =global tab
Add in the github credienetls
Token github details
And go to the
Go to the repository and
Go to settings
And also find webhook in that settings

Build pipeline
Create the checkout from version
control
Select add github repo details
and also create the
select the trigger option in the
webhook trigger
go to the github
selecyt repo and in that settings
you will find the webhhok
and also go to the webhook option
and add the webhook
ip address of instance and Jenkins
[Link]:8080/github-
webhook/
And add select the trigger option in
that tab
Go to again in that Jenkins
And build
 AGENT

Create the two instance


[Link] Jenkins = install jenkins
create ssh key
[Link]- agent (worker node)

Create the one directory in node ec2


Give chmod 777 full permission to that
folder
Install java on node
Create ssh key in master node
Ssh-keygen
Copy public key
And paste in the node agent ec2
Nano authorized key paste the key
And go to the Jenkins
Go to the jenkins credentials
Add ssh with private key jenkins
Go to the master node
Copy private key and paste in the
Copy whole private key with starting
words and ending words
That Jenkins
And also go to the manage Jenkins
Go to tools
Go to the nodes
Add node
Add name
Give 1
Give 3
Use as much as possible
Give path like /home/ubuntu/dirname
which you created the directory in
agent ec2
Select launch agents via ssh
Node agent ec2 paste the ip address
Select Non verifying strategy
Build pipeline
And add script
And apply and
Build

 Project Netflix
Create the one instance in ubuntu
[Link] or higher
Give 30 gb ebs volume and attach
Install Jenkins file and cmd
Login Jenkins
Setup Jenkins
Install docker in ec2 instance
Run cmd docker ps
Give chmod 777 permission
Install sonarqube in ec2 instance
Install trivy in ec2 instance
Manage Jenkins
Plugins
Available plugins in Jenkins
Stage view install in Jenkins
Docker 5 plugins install in Jenkins
Eclipse termurin installer in Jenkins
Sonar qube scanner install in Jenkins
Node js install in Jenkins
Install means download the plugins
Login the sonar qube using
Ec2 public ip and port number on url
Port number of sonar qube 9000
And password and login id
Admin
Pw-admin
Use sonarqube
Click on my profile – security – create
token
Select – user token – 30 days
Copy token
Go to Jenkins
Manage Jenkins -
Go to tools
Add sonarqube scanner
Upload all token and details
And go to jdk
Add jdk17
Download from website
Select version jdk-17.0.10+7
Go node
Add name node16
Install version node 16.10.0
Install docker
Download from website
Go to credentials
Select kind – secret text
Add Jenkins
Add token of sonarqube
Give id name -sonar token
Add docker
Select kind- username and password
Add docker hub username & password
Create pipeline
Project type pipeline
Go to manage Jenkins-
Go to the system
Sonarqube servers-
Install environment tick box
Add url ec2ip and sonar port no
http//[Link]:9000
Select sonar token name in that last
box cred
Go to project
Go to Netflix clone folder
And copy the sonarqube folder go in
that and copy the pipeline
In the code change our own dockerhub
password
And see all the name which we have
given in credentials and system for
sonarqube and
Also docker details
Add script from repo
Change the git from generate cmd for
git
Go to the tmdb if you want and create
the api key (optional)
And run and build pipeline
Copy ec2 ip to access file docker
container in ip
23.45.678:32009
Go to the ec2
and open image file
and go to sonarqube and check logs

Project Myntra Jenkins


Folder path=Go to github
Cdec devops
Jenkins
[Link]
Launch ec2 instance
With 50 gb storage attach with ec2
Install on ec2
Install java
[Link]
Install Jenkins
Install nodejs
16.10.0
Install docker
Install sonarqube using docker cmd
Create and install eks cluster
Install aws cli
Aws configure for user
Go to Jenkins – manage Jenkins
Install plugins
Sonarqube
Eclipse termiun installer
Docker
Stageview
nodejs
go to tools
add jdk17 same as Netflix project
version
add nodejs16
add docker
go to the sonarqube go to profile
security and also create token
and paste in the go to Jenkins
credentials select global-
secret text
paste the token
add docker credentials your docker
select username with password
hub account
and also go to the github and go to
the developer settings
create classic token copy
go to the Jenkins in the credentials
select username with password
go to the system add sonar server
with ip address of url ec2ip:9000
go to github repo and copy the
code edit all the details of docker
and github create the pipeline in
Jenkins
add code
go to the ec2
launch eks cluster
using eks cmd
and also do the namespace for
namespace
create the svc
add loadbalancer
paste the link of loadbalcer in the
url
login argo cd
go to advanced option if failed
for password
find secret password
cmd using you will find pw
the password will pop up in the
front ubuntu name copy and paste
the pw in the argo cd
go to the argo cd create
the service
and give and all the details you can
see reop image
give name
select head
select automatic
url of repo
select by default cluster
and give path give k8s
and paste into the url
eks svc loadbalancer link
install helm
sudo snap install helm --classic
-------------------------------
Install Grafana
Install helm- Kubernetes package
manager
Promehtuses
By git cmd repo

ARGO CD TOOL = Kubernetes


manager deployment using git
TRIVRY TOOL = security
vulnerability checker
Sonarqube = Security Process Code
Quality and Gateway of
Deployment
Checks Logs

Project insure me by cmd line tool


Launch instance
Clone repository
Install maven
Mvn clean package in the repo
Install amazon cli
Create secret key
Cmd-Aws configure
Make bucket s3
And cp java jar file in the target
folder in the bucket by aws cli cmd
Install docker
Create the dockerfile
And build
And run the container
Run cmd docker images
Run cmd docker ps

Cdec devops Jenkins Aws [Link]


project=Webhook
Create the ec2
Install Jenkins
Go to the jenkins
Install plugin
Maven
stageview
s3 publisher
Aws cli
Docker plugin in Jenkins
Go to credentials
Dockerhub id docker-cred
Add also aws credentials aws-cred
Go to pipeline create the
And also tick trigger
Hook trigger
Copy code
Edit pipeline
Add maven in the tool
Version in the code
And also add docker image build
and run cmd
select version control for repo url
paste in the code
go to the repo
in the repo settings
-webhooks
Add webhook
Paste the url of the instance
Add ip url/github-webhook/
Build in Jenkins
Go to the ec2 add group cmd for
Jenkins using docker
Give permission for docker sock

Questions
Declarative pipeline &Scripted
Pipeline
Docker
ECS
ECR like docker hub services in aws

 Terraform project with


Jenkins
Repo = [Link]
Launch ec2 instance
Install Jenkins
Install terraform on instance
Launch Jenkins
Add plugins
Terraform
Stage view
Aws credentials
Aws steps
Go to tools -terraform -add
Cred- aws cred – add aws cli secrect
key
Git url change – by pipeline syntax
With credentials bind
Select secret key
And generate the script
In the code in stage infra
Add terraform all command
And build pipeline

--------------------------------------------

Jenkins build pipeline features


Parameter option in the Jenkins
Schedule option
Pool scm
And also build periodically

 DATADOG Monitoring Tool


Launch an elastic compute
cloud ec2 instance
Go to official datadog website
By [Link] and create the
user
And go to the add cmd
In the instance
Intergration add the agent
create the cmd
option install
Infastructure
Hostmap to see monitor tool

Monitoring tool
Promothesus on repo cmd
Phase 4
Promothesus i.p9090= Holds
value
Node exporter i.p9100 =
Collects the value
Grafana i.p3000 = data
visualization tool
Grafana=
User id = admin
Pw= admin
Login with ip and grafana port
number
Grafana tool = connection s
Promothesus add ip

Task =
Aws Cost billing and
management repo
Aws

Task=
Ansible task

Task= angular k8s project repo

Policies=
[Link] based = [Link]
[Link] = aws managed
Customer
managed
[Link] based

Roles = temporary access


[Link] access =
[Link] access = communicate with
services
Task 1= create the IAM user without
graphical interface

[Link] AWS ORGANIZATION option


We can create the group

2.Ec2 instance type with series name

EC2 placement group option = spread, cluster,


partition

Auto scaling type =


1. Dynamic
Scaling
2. Predictive
3. Scheduled
4. Manual
5. Step
6. Target
tracking
 AWS LAMBDA Services

Create the role


Ec2 full access
Lambda full access
Lambda basic execution role
Go to lambda
Create the function
Author from scracth
Select python 3.14
For start and stop ec2 instance
Change modify role
And add role
Then create the code add from repo
Add instance id in the code
And then create the test event
From repo add action code
And deploy

Security group firewall for Instance


And for subnet firewall is NACl network access
controller

Aws Cost optimization


Go to docs
And aws select cloud cost calculation example
1. What is Canary Deployment?
Think of it like sending a “canary” into the coal
mine — if it survives, the new version is safe to roll
out to everyone.
You deploy the new version (v2) alongside the
current version (v1) and route a small percentage
of traffic to it.
If no problems occur, you increase traffic
gradually until 100% of traffic is on v2.

Replication controller is a equality based using


selector

Replica set is a updated version of replication


controller and its based on equality based and set
based using matchlabels.

Daemon set = on our cluster reserved one pod for


monitoring purpose and logs in kubernetes

Ingress= traffic controller and path based routing


HPA = HPA (Horizontal Pod Autoscaler) is a
Kubernetes controller that automatically scales the
number of pods in a deployment, replica set, or
stateful set based on CPU, memory, or custom
metrics.
TF= statefile
Jenkins = explain stages of ci cd pipeline

 Ansible

Configuration management tool

Public key always has with servers


Private key always has with user/client
Launch two instance
One is master node and another one is worker
node
Type = ssh-keygen in master node
Copy public from cat .ssh/id_ed33456.pub
Paste public key in worker node
Paste using nano .ssh/authorized_keys
Install all repo ansible commands in the
master node
Go to the vim/etc/ansible/hosts all ip private
address of worker instance in the hosts file

Go to the vim /etc/


Go to the vim sudo /etc/[Link] add false
command on repo

Check connection between server


Cmd= Ansible all -m ping
Create the playbook file on master node
With sudo vim [Link]
Add github code yaml script in the
Playbook file
Run cmd=ansible-playbook [Link]
Check public i.p. url on [Link]

For Grouping concept we can do only selected


servers what we have to install in the host file
we can use
[Frontend]
Ec2 [Link] address
[Link]
Add more

[backend]
192.168

[database]
192.268
In the hosts file we have to add

And also We have to add in playbook file


grouping name in hosts= frontend

Host-file = inventory file= stores all the servers


of all private ip address

Error code and status code

 Nagiosxi /nagios monitoring tool

Go to the chatgpt and install all command on


the ec2

 Git
Working directory =

{Git add .}

After cmd goes to Staging area

[git commit -m]

After goes to local repository

[Git push]

Go to the remote repository

Github tool

Git branching statergy

Git stash
Git config
Git rebase
Git merge

Project student application with Jenkins


terraform and script from super mario
and also pending task need to be completed

TCP- CGP - ICA = Workspace cloud Computer


Architecture built by Citrix

You might also like