Add more questions
This commit is contained in:
parent
c5c26be24c
commit
7d89739a14
54
README.md
54
README.md
@ -10,6 +10,7 @@
|
|||||||
1. [Ansible](#ansible)
|
1. [Ansible](#ansible)
|
||||||
1. [Containers](#containers)
|
1. [Containers](#containers)
|
||||||
1. [Docker](#docker)
|
1. [Docker](#docker)
|
||||||
|
1. [Kubernetes](#kubernetes)
|
||||||
1. [Python](#python)
|
1. [Python](#python)
|
||||||
1. [Prometheus](#prometheus)
|
1. [Prometheus](#prometheus)
|
||||||
1. [Git](#git)
|
1. [Git](#git)
|
||||||
@ -41,11 +42,13 @@
|
|||||||
* How to install Jenkins?
|
* How to install Jenkins?
|
||||||
* How to install a plugin?
|
* How to install a plugin?
|
||||||
* How to install an agent?
|
* How to install an agent?
|
||||||
|
* Explain CI/CD and how you implemented in Jenkins
|
||||||
|
|
||||||
###### Intermediate
|
###### Intermediate
|
||||||
|
|
||||||
- What type of jobs there are? what is the advantage of each type?
|
* What type of jobs there are? what is the advantage of each type?
|
||||||
- What ways are you familiar with to notify users on build results?
|
* What ways are you familiar with to notify users on build results?
|
||||||
|
* How to secure Jenkins?
|
||||||
|
|
||||||
###### Advanced
|
###### Advanced
|
||||||
|
|
||||||
@ -64,23 +67,24 @@
|
|||||||
|
|
||||||
###### S3 - beginner
|
###### S3 - beginner
|
||||||
|
|
||||||
- Explain what is S3 and what is it used for
|
* Explain what is S3 and what is it used for
|
||||||
- What is a bucket?
|
* What is a bucket?
|
||||||
- True or False? a bucket name must be globally unique
|
* True or False? a bucket name must be globally unique
|
||||||
- What objects in S3 consists of?
|
* What objects in S3 consists of?
|
||||||
- Another way to ask it: explain key, value, version id and metadata in context of objects
|
* Another way to ask it: explain key, value, version id and metadata in context of objects
|
||||||
- Explain data consistency
|
* Explain data consistency
|
||||||
- Can you host dynamic websites on s3? what about static websites?
|
* Can you host dynamic websites on s3? what about static websites?
|
||||||
|
* What security measures have you taken in context of S3?
|
||||||
|
|
||||||
###### CloudFront
|
###### CloudFront
|
||||||
|
|
||||||
- Explain what is CloudFront and what is it used for
|
* Explain what is CloudFront and what is it used for
|
||||||
- Explain the following
|
* Explain the following
|
||||||
- Origin
|
* Origin
|
||||||
- Edge location
|
* Edge location
|
||||||
- Distribution
|
* Distribution
|
||||||
- What delivery methods available for the user with CDN?
|
* What delivery methods available for the user with CDN?
|
||||||
- True or False? object are cached for the life of TTL
|
* True or False? object are cached for the life of TTL
|
||||||
|
|
||||||
|
|
||||||
###### EC2 - beginner
|
###### EC2 - beginner
|
||||||
@ -188,6 +192,8 @@ Playbook – One or more plays. Each play can be executed on the same or differe
|
|||||||
Role – Ansible roles allows you to group resources based on certain functionality/service such that they can be easily reused. In a role, you have directories for variables, defaults, files, templates, handlers, tasks, and metadata. You can then use the role by simply specifying it in your playbook.
|
Role – Ansible roles allows you to group resources based on certain functionality/service such that they can be easily reused. In a role, you have directories for variables, defaults, files, templates, handlers, tasks, and metadata. You can then use the role by simply specifying it in your playbook.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* You want to run Ansible playbook only on specific minor version of your OS, how would you achieve that?
|
||||||
|
|
||||||
* Write a task to create the directory ‘/tmp/new_directory’
|
* Write a task to create the directory ‘/tmp/new_directory’
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -329,6 +335,16 @@ you with more options/features compared to Docker Hub. One example is
|
|||||||
Swarm management which means you can create new swarms in Docker Cloud.
|
Swarm management which means you can create new swarms in Docker Cloud.
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Kubernetes
|
||||||
|
|
||||||
|
* What is Kubernetes?
|
||||||
|
* Why Docker isn't enough? Why do we need Kubernetes?
|
||||||
|
* Describe the architecture of Kuberenets
|
||||||
|
* How do you monitor your Kuberenets?
|
||||||
|
* What is kubectl? How do you use it?
|
||||||
|
* What is kubconfig? What do you use it for?
|
||||||
|
* How do you create users?
|
||||||
|
|
||||||
|
|
||||||
## Python
|
## Python
|
||||||
|
|
||||||
@ -413,7 +429,12 @@ Alert manager is responsible for alerts ;)
|
|||||||
###### beginner
|
###### beginner
|
||||||
|
|
||||||
* What is the difference between `git pull` and `git pull`?
|
* What is the difference between `git pull` and `git pull`?
|
||||||
|
* what is 'working tree'? what is 'staging area'?
|
||||||
* How do you resolve git conflicts?
|
* How do you resolve git conflicts?
|
||||||
|
* What is the difference between `git reset` and `git reverse`?
|
||||||
|
* In what situations are you using `git rebase`?
|
||||||
|
* What branching strategies are you familiar with?
|
||||||
|
* Explain octopus strategy
|
||||||
|
|
||||||
## Scenarios
|
## Scenarios
|
||||||
|
|
||||||
@ -422,3 +443,4 @@ require from you to design, plan and implement environments with different const
|
|||||||
and considerations.
|
and considerations.
|
||||||
|
|
||||||
* [Elasticsearch & Kibana on AWS](scenarios/elk_kibana_aws.md)
|
* [Elasticsearch & Kibana on AWS](scenarios/elk_kibana_aws.md)
|
||||||
|
* [Ansible, Minikube and Docker](scenarios/ansible_minikube_docker.md)
|
||||||
|
6
scenarios/ansible_minikube_docker.md
Normal file
6
scenarios/ansible_minikube_docker.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
## Ansible, Minikube and Docker
|
||||||
|
|
||||||
|
* Write a simple program in any language you want that outputs "I'm on <HOSTNAME>"
|
||||||
|
* Write a Dockerfile which will run your app
|
||||||
|
* Create the YAML files required for deploying the pods
|
||||||
|
* Write and run an Ansible playbook which will install Docker, Minikube and kubectl and then create a deployment in minikube with your app running.
|
@ -15,3 +15,7 @@ Please describe in detail:
|
|||||||
- How you apply security policy for access control
|
- How you apply security policy for access control
|
||||||
- How you transfer the logs from the app to ELK
|
- How you transfer the logs from the app to ELK
|
||||||
- How you deal with multi apps running in different regions
|
- How you deal with multi apps running in different regions
|
||||||
|
|
||||||
|
## Solution
|
||||||
|
|
||||||
|
One Possible solution can be found [here](solutions/elk_kibana_aws.md)
|
||||||
|
22
scenarios/solutions/elk_kibana_aws.md
Normal file
22
scenarios/solutions/elk_kibana_aws.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Elasticsearch, Kibana and AWS - Solution
|
||||||
|
|
||||||
|
This one out of many possible solutions. This solution is relying heavily on AWS.
|
||||||
|
|
||||||
|
* Create a VPC with subnet so we can place Elasticsearch node(s) in internal environment only.
|
||||||
|
If required, we will also setup NAT for public access.
|
||||||
|
|
||||||
|
* Create an IAM role for the access to the cluster. Also, create a separate role for admin access.
|
||||||
|
|
||||||
|
* To provision the solution quickly, we will use the elasticsearch service directly from AWS for production deployment.
|
||||||
|
This way we also cover multiple AZs. As for authentication, we either use Amazon cognito or the organization LDAP server.
|
||||||
|
|
||||||
|
* To transfer data, we will have to install logstash agent on the instances. The agent will be responsible
|
||||||
|
for pushing the data to elasticsearch.
|
||||||
|
|
||||||
|
* For monitoring we will use:
|
||||||
|
|
||||||
|
* Cloud watch to monitor cluster resource utilization
|
||||||
|
* Cloud metrics dashboard
|
||||||
|
|
||||||
|
* If access required from multiple regions we will transfer all the data to S3 which will allow us to view the data
|
||||||
|
from different regions and consolidate it in one dashboard
|
Loading…
Reference in New Issue
Block a user