- A Pod is crashed, how you will troubleshoot it?
- What is difference between $*, $@,$_ and $0?
- What are hosted zones in AWS?
- How to setup Weighted routing in route 53?
- How to create a network load balancer?
- What is provisioner and provider in Terraform?
- What are the modules you have used in Ansible?
- How to setup modules in Ansible?
- What are hostVars and groupVars in Ansible?
- How to enable gather_facts in Anisble?
- What are j2 templates in Ansible?
- What are tasks and handlers in Ansible?
DevOps and Build And Release Interview Questions with Answers
"Hub for DevOps and Build and Release"------> AWS, Kubernetes, Docker, Ansible, Jenkins, Grafana, Prometheus, ANT, NANT, LINUX, SCM, Interview Questions
Tuesday, 25 May 2021
Top DevOps Interview Questions with Answers
Build and Release Engineer Interview Questions
Here I would like to give some Interview Questions that I have faced in Telephonic and Face to Face Interview
The Basic Questions you need to be Prepared:-
===========================================
1. Tell about yourself?
2. What are your current Roles and Responsibilities?
3. How Much experience do you have?
4. What was the flow of Software development?
5. What tools are you aware of?
6. Have you worked on LINUX?
7. Make an overview of tools that will be used in Build and Release?
8. List out Version control commands?
9. Will update more......
Technical Questions:-
===================
1. What are the version controls you have used?
2. Have you worked on any Continuous Integration Tools?
3. Do you have any experience with scripting languages?
4. Do you know shell scripting?
5. What software do you use for Installers?
6. Have you written any build files using ANT/NANT?
7. Linux Commands-->cp,df,du,ps,umount,awk,time,ls,grep,top,head
8. How to create new user in LINUX?
9. How to Configure SVN on Linux?
10. Questions on SQL?
11. Windows platforms?
12. Questions on IIS?
13. How to create a branch in SVN?
14. When you will create a branch?
15. What is the structure of branches in the repo?
16. How to create backups of the repository?
17. Commands to create New User, New branch, and code Merging?
18. How you will release products to the client?
19. Do you know about Batch files?
20. Do you know about NSIS/Installshield/WIX Installer?
21. What are the tasks you will do in daily routine?
22. What will do for repeated tasks?
23. What do you know about SVN/CVS/TFS/GIT?
24. How to migrate from SVN to GIT?
25. Questions on JOINS, HAVING, GROUP BY, Alias in SQL?
26. Difference between DROP, DELETE, Truncate?
27. Difference between branch, tag, trunk?
28. Write a shell script to find the largest of 3 numbers, while given as input from the shell command line?
29. What is the difference between export and update in SVN?
30. What is the difference between update and commit in SVN?
31. What are the basic svn commands frequently used?
32. How to revert to a specific revision in svn without loosing the local changes?
33. What happens if a directory is deleted from server suddenly? How will you get the directory back?
34. What is the difference between checkout and export in SVN?
35. How to tag a branch?
36. Salve config
37. How to create backup in SVN?
38. Commands for grep, Find, dr, du?
39. How to copy error logs > Dev/Null?
40. What are Jenkins plugins?
41. What are different Jenkins jobs?
42. Mail command?
43. How to post build in Jenkins?
44. Msbuild
45. Explain P4 commands
46. What is difference between $*, $@ , $_and $0?
47. Explain p4 client command.
48. How to find files under sub directories?
49. How to get first column values?
50. Which port is free?
51. What is process on back ground? how to get it foreground?
52. How to get last column on ls-l?
53. What you need to login onto p4 client?
54. Which is the default p4 port?
55. What are installsheild conditions?
56. What are different multilanguages in IS?
57. How to create upgrade Installer?
58. What are the registry entry values?
59. How to know which services are running?
60. How to differentiate between Service and process?
61. How to create symbolic link?
62. Explain nslookup command.
63. How to configure UAC settings?
64. What are different SVN commands?
65. How to set up cron job in Jenkins?
66. How to grep only filenames that match?
67. Explain Teamcity.
68. What are file properties in SVN?
69. How to get started with SVN externals?
70. Explain relocate and switch in SVN.
71. What are the different backup types in SVN?
72. What is the maximum revision SVN will support?
73. What are the 4 ways of executing a shell script in Unix/Linux?
74. How to create jobs in Jenkins?
75. What are the plugins used?
76. What is the difference between target and task?
77. How you setup slave?
78. How you launch slave?
79. How to run slave as specific user?
80. How to run a specific job on slave?
81. What is the connection between master and slave?
82. What are the environment variables you set on slave?
83. Explain about view map.
84. How to create p4 client spec ?
85. How you exclude some files from using view map?
86. Explain p4 branch spec .
87.What are different types of views?Explain the difference.
88. What is default spec?
89. What is the command to edit config spec?
90. How to set view using script?
91. Explain clearcase spec.
92. Explain extended view path in clearcase.
Will update more.....
AWS How to setup weighted routing in route53
Routing policy is one of the important AWS feature, it determines how Amazon Route53 responds to queries when you create a record.
Routing policies let you choose how Route 53 routes traffic to you resources. If you have multiple resources that perform the same operation, such as serve content for a website, choose a routing policy other than simple. Here's a brief comparison:
There are 7 types of routing policy in AWS. The top 4 routing policy are mostly used ones based on requirement.
- Simple: Simple records use standard DNS functionality.
- Weighted: Weighted records let you specify what portion of traffic to send to each resource.
- Geolocation: Geolocation records let you route traffic to your resources based on the geographic location of your users.
- Latency: Latency records let you route traffic to resources in the AWS Region that provides the lowest latency. All resources must be in AWS Regions.
- Failover: Failover records let you route traffic to a resource when the resource is healthy or to a different resource when the first resource is unhealthy.
- Multivalue answer: Multivalue answer records let you configure Route 53 to return multiple values, such as IP addresses for your web servers, in response to DNS queries.
- Geoproximity routing: when you want to route traffic based on the location of your resources and, optionally, shift traffic from resources in one location to resources in another.
Monday, 24 May 2021
AWS Hosted Zones
Hosted zones is one of the top feature of Route53, it tells Route 53 how to respond to DNS queries for a domain such as example.com.
It has records and those records contains information about how you want to route traffic for a specific domain, such as from example.com, and its subdomains (dev.example.com, qa.example.com). A hosted zone and the corresponding domain will have the same name.
There are two types of hosted zones:
- Public hosted zones
- Private hosted zones
Kubernetes - How to check logs of a running and crashed pods
This is the most common issue that every DevOps guy faces, while working on Kubernetes. One day suddenly you will find that one of the pod you are working is in bad state. And you dont know what went wrong. So as a DevOps engineer you need to be aware of how to view logs of running pod or crashed pod.
First you need to know which pod you want see logs for, to do that
Get the pods
kubectl get pods -A To list all pods irrespective of namespace
kubectl get pods -n <namespace> To get list of pods from a specific namespace
kubectl get pods To get list of pods from default namespace
[devopsvm@dev ~]$ kubectl get pods
NAMESPACE NAME READY STATUS RESTARTS AGE
default jenkins-master-wed66fcfc-kasdas 1/1 Running 1 18d
default nfs-client-provisioner-6756-75vc5q 1/1 Running 0 86d
Get logs of running pods
If pod running in default namespace
kubectl log jenkins-master-wed66fcfc-kasdas
if pod running in a different namespace
kubectl log jenkins-master-wed66fcfc-kasdas -n <namespace>
To see logs in realtime (use -f option)
-f option gives you logs in real time on your screen, to exit press CTRL+C or CTRL+Z
kubectl logs -f jenkins-master-wed66fcfc-kasdas
-p or --previous option give option to see logs of a pod which got restarted or crashed. In above case you see jenkins is restarted 1 time..so if you want to see like why it got restarted, use either of the option.
[devopsvm@dev ~]$ kubectl get pods
NAMESPACE NAME READY STATUS RESTARTS AGE
default jenkins-master-wed66fcfc-kasdas 2/2 Running 1 18d
Monday, 10 August 2020
Ubuntu - How to prevent updating of a specific package?
There are couple of ways to prevent packages getting updated by default.
1. apt
2. dpkg
3. aptitude
4. dselect
1. apt
hold (To stop)
sudo apt-mark hold <package>
unhold (To Allow)
To view all packages on hold
2. dpkg
To hold the Package
To remove the hold
To display status of a single package
To display status of all packages
3. aptitude
To hold a package:
sudo aptitude hold <package>
To remove the hold
sudo aptitude unhold <package>
Saturday, 5 November 2016
Important Linux Commands
1. tar command examples
$ tar cvf archive_name.tar dirname/
$ tar xvf archive_name.tar
$ tar tvf archive_name.tar
$ grep -i "the" demo_file
$ grep -A 3 -i "example" demo_text
$ grep -r "venkatesh" *
3. find command examples
# find -iname "MyCProgram.c"
$ find -iname "MyCProgram.c" -exec md5sum {} \;
# find ~ -empty
4. ssh command examples
ssh -l venky remotehost.example.com
ssh -v -l venky remotehost.example.com
$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
5. sed command examples
$sed 's/.$//' filename
$ sed -n '1!G;h;$p' sample.txt
$ sed '/./=' sample.txt | sed 'N; s/\n/ /'
6. awk command examples
$ awk '!($0 in array) { array[$0]; print }' temp
$awk -F ':' '$3==$4' passwd.txt
$ awk '{print $2,$5;}' employee.txt
7. vim command examples
$ vim +143 filename.txt
$ vim +/search-term filename.txt
$ vim -R /etc/passwd
8. diff command examples
# diff -w name_list.txt name_list_new.txt 2c2,3 < John Doe --- > John M Doe > Jason Bourne
9. sort command examples
$ sort names.txt
$ sort -r names.txt
$ sort -t: -k 3n /etc/passwd | more
10. export command examples
$ export | grep ORACLE declare -x ORACLE_BASE="/u01/app/oracle" declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0" declare -x ORACLE_SID="med" declare -x ORACLE_TERM="xterm"
$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0
11. xargs command examples
# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory
# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
# cat url-list.txt | xargs wget –c
12. ls command examples
$ ls -lh -rw-r----- 1 venky team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz
$ ls -ltr
$ ls -F
13. pwd command
14. cd command examples
15. gzip command examples
$ gzip test.txt
$ gzip -d test.txt.gz
$ gzip -l *.gz compressed uncompressed ratio uncompressed_name 23709 97975 75.8% asp-patch-rpms.txt
16. bzip2 command examples
$ bzip2 test.txt
bzip2 -d test.txt.bz2
$ unzip test.zip
$ unzip -l jasper.zip Archive: jasper.zip Length Date Time Name -------- ---- ---- ---- 40995 11-30-98 23:50 META-INF/MANIFEST.MF 32169 08-25-98 21:07 classes_ 15964 08-25-98 21:07 classes_names 10542 08-25-98 21:07 classes_ncomp
18. shutdown command examples
# shutdown -h now
# shutdown -h +10
# shutdown -r now
# shutdown -Fr now
19. ftp command examples
$ ftp IP/hostname ftp> mget *.html
ftp> mls *.html - /ftptest/features.html /ftptest/index.html /ftptest/othertools.html /ftptest/samplereport.html /ftptest/usage.html
20. crontab command examples
# crontab -u john -l
*/10 * * * * /home/venky/check-disk-space
21. service command examples
# service ssh status
service --status-all
# service ssh restart
22. ps command examples
$ ps -ef | more
$ ps -efH | more
23. free command examples
$ free total used free shared buffers cached Mem: 3566408 1580220 1986188 0 203988 902960 -/+ buffers/cache: 473272 3093136 Swap: 4000176 0 4000176
$ free -g total used free shared buffers cached Mem: 3 1 1 0 0 0 -/+ buffers/cache: 0 2 Swap: 3 0 3
ramesh@ramesh-laptop:~$ free -t total used free shared buffers cached Mem: 3566408 1592148 1974260 0 204260 912556 -/+ buffers/cache: 475332 3091076 Swap: 4000176 0 4000176 Total: 7566584 1592148 5974436
24. top command examples
Current Sort Field: P for window 1:Def Select sort field via field letter, type any other key to return a: PID = Process Id v: nDRT = Dirty Pages count d: UID = User Id y: WCHAN = Sleeping in Function e: USER = User Name z: Flags = Task Flags ........
$ top -u oracle
25. df command examples
$ df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 29530400 3233104 24797232 12% / /dev/sda2 120367992 50171596 64082060 44% /home
ramesh@ramesh-laptop:~$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 29G 3.1G 24G 12% / /dev/sda2 115G 48G 62G 44% /home
ramesh@ramesh-laptop:~$ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/sda1 ext4 29530400 3233120 24797216 12% / /dev/sda2 ext4 120367992 50171596 64082060 44% /home
26. kill command examples
$ ps -ef | grep vim ramesh 7243 7222 9 22:43 pts/2 00:00:00 vim $ kill -9 7243
27. rm command examples
$ rm -i filename.txt
$ rm -i file*
$ rm -r example
28. cp command examples
$ cp -p file1 file2
$ cp -i file1 file2
29. mv command examples
$ mv -i file1 file2
$ mv -v file1 file2
30. cat command examples
$ cat file1 file2
$ cat -n /etc/logrotate.conf 1 /var/log/btmp { 2 missingok 3 monthly 4 create 0660 root utmp 5 rotate 1 6 }
31. mount command examples
# mkdir /u01 # mount /dev/sdb1 /u01
/dev/sdb1 /u01 ext2 defaults 0 2
32. chmod command examples
$ chmod ug+rwx file.txt
$ chmod g-rwx file.txt
$ chmod -R ug+rwx file.txt
33. chown command examples
$ chown oracle:dba dbora.sh
$ chown -R oracle:dba /home/oracle
34. passwd command examples
$ passwd
# passwd USERNAME
# passwd -d USERNAME
35. mkdir command examples
$ mkdir ~/temp
$ mkdir -p dir1/dir2/dir3/dir4/
36. ifconfig command examples
$ ifconfig -a
$ ifconfig eth0 up $ ifconfig eth0 down
37. uname command examples
Processor type, etc.,
$ uname -a Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux
38. whereis command examples
$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
$ whereis -u -B /tmp -f lsmk lsmk: /tmp/lsmk
39. whatis command examples
$ whatis ls ls (1) - list directory contents $ whatis ifconfig ifconfig (8) - configure a network interface
40. locate command examples
$ locate crontab /etc/anacrontab /etc/crontab /usr/bin/crontab /usr/share/doc/cron/examples/crontab2english.pl.gz /usr/share/man/man1/crontab.1.gz /usr/share/man/man5/anacrontab.5.gz /usr/share/man/man5/crontab.5.gz /usr/share/vim/vim72/syntax/crontab.vim
41. man command examples
$ man crontab
$ man SECTION-NUMBER commandname
- General commands
- System calls
- C library functions
- Special files (usually devices, those found in /dev) and drivers
- File formats and conventions
- Games and screensavers
- Miscellaneous
- System administration commands and daemons
$ whatis crontab crontab (1) - maintain crontab files for individual users (V3) crontab (5) - tables for driving cron $ man 5 crontab
42. tail command examples
$ tail filename.txt
$ tail -n N filename.txt
$ tail -f log-file
43. less command examples
$ less huge-log-file.log
CTRL+F – forward one window CTRL+B – backward one window
44. su command examples
$ su - USERNAME
[john@dev-server]$ su - raj -c 'ls' [john@dev-server]$
$ su -s 'SHELLNAME' USERNAME
45. mysql command examples
$ mysql -u root -p -h 192.168.1.2
$ mysql -u root -p
46. yum command examples
$ yum install httpd
$ yum update httpd
$ yum remove httpd
47. rpm command examples
# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm
# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm
# rpm -ev httpd
48. ping command examples
$ ping -c 5 gmail.com
49. date command examples
# date -s "01/31/2010 23:59:53"
# hwclock –systohc # hwclock --systohc –utc
50. wget command examples
$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701