Hi folks 👋
- This repository is my journey at KodeKloud Engineer, my solutions will be updated here.
- I also updated the way to solve Linux problems, instead of doing some boring Linux commands, my solution will solve it by leveraging Ansible
- Update 24/09/2023: Promoted to Senior DevOps Engineer
Service Name | Command |
---|---|
Nautilus App 1 | ssh tony@172.16.238.10 |
Nautilus App 2 | ssh steve@172.16.238.11 |
Nautilus App 3 | ssh banner@172.16.238.12 |
Nautilus HTTP LBR | ssh loki@172.16.238.14 |
Nautilus DB Server | ssh peter@172.16.239.10 |
Nautilus Storage Server | ssh natasha@172.16.238.15 |
Nautilus Backup Server | ssh clint@172.16.238.16 |
Nautilus Mail Server | ssh groot@172.16.238.17 |
Jenkins Server for CI/CD | ssh jenkins@172.16.238.19 |
sudo yum install sshpass -y
Server Name | Purpose | Command |
---|---|---|
stapp01 | Nautilus App 1 | sshpass -p Ir0nM@n ssh -o StrictHostKeyChecking=no tony@172.16.238.10 |
stapp02 | Nautilus App 2 | sshpass -p Am3ric@ ssh -o StrictHostKeyChecking=no steve@172.16.238.11 |
stapp03 | Nautilus App 3 | sshpass -p BigGr33n ssh -o StrictHostKeyChecking=no banner@172.16.238.12 |
stlb01 | Nautilus HTTP LBR | sshpass -p Mischi3f ssh -o StrictHostKeyChecking=no loki@172.16.238.14 |
stdb01 | Nautilus DB Server | sshpass -p 'Sp!dy' ssh -o StrictHostKeyChecking=no peter@172.16.239.10 |
ststor01 | Nautilus Storage Server | sshpass -p Bl@kW ssh -o StrictHostKeyChecking=no natasha@172.16.238.15 |
stbkp01 | Nautilus Backup Server | sshpass -p H@wk3y3 ssh -o StrictHostKeyChecking=no clint@172.16.238.16 |
stmail01 | Nautilus Mail Server | sshpass -p Gr00T123 ssh -o StrictHostKeyChecking=no groot@172.16.238.17 |
jenkins | Jenkins Server for CI/CD | sshpass -p 'j@rv!s' ssh -o StrictHostKeyChecking=no jenkins@172.16.238.19 |
-
Jumphost:
CentOS 8
- user:
thor
- password:
mjolnir123
- user:
-
Nautilus App Servers:
CentOS 7
- Clone the repository:
git clone https://github.com/ntheanh201/kodekloud-engineer.git
- Go to folder:
cd kodekloud-engineer
- Install Ansible:
./install_ansible.sh
- Solve Linux tasks by running Ansible playbook
ansible-playbook -i test-environments curriculum/<module_name>/<task>/<level>/solution.yaml
ansible-playbook -i environments curriculum/<module_name>/<task>/<level>/solution.yaml
- See: Linux
- Linux Timezones Setting
- Linux User Expiry
- Linux User with Non-interactive Shell
- Linux User Without Home
- Linux File Permissions
- Selinux Installation
- Linux Run Levels
- Disable Root Login
- Linux NTP Setup
- Web Server Security
- Setup SSL for Nginx
- Create a group
- Create a user
- Linux Access Control List
- Linux User Files
- Linux Remote Copy
- Cron schedule deny to users
- Linux Firewalld Rules
- Linux Resource Limits
- Create a Cron Job
- Linux Postfix Troubleshooting
- Linux String Substitute
- MariaDB Troubleshooting
- Linux Services
- Linux Banner
- Linux Collaborative Directories
- DNS Troubleshooting
- Linux SSH Authentication
- Linux Find Command
- Linux LogRotate
- Linux Configure sudo
- Install a package
- Linux GPG Encryption
- Configure Local Yum repos
- Linux Bash Scripts
- Application Security
- Add Response Headers in Apache
- Install Ansible
- Linux Firewalld Setup
- Linux Postfix Mail Server
- Install and Configure HaProxy LBR
- Haproxy LBR Troubleshooting
- Apache Troubleshooting
- See: Kubernetes
- Create Pods in Kubernetes Cluster
- Create Deployments in Kubernetes Cluster
- Create Namespaces in Kubernetes Cluster
- Set Limits for Resources in Kubernetes
- Rolling Updates in Kubernetes
- Rollback a Deployment in Kubernetes
- Create Replicaset in Kubernetes Cluster
- Create Cronjobs in Kubernetes
- Countdown job in Kubernetes
- Kubernetes Time Check Pod
- Troubleshoot Issue With Pods
- Update an Existing Deployment in Kubernetes
- ReplicationController in Kubernetes
- Fix Issue with VolumeMounts in Kubernetes
- Kubernetes Shared Volumes
- Kubernetes Sidecar Containers
- Deploy Nginx Web Server on Kubernetes Cluster
- Print Environment Variables
- Rolling Updates And Rolling Back Deployments in Kubernetes
- Deploy Jenkins on Kubernetes
- Deploy Grafana on Kubernetes Cluster
- Deploy Tomcat App on Kubernetes Cluster
- Deploy Node App on Kubernetes Cluster
- Troubleshoot Deployment issues in Kubernetes
- Fix issue with LAMP Environment in Kubernetes
- Deploy Apache Web Server on Kubernetes Cluster
- Deploy LAMP Stack on Kubernetes Cluster
- Init Containers in Kubernetes
- Persistent Volumes in Kubernetes
- Manage Secrets in Kubernetes
- Environment Variables in Kubernetes
- Kubernetes LEMP Setup
- Kubernetes Troubleshooting
- Deploy Iron Gallery App on Kubernetes
- Fix Python App Deployed on Kubernetes Cluster
- Deploy Redis Deployment on Kubernetes
- Deploy MySQL on Kubernetes
- Kubernetes Nginx and PhpFPM Setup
- Deploy Drupal App on Kubernetes
- Deploy Guest Book App on Kubernetes
- See: Ansible
- Ansible Basic Playbook
- Ansible Inventory Update
- Ansible Config File Update
- Ansible Copy Module
- Ansible File Module
- Ansible Ping Module Usage
- Ansible Install Package
- Ansible Archive Module
- Ansible Unarchive Module
- Ansible Blockinfile Module
- Creating Soft Links Using Ansible
- Managing ACLs Using Ansible
- Ansible Manage Services
- Ansible Lineinfile Module
- Ansible Replace Module
- Ansible Facts Gathering
- Ansible Create Users and Groups
- Managing Jinja2 Templates Using Ansible
- Ansible Setup Httpd and PHP
- Using Ansible Conditionals
- See: Docker
- Install Docker Package
- Run a Docker Container
- Docker Delete Container
- Docker Copy Operations
- Docker Container Issue
- Pull Docker Image
- Docker Update Permissions
- Create a Docker Image From Container
- Docker EXEC Operations
- Write a Docker File
- Create a Docker Network
- Docker Volumes Mapping
- Docker Ports Mapping
- Save, Load and Transfer Docker Image
- Write a Docker Compose File
- Resolve Dockerfile Issues
- Resolve Docker Compose Issues
- Deploy an App on Docker Containers
- Docker Node App
- Docker Python App
- See: Git
- Git Install and Create Bare Repository
- Git Clone Repositories
- Git Fork a Repository
- Git Repository Update
- Git Delete Branches
- Git Install and Create Repository
- Git Create Branches
- Git Merge Branches
- Git Manage Remotes
- Git Revert Some Changes
- See: Jenkins