Skip to content

Commit 5a96560

Browse files
committed
added submodule
1 parent 04e97db commit 5a96560

File tree

18 files changed

+349
-0
lines changed

18 files changed

+349
-0
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "libs/snipr"]
2+
path = libs/snipr
3+
url = git@github.com:imShakil/snipr.git

ansible/01.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Ansible Playbook
2+
3+
An Ansible playbook needs completion on the jump host, where a team member left off. Below are the details:
4+
5+
- The inventory file /home/thor/ansible/inventory requires adjustments. The playbook must run on App Server 3 in Stratos DC. Update the inventory accordingly.
6+
- Create a playbook /home/thor/ansible/playbook.yml. Include a task to create an empty file /tmp/file.txt on App Server 3.
7+
8+
> Note: Validation will run the playbook using the command ansible-playbook -i inventory playbook.yml. Ensure the playbook works without any additional arguments.
9+
10+
## Steps
11+

ansible/02.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#
2+
3+
The Nautilus DevOps team is testing Ansible playbooks on various servers within their stack. They've placed some playbooks under /home/thor/playbook/ directory on the jump host and now intend to test them on app server 3 in Stratos DC. However, an inventory file needs creation for Ansible to connect to the respective app. Here are the requirements:
4+
5+
- Create an ini type Ansible inventory file /home/thor/playbook/inventory on jump host.
6+
- Include App Server 3 in this inventory along with necessary variables for proper functionality.
7+
- Ensure the inventory hostname corresponds to the server name as per the wiki, for example stapp01 for app server 1 in Stratos DC.
8+
9+
Note: Validation will execute the playbook using the command ansible-playbook -i inventory playbook.yml. Ensure the playbook functions properly without any extra arguments.

jenkins/01.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Setup Jenkins Server
2+
3+
The DevOps team at xFusionCorp Industries is initiating the setup of CI/CD pipelines and has decided to utilize Jenkins as their server. Execute the task according to the provided requirements:
4+
5+
1. Install jenkins on jenkins server using yum utility only, and start its service. You might face timeout issue while starting the Jenkins service, please refer this link for help.
6+
7+
2. Jenkin's admin user name should be `theadmin`, password should be `Adm!n321`, full name should be `Siva` and email should be `siva@jenkins.stratos.xfusioncorp.com`.
8+
9+
Note:
10+
11+
1. For this task, access the Jenkins server by SSH using the `root` user and password `S3curePass` from the jump host.
12+
13+
2. After Jenkins server installation, click the Jenkins button on the top bar to access the Jenkins UI and follow on-screen instructions to create an admin user.
14+
15+
## Steps
16+
17+
1. Login into server
18+
19+
2. Install `wget` and Download `jenkins repo`
20+
21+
```sh
22+
sudo yum install -y wget
23+
sudo wget -O /etc/yum.repos.d/jenkins.repo \
24+
https://pkg.jenkins.io/redhat-stable/jenkins.repo
25+
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
26+
```
27+
28+
3. Install JDK and Jenkins
29+
30+
```sh
31+
sudo yum upgrade
32+
# Add required dependencies for the jenkins package
33+
sudo yum install -y fontconfig java-21-openjdk
34+
sudo yum install -y jenkins
35+
sudo systemctl daemon-reload
36+
```
37+
38+
4. Start Jenkins Service
39+
40+
```sh
41+
sudo systemctl enable jenkins
42+
sudo systemctl start jenkins
43+
```
44+
45+
5. Login Into Jenkins Using initalPassword
46+
47+
```sh
48+
cat /var/lib/jenkins/secrets/initialAdminPassword
49+
```
50+
51+
6. Select Suggested plugin to install and make sure email extension is installed. Otherwise you won't be able to add user's email.
52+
53+
7. Create Admin User with given credential
54+
55+
8. `Save and Continue`
56+
57+
9. Jenkins URL: Set An URL or go with default one
58+
10. SAVE and Finish.

jenkins/02.md

Whitespace-only changes.

kubernetes/01.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Create a POD
2+
3+
The Nautilus DevOps team is diving into Kubernetes for application management. One team member has a task to create a pod according to the details below:
4+
5+
6+
Create a pod named pod-httpd using the httpd image with the latest tag. Ensure to specify the tag as httpd:latest.
7+
8+
Set the app label to httpd_app, and name the container as httpd-container.
9+
10+
Note: The kubectl utility on jump_host is configured to operate with the Kubernetes cluster.
11+
12+
## Steps
13+

kubernetes/01.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
labels:
5+
app: httpd_app
6+
name: httpd-container
7+
8+
spec:
9+
containers:
10+
- name: httpd-container
11+
image: httpd:latest
12+
ports:
13+
- containerPort: 80

kubernetes/02.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Deploy Applications with Kubernetes Deployments
2+
3+
The Nautilus DevOps team is delving into Kubernetes for app management. One team member needs to create a deployment following these details:
4+
5+
- Create a deployment `named nginx` to deploy the application `nginx` using the image `nginx:latest` (ensure to specify the tag)
6+
7+
Note: The kubectl utility on jump_host is set up to interact with the Kubernetes cluster.
8+
9+
## Steps
10+
11+
1. Create `nginx.yml` file with following contents:
12+
13+
```yaml
14+
apiVersion: apps/v1
15+
kind: Deployment
16+
metadata:
17+
name: nginx
18+
labels:
19+
app: nginx-app
20+
spec:
21+
replicas: 1
22+
selector:
23+
matchLabels:
24+
app: nginx-app
25+
template:
26+
metadata:
27+
labels:
28+
app: nginx-app
29+
spec:
30+
containers:
31+
- name: nginx
32+
image: nginx:latest
33+
ports:
34+
- containerPort: 80
35+
```
36+
37+
2. Run the deployment
38+
39+
```sh
40+
kubectl apply -f nginx.yml
41+
```
42+
43+
3. Check results
44+
45+
```sh
46+
kubectl get deployments.apps
47+
kubectl get pods
48+
```

kubernetes/02.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: nginx
5+
labels:
6+
app: nginx-app
7+
spec:
8+
replicas: 1
9+
selector:
10+
matchLabels:
11+
app: nginx-app
12+
template:
13+
metadata:
14+
labels:
15+
app: nginx-app
16+
spec:
17+
containers:
18+
- name: nginx
19+
image: nginx:latest
20+
ports:
21+
- containerPort: 80

kubernetes/03.md

Whitespace-only changes.

0 commit comments

Comments
 (0)