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

Tran Minh Huyen - Final project submission #76

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

Conversation

DI-huyentm
Copy link

Final project todos

** Triển khai Kubernetes

  • Triển khai được Kubernetes thông qua công cụ kubeadm trên 1 node master + 1 node worker
  • 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 api service ra 1 http path
  • Triển khai Prometheus lên Kubernetes Cluster thông qua Prometheus Operator, expose 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 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
  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 JWT
  • Thực hiện phân quyền cho 2 loại người dùng trên API
  • 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

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