{"id":17182563,"url":"https://github.com/ntheanh201/kodekloud-engineer","last_synced_at":"2025-04-13T16:12:49.960Z","repository":{"id":180656211,"uuid":"665414426","full_name":"ntheanh201/kodekloud-engineer","owner":"ntheanh201","description":"KodeKloud Engineer solutions","archived":false,"fork":false,"pushed_at":"2024-10-18T15:35:21.000Z","size":1777,"stargazers_count":27,"open_issues_count":1,"forks_count":21,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-13T16:12:43.766Z","etag":null,"topics":["ansible","docker","git","hacktoberfest","jenkins","kodekloud-engineer","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntheanh201.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-12T06:44:13.000Z","updated_at":"2025-01-22T15:32:04.000Z","dependencies_parsed_at":"2024-05-18T04:24:08.326Z","dependency_job_id":"3d905f7d-4979-4be0-98e5-90db5b2abe2d","html_url":"https://github.com/ntheanh201/kodekloud-engineer","commit_stats":null,"previous_names":["ntheanh201/kodekloud-engineer-ansible","ntheanh201/kodekloud-engineer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntheanh201%2Fkodekloud-engineer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntheanh201%2Fkodekloud-engineer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntheanh201%2Fkodekloud-engineer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntheanh201%2Fkodekloud-engineer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntheanh201","download_url":"https://codeload.github.com/ntheanh201/kodekloud-engineer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741195,"owners_count":21154255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","docker","git","hacktoberfest","jenkins","kodekloud-engineer","kubernetes"],"created_at":"2024-10-15T00:37:28.213Z","updated_at":"2025-04-13T16:12:49.940Z","avatar_url":"https://github.com/ntheanh201.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# KodeKloud Engineer\n\nHi folks 👋\n\n- This repository is my journey at KodeKloud Engineer, my solutions will be updated here.\n- I also updated the way to solve Linux problems, instead of doing some boring Linux commands, my solution will solve it\n  by leveraging Ansible\n\n## Ranking\n\n- Update 24/09/2023: Promoted to **Senior DevOps Engineer**\n\n![Senior DevOps Engineer](assets/senior.png)\n\n# SSH commands\n\n| Service Name             | Command                     |\n| ------------------------ | --------------------------- |\n| Nautilus App 1           | `ssh tony@172.16.238.10`    |\n| Nautilus App 2           | `ssh steve@172.16.238.11`   |\n| Nautilus App 3           | `ssh banner@172.16.238.12`  |\n| Nautilus HTTP LBR        | `ssh loki@172.16.238.14`    |\n| Nautilus DB Server       | `ssh peter@172.16.239.10`   |\n| Nautilus Storage Server  | `ssh natasha@172.16.238.15` |\n| Nautilus Backup Server   | `ssh clint@172.16.238.16`   |\n| Nautilus Mail Server     | `ssh groot@172.16.238.17`   |\n| Jenkins Server for CI/CD | `ssh jenkins@172.16.238.19` |\n\n# SSH to server with sshpass\n\n`sudo yum install sshpass -y`\n\n| Server Name | Purpose                  | Command                                                                     |\n| ----------- | ------------------------ | --------------------------------------------------------------------------- |\n| stapp01     | Nautilus App 1           | `sshpass -p Ir0nM@n ssh -o StrictHostKeyChecking=no tony@172.16.238.10`     |\n| stapp02     | Nautilus App 2           | `sshpass -p Am3ric@ ssh -o StrictHostKeyChecking=no steve@172.16.238.11`    |\n| stapp03     | Nautilus App 3           | `sshpass -p BigGr33n ssh -o StrictHostKeyChecking=no banner@172.16.238.12`  |\n| stlb01      | Nautilus HTTP LBR        | `sshpass -p Mischi3f ssh -o StrictHostKeyChecking=no loki@172.16.238.14`    |\n| stdb01      | Nautilus DB Server       | `sshpass -p 'Sp!dy' ssh -o StrictHostKeyChecking=no peter@172.16.239.10`    |\n| ststor01    | Nautilus Storage Server  | `sshpass -p Bl@kW ssh -o StrictHostKeyChecking=no natasha@172.16.238.15`    |\n| stbkp01     | Nautilus Backup Server   | `sshpass -p H@wk3y3 ssh -o StrictHostKeyChecking=no clint@172.16.238.16`    |\n| stmail01    | Nautilus Mail Server     | `sshpass -p Gr00T123 ssh -o StrictHostKeyChecking=no groot@172.16.238.17`   |\n| jenkins     | Jenkins Server for CI/CD | `sshpass -p 'j@rv!s' ssh -o StrictHostKeyChecking=no jenkins@172.16.238.19` |\n\n# Getting Started\n\n## Jump server information\n\n- Jumphost: `CentOS 8`\n    - user: `thor`\n    - password: `mjolnir123`\n\n- Nautilus App Servers: `CentOS 7`\n\n## How to solve Linux problems\n\n- Clone the repository: `git clone https://github.com/ntheanh201/kodekloud-engineer.git`\n- Go to folder: `cd kodekloud-engineer`\n- Install Ansible: `./install_ansible.sh`\n- Solve Linux tasks by running Ansible playbook\n\n## Test environment\n\n`ansible-playbook -i test-environments curriculum/\u003cmodule_name\u003e/\u003ctask\u003e/\u003clevel\u003e/solution.yaml`\n\n## Nautilus environment\n\n`ansible-playbook -i environments curriculum/\u003cmodule_name\u003e/\u003ctask\u003e/\u003clevel\u003e/solution.yaml`\n\n# Curriculum\n\n## Linux (automated with Ansible)\n\n- See: [Linux](/curriculum/linux)\n\n### Level 1\n\n- [Linux Timezones Setting](/curriculum/linux/level-1/linux-timezones-setting/)\n- [Linux User Expiry](/curriculum/linux/level-1/linux-user-expiry/)\n- [Linux User with Non-interactive Shell](/curriculum/linux/level-1/linux-user-with-non-interactive-shell/)\n- [Linux User Without Home](/curriculum/linux/level-1/linux-user-without-home/)\n- [Linux File Permissions](/curriculum/linux/level-1/linux-file-permissions/)\n- [Selinux Installation](/curriculum/linux/level-1/selinux-installation/)\n- [Linux Run Levels](/curriculum/linux/level-1/linux-run-levels/)\n- [Disable Root Login](/curriculum/linux/level-1/disable-root-login/)\n- [Linux NTP Setup](/curriculum/linux/level-1/linux-ntp-setup/)\n- [Web Server Security](/curriculum/linux/level-1/web-server-security)\n- [Setup SSL for Nginx](/curriculum/linux/level-1/setup-ssl-nginx/)\n- [Create a group](/curriculum/linux/level-1/create-a-group/)\n- [Create a user](/curriculum/linux/level-1/create-a-user/)\n- [Linux Access Control List](/curriculum/linux/level-1/linux-access-control-list/)\n- [Linux User Files](/curriculum/linux/level-1/linux-user-files/)\n- [Linux Remote Copy](/curriculum/linux/level-1/linux-remote-copy/)\n- [Cron schedule deny to users](/curriculum/linux/level-1/cron-schedule-deny-to-users)\n- [Linux Firewalld Rules](/curriculum/linux/level-1/linux-firewalld-rules)\n- [Linux Resource Limits](/curriculum/linux/level-1/linux-resource-limits)\n\n### Level 2\n\n- [Create a Cron Job](/curriculum/linux/level-2/create-a-cron-job/)\n- [Linux Postfix Troubleshooting](/curriculum/linux/level-2/linux-postfix-troubleshooting/)\n- [Linux String Substitute](/curriculum/linux/level-2/linux-string-substitute/)\n- [MariaDB Troubleshooting](/curriculum/linux/level-2/mariadb-troubleshooting/)\n- [Linux Services](/curriculum/linux/level-2/linux-services/)\n- [Linux Banner](/curriculum/linux/level-2/linux-banner)\n- [Linux Collaborative Directories](/curriculum/linux/level-2/linux-collaborative-directories/)\n- [DNS Troubleshooting](/curriculum/linux/level-2/dns-troubleshooting/)\n- [Linux SSH Authentication](/curriculum/linux/level-2/linux-ssh-authentication/)\n- [Linux Find Command](/curriculum/linux/level-2/linux-find-command/)\n- [Linux LogRotate](/curriculum/linux/level-2/linux-log-rotate/)\n- [Linux Configure sudo](/curriculum/linux/level-2/linux-configure-sudo/)\n- [Install a package](/curriculum/linux/level-2/install-a-package/)\n- [Linux GPG Encryption](/curriculum/linux/level-2/linux-gpg-encryption/)\n- [Configure Local Yum repos](/curriculum/linux/level-2/configure-local-yum-repos/)\n- [Linux Bash Scripts](/curriculum/linux/level-2/linux-bash-scripts)\n- [Application Security](/curriculum/linux/level-2/application-security/)\n- [Add Response Headers in Apache](/curriculum/linux/level-2/add-response-headers-in-apache)\n- [Install Ansible](/curriculum/linux/level-2/install-ansible)\n- [Linux Firewalld Setup](/curriculum/linux/level-2/linux-firewalld-setup)\n- [Linux Postfix Mail Server](/curriculum/linux/level-2/linux-postfix-mail-server/)\n- [Install and Configure HaProxy LBR](/curriculum/linux/level-2/install-and-configure-haproxy-lbr)\n- [Haproxy LBR Troubleshooting](/curriculum/linux/level-2/haproxy-lbr-troubleshooting)\n- [Apache Troubleshooting](/curriculum/linux/level-2/apache-troubleshooting)\n\n### Level 3\n\n- [Apache Redirects](/curriculum/linux/level-3/apache-redirects/)\n\n## Kubernetes\n\n- See: [Kubernetes](/curriculum/kubernetes)\n\n### Level 1\n\n- [Create Pods in Kubernetes Cluster](/curriculum/kubernetes/level-1/create-pods-in-k8s-cluster)\n- [Create Deployments in Kubernetes Cluster](/curriculum/kubernetes/level-1/create-deployments-in-k8s-cluster)\n- [Create Namespaces in Kubernetes Cluster](/curriculum/kubernetes/level-1/create-namespaces-in-k8s-cluster)\n- [Set Limits for Resources in Kubernetes](/curriculum/kubernetes/level-1/set-limits-for-resources-in-k8s)\n- [Rolling Updates in Kubernetes](/curriculum/kubernetes/level-1/rolling-updates-in-k8s)\n- [Rollback a Deployment in Kubernetes](/curriculum/kubernetes/level-1/rollback-a-deployment-in-k8s)\n- [Create Replicaset in Kubernetes Cluster](/curriculum/kubernetes/level-1/create-replicaset-in-k8s-cluster)\n- [Create Cronjobs in Kubernetes](/curriculum/kubernetes/level-1/create-cronjobs-in-k8s)\n- [Countdown job in Kubernetes](/curriculum/kubernetes/level-1/countdown-job-in-k8s)\n- [Kubernetes Time Check Pod](/curriculum/kubernetes/level-1/k8s-time-check-pod)\n- [Troubleshoot Issue With Pods](/curriculum/kubernetes/level-1/troubleshoot-issue-with-pods)\n- [Update an Existing Deployment in Kubernetes](/curriculum/kubernetes/level-1/update-an-existing-deployment-in-k8s)\n- [ReplicationController in Kubernetes](/curriculum/kubernetes/level-1/replication-controller-in-k8s)\n- [Fix Issue with VolumeMounts in Kubernetes](/curriculum/kubernetes/level-1/fix-issue-with-volume-mounts-in-k8s)\n\n### Level 2\n\n- [Kubernetes Shared Volumes](/curriculum/kubernetes/level-2/k8s-shared-volumes)\n- [Kubernetes Sidecar Containers](/curriculum/kubernetes/level-2/k8s-sidecar-containers)\n- [Deploy Nginx Web Server on Kubernetes Cluster](/curriculum/kubernetes/level-2/deploy-nginx-webserver-on-k8s-cluster)\n- [Print Environment Variables](/curriculum/kubernetes/level-2/print-environment-variables)\n- [Rolling Updates And Rolling Back Deployments in Kubernetes](/curriculum/kubernetes/level-2/rolling-updates-and-rolling-back-deployments-in-k8s)\n- [Deploy Jenkins on Kubernetes](/curriculum/kubernetes/level-2/deploy-jenkins-on-k8s)\n- [Deploy Grafana on Kubernetes Cluster](/curriculum/kubernetes/level-2/deploy-grafana-on-k8s-cluster)\n- [Deploy Tomcat App on Kubernetes Cluster](/curriculum/kubernetes/level-2/deploy-tomcat-app-on-k8s)\n- [Deploy Node App on Kubernetes Cluster](/curriculum/kubernetes/level-2/deploy-node-app-on-k8s)\n- [Troubleshoot Deployment issues in Kubernetes](/curriculum/kubernetes/level-2/troubleshoot-deployment-issues-in-k8s)\n- [Fix issue with LAMP Environment in Kubernetes](/curriculum/kubernetes/level-2/fix-issue-with-lamp-environment-in-k8s)\n\n### Level 3\n\n- [Deploy Apache Web Server on Kubernetes Cluster](/curriculum/kubernetes/level-3/deploy-apache-web-server-on-k8s-cluster)\n- [Deploy LAMP Stack on Kubernetes Cluster](/curriculum/kubernetes/level-3/deploy-lamp-stack-on-k8s-cluster)\n- [Init Containers in Kubernetes](/curriculum/kubernetes/level-3/init-containers-in-k8s)\n- [Persistent Volumes in Kubernetes](/curriculum/kubernetes/level-3/persistent-volumes-in-k8s)\n- [Manage Secrets in Kubernetes](/curriculum/kubernetes/level-3/manage-secrets-in-k8s)\n- [Environment Variables in Kubernetes](/curriculum/kubernetes/level-3/environment-variables-in-k8s)\n- [Kubernetes LEMP Setup](/curriculum/kubernetes/level-3/k8s-lemp-setup)\n- [Kubernetes Troubleshooting](/curriculum/kubernetes/level-3/k8s-troubleshooting)\n- [Deploy Iron Gallery App on Kubernetes](/curriculum/kubernetes/level-3/deploy-iron-gallery-app-on-k8s)\n- [Fix Python App Deployed on Kubernetes Cluster](/curriculum/kubernetes/level-3/fix-python-app-deployed-on-k8s-cluster)\n\n### Level 4\n\n- [Deploy Redis Deployment on Kubernetes](/curriculum/kubernetes/level-4/deploy-redis-deployment-on-k8s)\n- [Deploy MySQL on Kubernetes](/curriculum/kubernetes/level-4/deploy-mysql-on-k8s)\n- [Kubernetes Nginx and PhpFPM Setup](/curriculum/kubernetes/level-4/deploy-mysql-on-k8s)\n- [Deploy Drupal App on Kubernetes](/curriculum/kubernetes/level-4/deploy-drupal-app-on-k8s)\n- [Deploy Guest Book App on Kubernetes](/curriculum/kubernetes/level-4/deploy-guest-book-app-on-k8s)\n\n## Ansible\n\n- See: [Ansible](/curriculum/ansible)\n\n### Level 1\n\n- [Ansible Basic Playbook](/curriculum/ansible/level-1/ansible-basic-playbook)\n- [Ansible Inventory Update](/curriculum/ansible/level-1/ansible-inventory-update)\n- [Ansible Config File Update](/curriculum/ansible/level-1/ansible-config-file-update)\n- [Ansible Copy Module](/curriculum/ansible/level-1/ansible-copy-module)\n- [Ansible File Module](/curriculum/ansible/level-1/ansible-file-module)\n\n### Level 2\n\n- [Ansible Ping Module Usage](/curriculum/ansible/level-2/ansible-ping-module-usage)\n- [Ansible Install Package](/curriculum/ansible/level-2/ansible-install-package)\n- [Ansible Archive Module](/curriculum/ansible/level-2/ansible-archive-module)\n- [Ansible Unarchive Module](/curriculum/ansible/level-2/ansible-unarchive-module)\n- [Ansible Blockinfile Module](/curriculum/ansible/level-2/ansible-blockinfile-module)\n\n### Level 3\n\n- [Creating Soft Links Using Ansible](/curriculum/ansible/level-3/create-soft-links-using-ansible)\n- [Managing ACLs Using Ansible](/curriculum/ansible/level-3/create-soft-links-using-ansible)\n- [Ansible Manage Services](/curriculum/ansible/level-3/ansible-manage-services)\n- [Ansible Lineinfile Module](/curriculum/ansible/level-3/ansible-lineinfile-module)\n- [Ansible Replace Module](/curriculum/ansible/level-3/ansible-replace-module)\n\n### Level 4\n\n- [Ansible Facts Gathering](/curriculum/ansible/level-4/ansible-facts-gathering)\n- [Ansible Create Users and Groups](/curriculum/ansible/level-4/ansible-create-users-and-groups)\n- [Managing Jinja2 Templates Using Ansible](/curriculum/ansible/level-4/managing-jinja2-templates-using-ansible)\n- [Ansible Setup Httpd and PHP](/curriculum/ansible/level-4/ansible-setup-httpd-and-php)\n- [Using Ansible Conditionals](/curriculum/ansible/level-4/using-ansible-conditionals)\n\n## Docker\n\n- See: [Docker](/curriculum/docker)\n\n### Level 1\n\n- [Install Docker Package](/curriculum/docker/level-1/install-docker-package)\n- [Run a Docker Container](/curriculum/docker/level-1/run-a-docker-container)\n- [Docker Delete Container](/curriculum/docker/level-1/docker-delete-container)\n- [Docker Copy Operations](/curriculum/docker/level-1/docker-copy-operations)\n- [Docker Container Issue](/curriculum/docker/level-1/docker-container-issue)\n\n### Level 2\n\n- [Pull Docker Image](/curriculum/docker/level-2/pull-docker-image)\n- [Docker Update Permissions](/curriculum/docker/level-2/docker-update-permissions)\n- [Create a Docker Image From Container](/curriculum/docker/level-2/create-a-docker-image-from-container)\n- [Docker EXEC Operations](/curriculum/docker/level-2/docker-exec-operations)\n- [Write a Docker File](/curriculum/docker/level-2/write-a-docker-file)\n\n### Level 3\n\n- [Create a Docker Network](/curriculum/docker/level-3/create-a-docker-network)\n- [Docker Volumes Mapping](/curriculum/docker/level-3/docker-volumes-mapping)\n- [Docker Ports Mapping](/curriculum/docker/level-3/docker-ports-mapping)\n- [Save, Load and Transfer Docker Image](/curriculum/docker/level-3/save-load-transfer-docker-image)\n- [Write a Docker Compose File](/curriculum/docker/level-3/write-a-docker-compose-file)\n\n### Level 4\n\n- [Resolve Dockerfile Issues](/curriculum/docker/level-4/resolve-dockerfile-issues)\n- [Resolve Docker Compose Issues](/curriculum/docker/level-4/resolve-docker-compose-issues)\n- [Deploy an App on Docker Containers](/curriculum/docker/level-4/deploy-an-app-on-docker-containers)\n- [Docker Node App](/curriculum/docker/level-4/docker-node-app)\n- [Docker Python App](/curriculum/docker/level-4/docker-python-app)\n\n## Git\n\n- See: [Git](/curriculum/git)\n\n### Level 1\n\n- [Git Install and Create Bare Repository](/curriculum/git/level-1/git-install-and-create-bare-repository)\n- [Git Clone Repositories](/curriculum/git/level-1/git-clone-repositories)\n- [Git Fork a Repository](/curriculum/git/level-1/git-fork-a-repository)\n- [Git Repository Update](/curriculum/git/level-1/git-repository-update)\n- [Git Delete Branches](/curriculum/git/level-1/git-delete-branches)\n\n### Level 2\n\n- [Git Install and Create Repository](/curriculum/git/level-2/git-install-and-create-repository)\n- [Git Create Branches](/curriculum/git/level-2/git-create-branches)\n- [Git Merge Branches](/curriculum/git/level-2/git-merge-branches)\n- [Git Manage Remotes](/curriculum/git/level-2/git-manage-remotes)\n- [Git Revert Some Changes](/curriculum/git/level-2/git-revert-some-changes)\n\n### Level 3\n\n- [Git Cherry Pick](/curriculum/git/level-3/git-cherry-pick)\n- [Manage Git Pull Requests](/curriculum/git/level-3/git-manage-pull-requests)\n- [Git hard reset](/curriculum/git/level-3/git-hard-reset)\n- [Git Clean](/curriculum/git/level-3/git-clean)\n- [Git Stash](/curriculum/git/level-3/git-stash)\n\n### Level 4\n\n- [Git Rebase](/curriculum/git/level-4/git-rebase)\n- [Manage Git Repositories](/curriculum/git/level-4/manage-git-repositories)\n- [Resolve Git Merge Conflicts](/curriculum/git/level-4/resolve-git-merge-conflicts)\n- [Git Hook](/curriculum/git/level-4/git-hook)\n- [Git Setup from Scratch](/curriculum/git/level-4/git-setup-from-scratch)\n\n## Jenkins\n\n- See: [Jenkins](/curriculum/jenkins)\n\n### Level 1\n\n- [Jenkins Installation](/curriculum/jenkins/level-1/jenkins-installation)\n- [Jenkins Plugins](/curriculum/jenkins/level-1/jenkins-plugins)\n- [Jenkins Create Users](/curriculum/jenkins/level-1/jenkins-create-users)\n- [Jenkins Folders](/curriculum/jenkins/level-1/jenkins-folders)\n- [Jenkins Install Packages](/curriculum/jenkins/level-1/jenkins-install-packages)\n\n### Level 2\n\n- [Jenkins Views](/curriculum/jenkins/level-2/jenkins-views)\n- [Jenkins Parameterized Builds](/curriculum/jenkins/level-2/jenkins-parameterized-builds)\n- [Jenkins Workspaces](/curriculum/jenkins/level-2/jenkins-workspaces)\n- [Jenkins Database Backup Job](/curriculum/jenkins/level-2/jenkins-database-backup-job)\n- [Jenkins Scheduled Jobs](/curriculum/jenkins/level-2/jenkins-scheduled-jobs)\n\n### Level 3\n\n## Cloud (AWS) - Coming Soon\n\n## Cloud (Azure) - Coming Soon\n\n## Cloud (GCP) - Coming Soon\n\n## Projects - Coming Soon\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntheanh201%2Fkodekloud-engineer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntheanh201%2Fkodekloud-engineer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntheanh201%2Fkodekloud-engineer/lists"}