Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HoangBaBao-NopBaiCuoiKy #66

Open
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

BaoICTHustK67
Copy link

@BaoICTHustK67 BaoICTHustK67 commented Jun 13, 2024

Final project todos

** Triển khai Kubernetes

  • Triển khai được Kubernetes thông qua công cụ kubeadm trên 1 controlplane + 2 workernode
  • Submit: Tài liệu cài đặt, hình ảnh demo
  1. K8S Helm Chart
  • Cài đặt ArgoCD lên Kubernetes Cluster, expose được ArgoCD qua NodePort
  • Viết 2 Helm Chart cho web Deployment và api Deployment
  • Tạo 2 Repo Config cho web và api
  • Sử dụng tính năng multiple sources của ArgoCD, expose các service này dưới dạng NodePort
  • Submit: File manifests, Ảnh chụp giao diện màn hình hệ thống ArgoCD, Các Helm Chart sử dụng, Các file values.yaml trong 2 config repo của web service và api service, ảnh chụp giao diện màn hình hệ thống ArgoCD, ảnh chụp giao diện màn hình trình duyệt khi truy cập vào Web URL, API URL
  1. Continuous Delivery
  • Viết 2 luồng CD cho 2 repo web và api
  • Tự động chạy unit test khi push commit lên một branch
  • Submit: Các file setup công cụ của 2 luồng CD, output log của 2 luồng CD khi tạo tag mới trên repo web và repo api, Hình ảnh history của ArgoCD
  1. Monitoring
  • Expose metric của web service và api service ra 1 http path
  • Triển khai Prometheus lên Kubernetes Cluster thông qua Prometheus Operator, phơi ra ngoài dưới dạng NodePort:
  • Sử dụng Service Monitor của Prometheus Operator để giám sát Web Deployment và API Deployment
  • Submit: Các file setup để triển khai Prometheus lên Kubernetes Cluster, hình ảnh khi truy cập vào Prometheus UI thông qua trình duyệt, danh sách target của Web Deployment và API Deployment được giám sát bởi Prometheus
  1. Logging
  • Sử dụng Kubernetes DaemonSet triển khai fluentd hoặc fluentbit lên kubernetes
  • Đẩy log của các Deployment Web Deployment và API Deployment lên cụm ElasticSearch
  • Submit: Tài liệu cài đặt fluentd trên DaemonSet
  1. Security
  • Dựng HAProxy Loadbalancer trên 1 VM riêng mở 2 port web_port và api_port trên LB trỏ đến 2 NodePort của Web Deployment và API Deployment trên K8S Cluster
  • Submit: File cấu hình của HAProxy Loadbalancer cho web port và api port, kết quả truy cập vào web port và api port từ trình duyệt thông qua giao thức https
  • Đảm bảo 1 số URL của api service khi truy cập phải có xác thực thông qua auth token
  • Thực hiện phân quyền cho 2 loại người dùng trên API
  • Submit: File trình bày giải pháp sử dụng để authen/authorization cho các service, kết quả HTTP Response khi curl hoặc dùng postman gọi vào các URL khi truyền thêm thông tin xác thực và khi không truyền thông tin xác thực, kết quả HTTP Response khi dùng postman vào các URL với các method GET/POST/DELETE khi lần lượt dùng thông tin xác thực của các user có role là user và admin
  • Sử dụng 1 trong số các giải pháp để ratelimit cho Endpoint của api Service
  • Submit: File tài liệu trình bày giải pháp và hình ảnh kết quả thử nghiệm

@BaoICTHustK67 BaoICTHustK67 changed the title Final_Submission HoangBaBao-NopBaiCuoiKy Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant