Các hệ thống cận biên tích hợp các tài nguyên có sẵn, tài nguyên mạng ở rìa mạng, gateway để cung cấp cơ sở tính toán xử lý dữ liệu gần với người dùng nhất.. Các công nghệ khác liên quan
ArgoCD . c2 2E EEE1E112212111111211211211211211 211 111cc 35 2.2.11.3_ TerrafOrm . + 1 11111111 11111111111111111111 1111111111111 1 11111 tk 37
Argo CD là một công cụ triển khai liên tục (CD) dành riêng cho Kubernetes, cho phép kéo mã cập nhật từ kho lưu trữ Git và triển khai trực tiếp đến tài nguyên Kubernetes, khác biệt so với các công cụ CD bên ngoài chỉ hỗ trợ triển khai theo phương thức push.
35 cho phép các nhà phát triển quản lý cả cấu hình cơ sở hạ tầng và cập nhật ứng dụng trong một hệ thống.
Argo CD cung cấp các tính năng và khả năng chính sau:
Triển khai thủ công hoặc tự động các ứng dụng vào một cụm Kubernetes.
Tự động đồng bộ hóa trạng thái ứng dụng với phiên bản hiện tại của cấu hình khai báo.
Giao diện người dùng web và giao diện dòng lệnh (CLI).
Kha năng trực quan hóa các van đề triển khai, phát hiện và khắc phục sự thay đôi cầu hình.
Kiểm soát truy cập dựa trên vai trò (RBAC) cho phép quản lý nhiều cụm. Đăng nhập một lần (SSO) với các nhà cung cấp như GitLab, GitHub, Microsoft,
OAuth2, OIDC, LinkedIn, LDAP và SAML 2.0
Hỗ trợ webhooks kích hoạt hành động trong GitLab, GitHub và BitBucket.
Terraform là công cụ mã hóa hạ tầng (Infrastructure as Code - IaC) giúp xây dựng, thay đổi và quản lý phiên bản hạ tầng một cách an toàn và hiệu quả.
HashiCorp offers an open-source tool that utilizes HashiCorp Configuration Language (HCL) for defining configuration files It organizes configurations into Providers, Modules, and Resources, allowing for efficient management Additionally, this tool integrates seamlessly with various applications within the HashiCorp ecosystem.
Packer, Nomad, Consul, Vault, ri TERRAFORM PRODECT
Define infrastructure in n rm cơ configuration flles
Tarralarm Torraform Configuration State File
Rewiew the changes Terraform will make to your restructure
Terraform provisions your letắragl re and fa aws 8 Lrị ae
Các nghiên cứu, nền tảng liên quan về AQI - 2 2 s=s+s++s+¿ 38
Trong nưỚC - - G1 0n nh 38
Tại Việt Nam, chưa có doanh nghiệp tư nhân nào triển khai các trạm quan trắc với số lượng đáng kể Hiện nay, chỉ có các giải pháp từ Bộ Tài nguyên và Môi trường đảm nhận việc này.
Chit suse không khí se, không ảnh khóa.
'# Trên Thi ak BE] đường m nan amin oon MN TEEN Pe Mại they erage)
9 0uerg hw Pang Can , Ti
,# tướng lệnh ghưêng Core nh - rig Lang 1]
Gating Mink: cư Teng cen hor t
Cổng thông tin quan trắc môi trường của Tổng cục Môi trường cung cấp dữ liệu từ khoảng 70 trạm quan trắc, chủ yếu tập trung tại miền Bắc và phân bố rải rác ở miền Trung và miền Nam.
Trung và Nam là hai khu vực được theo dõi về thời tiết và ô nhiễm không khí thông qua dữ liệu từ Tổng cục khí tượng thủy văn thuộc Bộ Tài nguyên và Môi trường Dù chưa rõ số lượng trạm và thông tin cụ thể, ứng dụng Zalo có khả năng cảnh báo cho người dùng về tình hình thời tiết và ô nhiễm không khí.
2.2.12.2 Quốc tế Đối với các nước phát triển có hệ thống trạm quan trắc lớn sẽ có ứng dụng riêng dé cho riêng từng quốc gia như Mỹ, Nhật, EU,
Ngoài ra còn có dy án toàn cầu về giám sát chất lượng không khí có thé dé thấy là World Air Quality Index project [7].
E8 là một dự án toàn cầu về môi trường, tập trung vào việc xây dựng chỉ số chất lượng không khí (Air Quality Index) nhằm cải thiện tình trạng ô nhiễm Dự án này yêu cầu sự kiên trì trong việc thương lượng với các quốc gia và khu vực để thu thập dữ liệu một cách hiệu quả.
CHƯƠNG 3: PHƯƠNG PHÁP LUẬN, NGHIÊN CỨU
Chương 3 trình bày phương pháp luận về quy trình phân tích, thiết kế kiến trúc hệ thống tính toán cận biên ESAQI theo trình tự: Phân tích thiết kế hệ thong theo mô hình phân rã cấu trúc hệ thống; đặc tả và thiết kế mô hình ngữ cảnh, mô hình giao tiếp giữa các thành phân trong hệ thông.
— | tụi Hi iH0IS0dọt | | iHDUBOM
[mm coe: Ea ES oe | m t i
! | nceeansin t aero NOLEN t Ù t Ù t on THM
Hình 3.1 Sơ đô phân rã thành phan cầu trúc hệ thong
Thiết kế Infra Layer - Phần cứng +- 2 + +++2++E£+Et£xeEzEzkerxereerees 41
Đặc tả ngữ cảnh - << 111 TH HH 46
Hệ thống mô phỏng chất lượng không khí được phát triển nhằm thu thập dữ liệu từ các trạm quan trắc, từ đó cung cấp cảnh báo và dự đoán về mức độ ô nhiễm không khí Các thiết bị như Raspberry Pi sẽ được lắp đặt tại các trạm quan trắc trong thành phố để theo dõi và phân tích chất lượng không khí một cách hiệu quả.
Pi và Jetson Nano được sử dụng làm thiết bị xử lý cận biên (Edge Gateway) cho hệ thống giám sát Tại tầng thượng của tòa nhà, các thiết bị IoT như bộ Kit Libelium Smart Cities thu thập dữ liệu về nồng độ khí (NO2, O2, CO2) và sử dụng cảm biến GPS cùng cảm biến bụi Laser Optical Dust Sensor PM2.5 Plantower PMS7003 Các trạm quan trắc còn được trang bị thiết bị di động và máy tính để truy cập vào trang quản trị, cho phép theo dõi dữ liệu thu thập được và hiển thị cảnh báo phân tích tại GATEWAY Điều này giúp quản trị viên xem xét mức độ ô nhiễm hiện tại và tương lai, đồng thời giám sát các hệ thống hoạt động qua các trang web quản trị.
Các dir liệu được thu thập và phân tích tai GATEWAY sẽ được gửi về Cloud.
Trên Cloud, hệ thống sẽ bao gồm các thành phần chính như sau: Backend sẽ nhận dữ liệu từ GATEWAY và lưu trữ vào Database, Storage để phục vụ cho việc huấn luyện AI và cung cấp API cho Web Server Web Server có nhiệm vụ giao tiếp với Backend để lấy dữ liệu và hiển thị cho người dùng, với các chức năng quản lý các trạm quan trắc, xem xét kết quả và cảnh báo qua bảng dữ liệu và biểu đồ Cuối cùng, Dashboard quản trị hệ thống sẽ bao gồm các dashboard Kubernetes và Grafana.
Prometheus, Jenkins, Argo cho quản trị viên giám sát được hệ thống, qua trình
CI CD của hệ thống. e AutoML: có chức năng train và export ra các model AI dự đoán chỉ số bụi trong tương lai.
Thiết kế mô hình hệ thống trong ngữ cảnh đã đề xuất
Tòa nhà cao tầng - trạm quan trắc
Hình 3.7 Minh họa ngữ cảnh giám sát các chỉ số không khí tại trạm quan trắc
Edge Gateway thu thập và xử lý dữ liệu chất lượng không khí từ các cảm biến, cho phép giám sát liên tục các chỉ số như PM2.5 Dữ liệu được lưu trữ và phân tích tại Gateway, sau đó hiển thị trên WEB cho các quản trị viên theo dõi Sau khi xử lý, dữ liệu sẽ được gửi về Cloud để quản lý tập trung tại Database, cho phép quản lý thông tin từ tất cả các trạm quan trắc Các quản trị viên có quyền truy cập vào hệ thống để quản lý trạm của mình, trong khi các admin cao hơn có thể theo dõi và quản lý tất cả các trạm cũng như quy trình hoạt động của hệ thống.
Hình 3.8 Mô hình ngữ cảnh giám sát chất lượng không khí trong hệ thong ESAQI
Mô hình ngữ cảnh giao tiếp giữa các thành phan
Hệ thống xử lý cận biên được thiết kế để giao tiếp hiệu quả giữa các thành phần trong mô hình ngữ cảnh Mô hình ngữ cảnh hệ thống thể hiện sự tương tác và liên kết giữa các yếu tố, giúp tối ưu hóa quy trình xử lý dữ liệu.
3.3.3.1 Phía thiết bị đầu cuối giao tiếp với vùng cận biên
Các thiết bị và cảm biến được đặt tại tầng thượng của các trạm quan trắc thu thập dữ liệu và gửi trực tiếp về Edge Gateway.
Các thiết bị đầu cuối như di động và laptop có khả năng truy cập web để theo dõi và hiển thị thông tin cũng như kết quả tính toán từ Edge Gateway Ứng dụng web này còn cung cấp cảnh báo về mức độ ô nhiễm không khí.
Phần hệ thống ở vùng Cloud
2 § Phần hệ thống ở vùng EDGE "— f=) + ơ 3 Ễ :
2 | Thiết bị dùng cuối (End-Devices) =
Hình 3.9 Mô hình ngữ cảnh hệ thống
Khi một trạm quan trắc mới tham gia vào hệ thống, các thiết bị và cảm biến sẽ được kết nối với Edge Gateway để gửi dữ liệu không khí thu thập được Dữ liệu này sẽ được phân tích và xử lý trước khi được chuyển về Cloud Trong quá trình đăng ký cho trạm quan trắc mới, Edge Gateway sẽ được cài đặt với một định danh duy nhất (hostname) có ý nghĩa, bao gồm các thông tin như tên thành phố, quận, huyện và tên trạm.
3.3.3.2 Phan vùng cận biên giao tiếp với Cloud
Controller container tại vùng cận biên thu thập dữ liệu và gửi kèm định danh lên Cloud để cập nhật thông tin mới nhất cho quản trị viên Ngoài ra, controller còn nhận dữ liệu từ thiết bị và cảm biến, chuyển tiếp tới AI container để phân tích và dự đoán các chỉ số không khí trong tương lai Sau khi hoàn tất dự đoán, dữ liệu sẽ được gửi lại cho Controller để xử lý và gửi về Cloud.
Các ứng dụng trí tuệ nhân tạo tại cận biên có thể nhận dữ liệu chat lượng không khí từ Controller để phân tích và gửi lại cho Controller.
Container images được chuyển từ Cloud xuống Edge Kubernetes Cluster, nơi có Master node thực hiện lệnh kéo và triển khai các ứng dụng đã được đóng gói từ Docker Hub Các ứng dụng này sẽ được triển khai trên các Worker Node ở vùng cận biên (Edge), tạo thành mô hình xử lý cận biên theo dạng cluster.
Các nhà phát triển sẽ cập nhật phiên bản mới của ứng dụng và các container image version lên Cloud Quá trình CI/CD sẽ được thực hiện, sau đó Kubernetes Master sẽ nhận thông báo để triển khai cập nhật phiên bản mới lên hệ thống cluster mà không cần tạm dừng dịch vụ.
Cap ehit ứng dụng ® mall
Triển khai các Container † images
Các phiên bain cập nhật mới
Hình 3.10 Sơ đồ quá trình triển khai cập nhật ứng dung
3.3.4.1 Đặc ta mô hình Use-case hệ thống Air Quality Index
Ly hông na anh sát bá Ip chest sát: các
— rắc trết vua trắc free peat bắc
The article discusses the significance of effective video tagging for enhancing visibility and engagement on platforms like TikTok It emphasizes the importance of using relevant keywords and phrases to optimize content for search engines, ensuring that videos reach a broader audience Additionally, it highlights strategies for creating compelling tags that resonate with viewers, ultimately driving traffic and increasing interaction rates.
Hệ thống Chỉ Số Chất Lượng Không Khí bao gồm các chức năng chính như sau: Dashboard hiển thị tổng quan các thông tin cần thiết, bao gồm biểu đồ về chỉ số không khí và mức độ ô nhiễm của các trạm quan trắc Ngoài ra, hệ thống còn cho phép quản lý danh sách các trạm quan trắc, hiển thị thông tin cơ bản như tên trạm, chỉ số, trạng thái và địa chỉ Cuối cùng, chức năng quản lý trạm quan trắc cung cấp thông tin chi tiết về bất kỳ trạm quan trắc nào.
Bao gồm thông tin của trạm, các chỉ số, biểu đồ, dự đoán, © Quản lý user: quản lý danh sách các user (tạo, xóa, sửa, phân quyên).
Quản lý tài khoản cho phép người dùng cập nhật thông tin cá nhân và xuất báo cáo PDF từ các trạm quan trắc, phục vụ cho việc báo cáo hiệu quả Hệ thống hỗ trợ đăng nhập và đăng xuất để người dùng dễ dàng truy cập Bên cạnh đó, một API công khai được cung cấp để lấy thông tin danh sách các trạm quan trắc, giúp người dùng phát triển các ứng dụng liên quan một cách tiện lợi với dữ liệu cơ bản cần thiết.
Các nhóm người dùng trong hệ thống bao gồm: Quản trị viên, nhóm có quyền hạn cao nhất và sử dụng tất cả chức năng của hệ thống; Quản lý các trạm quan trắc, nhóm này quản lý các trạm riêng lẻ, có quyền quản lý tài khoản và xuất báo cáo; và User thường, nhóm được phép sử dụng các API công khai để lấy thông tin về các trạm quan trắc nhằm phát triển các ứng dụng và giải pháp tương ứng.
3.3.4.2 Đặc tá mô hình Use-case hệ thống quản trị và giám sát
Mô hình Use-case cho hệ thống giám sát bao gồm các thành phần chính như sau: Kubernetes Dashboard cho phép quản trị viên quản lý trạng thái và chỉ số của Kubernetes Cluster; Jenkins Dashboard hỗ trợ thiết lập các pipeline cho quy trình test, build và deploy ứng dụng; ArgoCD Dashboard giúp quản lý các ứng dụng đã được triển khai trên hệ thống Kubernetes; và Prometheus cùng Grafana Dashboard thực hiện giám sát hệ thống cũng như các container đang chạy, đồng thời cung cấp cảnh báo cho quản trị viên.
Quản trị viên có vai trò quan trọng trong việc quản lý hệ thống giám sát, với quyền truy cập toàn diện vào các ứng dụng Họ chịu trách nhiệm giám sát và triển khai ứng dụng cho toàn bộ hệ thống, đảm bảo hoạt động hiệu quả và an toàn.
Quy trình phát triển và triển khai ứng dung - - 2+s+cz+x+zecxzs+ 54
Đặc tả ngữ cảnh HH HH HH ket 54
Mô hình này được thiết kế để tự động hóa quá trình phát triển và triển khai ứng dụng lên hệ thống Khi một trạm quan trắc mới tham gia, quy trình triển khai ứng dụng sẽ diễn ra tự động Các ứng dụng sẽ được cài đặt trên các EDGE GATEWAY tại các trạm quan trắc Hơn nữa, khi có bất kỳ chỉnh sửa, thay đổi hoặc cập nhật phiên bản mới, các ứng dụng sẽ được triển khai lại tự động trên toàn hệ thống.
Thiết kế mô hình trong ngữ cảnh dé xuất - 2-5 2 s+s+>sz£+cse: 54 CHƯƠNG 4: HIỆN THỰC, TRIEN KHAI HE THÓNG
Update contig nae Deplor Ren
Webhoek Han errs ỉ Contig rapo Sự ộ h
Hình 3.13 Quy trình phát triển và triển khai ứng dụng
Hệ thống quản ly các source code bằng các dịch vụ quan ly mã nguồn như
GitHub and GitLab host essential repositories for our projects, including the Web repository that contains the source code for the AQI Web application, the Backend repository for the backend source code, and the Config repository which holds system configuration files necessary for deploying applications on Kubernetes.
Web repository và Backend repository sẽ được kết nối với Jenkins, trong khi Config repository sẽ liên kết với ArgoCD Khi người dùng thực hiện commit thay đổi cho ứng dụng web hoặc backend, Jenkins sẽ tự động nhận biết và tiến hành quy trình test và build ứng dụng đã được thiết lập Sau khi quá trình này thành công, ứng dụng sẽ được đóng gói thành các container image và được đẩy lên DockerHub để lưu trữ Đồng thời, Jenkins cũng sẽ cập nhật lại các version tag trong các file config của Config repository Khi có sự thay đổi trong config, ArgoCD sẽ thực hiện việc đồng bộ hóa và triển khai lại các ứng dụng trên hệ thống cluster.
Model AI được huấn luyện và xuất thành các hình ảnh lưu trữ trên DockerHub sẽ được triển khai nhanh chóng bằng ArgoCD Khi có các bản cập nhật mới cho Model AI, quản trị viên sẽ thực hiện việc triển khai các mô hình này xuống EDGE thông qua bảng điều khiển của ArgoCD.
CHƯƠNG 4: HIEN THUC, TRIEN KHAI HE THONG
Trong chương này, báo cáo giới thiệu các giải pháp kỹ thuật để triển khai nền tảng hệ thống xử lý cận biên đã đề xuất, dựa trên các phân tích và thiết kế từ Chương 3 - Phương pháp luận Nội dung bao gồm việc hiện thực hóa trung tâm dữ liệu đám mây CLOUD, xử lý cận biên EDGE, thiết bị đầu cuối, thiết bị thu thập dữ liệu không khí và ứng dụng giám sát chất lượng không khí.
4.1 Triển khai cluster với các ứng dụng đã xây dựng
Các ứng dụng container tại Edge và Cloud sẽ được triển khai dưới dạng Cluster để đảm bảo tính sẵn sàng cao và dễ dàng mở rộng hệ thống khi có thêm Worker Node tham gia Đặc biệt, Kubernetes Cluster cho phép cập nhật ứng dụng mới mà không cần thời gian downtime, giúp quá trình phát triển và nâng cấp diễn ra liên tục.
4.1.2 Cài đặt K3S — Lightweight Kubernetes cho Cloud và thiết bị cận biên
Chúng ta sẽ thiết lập một Cluster với Master được triển khai trên Cloud nhằm quản lý toàn bộ tài nguyên trên Cloud và các Worker Node, bao gồm các thiết bị cận biên.
Để tạo một Cluster, cần có ít nhất một Master trong cluster Có nhiều phương pháp cài đặt K3S trên một thiết bị, nhưng cách đơn giản nhất là sử dụng Installation Script do Racherlab cung cấp.
Khi Master da duoc cai dat, ta sé lay định danh chứng thực Token từ Master dé có thé su dung cho Worker join vao Cluster
4.1.2.2 Cai đặt Worker và ghép Worker vào Cluster
Khi có token chứng thực từ Master Node, bạn cần khai báo biến môi trường trong Linux và sử dụng đoạn mã cài đặt giống như Master để cài đặt và tham gia Worker vào hệ thống.
Cluster. root@ip-172-31-22-246:~# kubectL get nodes
NAME STATUS ROLES AGE VERSION k3s-worker91 Ready 13h v1.23.6+k3s1
Hinh 4.3 Join Worker vao Cluster
4.1.3 Xây dung các kịch bản triển khai trên Cluster
Các kịch bản triển khai mô hình cluster được định nghĩa trong các file định dạng YAML Kubernetes sẽ biên dịch những kịch bản này thành các deployment và service tương ứng.
4.1.3.1 Triển khai cum deployment va service của các ứng dung tại Cloud
Như đã dé cập trong phần thiết kế mô hình ở Chương 3, mô hình sẽ gồm các deployment chính xử lý tại Cloud như sau: e Backend Server
57 e Jenkins e ArgoCD e Monitoring: Prometheus, Grafana, Node Exporter, Kuber Metrics deployment.yaml § web namespace web-deployment.yaml
Hình 4.4 Các file yaml triển khai các ứng dung tai Cloud
4.1.3.2 Triển khai cum deployment va service của các ứng dụng tai EDGE
Mô hình sẽ gồm các deployment chính xử lý tại EDGE bao gồm: e Edge Gateway e PM2.5 Prediction Server
> Pe Al_Forecasting ằ M Gateway docker-compose.yaml gateway-configmap.yaml gateway-deployment.yaml ice.yaml
Hình 4.5 Các file yaml triển khai ứng dung tai EDGE
4.2 Triển khai quy trình phát triển và triển khai ứng dụng nats “G5 Puah | -= 4 uty lirsxg# —
Cl Pipeline a< 7669 phy CD P“peăine Í ra, HELM %
Hình 4.6 Cl CD Pipeline của hệ thong
Để tự động hóa quy trình xây dựng và triển khai ứng dụng, nhóm đã áp dụng Continuous Integration (CI) và Continuous Deployment (CD) cho dự án Nhờ đó, các ứng dụng sẽ được triển khai nhanh chóng và tự động ngay khi có một Worker tham gia vào Cluster hoặc khi có yêu cầu triển khai tự động.
Nhóm sử dụng Jenkins cho quy trình CI có nhiệm vụ kiểm tra và xây dựng ứng dụng phiên bản mới, đồng thời đẩy lên Docker Hub khi người dùng commit code Sau khi hoàn tất quy trình CI, các file YAML được định nghĩa trước sẽ thay đổi version tag của image và được đẩy lại lên Github ArgoCD sẽ nhận diện sự thay đổi này và tự động đồng bộ hóa và triển khai lại lên K35.
Tiến hành tạo các Pipeline cho từng phần khác nhau: e Cloud: Web, Backend e EDGE: Gateway server
Hình 4.7 Xây dựng các pipeline cho quá trình build ứng dụng
Tiến hành tạo các project dé quản lý từng phần như: e Cloud: Web, Backend, các ứng dụng giám sát, Jenkins e EDGE: AI server va Gateway server
4.3 Hiện thực kiến trúc ha tầng
Kiến trúc hạ tầng điện toán đám mây bao gồm hai thành phần chính: máy chủ VPN để ảo hóa kết nối mạng và K3S Master để quản lý và triển khai các ứng dụng dạng Container.
Kiến trúc cần được triển khai một cách nhanh chóng và chính xác, đồng thời giảm thiểu tối đa các thao tác thủ công của quản trị viên để hạn chế các lỗi không đáng có Do đó, việc sử dụng công cụ để triển khai kiến trúc trên môi trường điện toán đám mây là rất cần thiết.
Sử dung công cu Terraform dé định nghĩa các tài nguyên cần sử dung, cách chúng kết nối với tạo ra đúng kiến trúc mong muốn.
Hình 4.9 Kiến trúc VPN Server
Thiết kế kiến trúc cho hệ thống máy chủ VPN trên nền tảng điện toán đám mây công cộng AWS bao gồm các đặc trưng quan trọng Ứng dụng được triển khai dưới dạng Stateless, tách biệt với cơ sở dữ liệu, giúp mở rộng theo chiều ngang thông qua AutoScaling Group Hệ thống đảm bảo độ sẵn sàng cao (High Availability) nhờ vào việc sử dụng cân bằng tải giữa ít nhất hai Availability Zone Ngoài ra, cơ sở dữ liệu PostgreSQL được hỗ trợ bởi dịch vụ Relational Database Service, mang lại hiệu suất và độ tin cậy cao cho hệ thống.
(RDS) Cho phép cấu hình Multi-AZ cho phép đám bảo tính sẵn sang và tăng kha năng chịu lỗi.
Sử dụng các file Terraform đã được định nghĩa từ trước để dựng VPN Server và K3S
Triển khai hệ thống máy chủ VPN gồm có các phan chính: ¢ Khai báo các thành phan sử dụng trong Terraform như Provider, Module và các
The article discusses the Virtual Private Cloud (VPC) system, highlighting key components such as subnets, routing, and security groups It also covers the Relational Database Service (RDS) for VPN server data storage and emphasizes the role of the Elastic Load Balancer in traffic distribution.
62 e Cấu hình máy chủ VPN thông qua Autoscaling Group Sử dung User Data chạy lệnh dé cài đặt, cấu hình và khởi chạy máy chủ tự động.
AWS Cloud fal Public subnet
Cài đặt K3S - Lightweight Kubernetes cho Cloud và thiết bị cận biên 56
Chúng ta sẽ thiết lập một Cluster, trong đó Master sẽ được triển khai trên Cloud nhằm quản lý toàn bộ tài nguyên trên Cloud cũng như các Worker Node, tức là các thiết bị cận biên.
Để tạo một Cluster, cần ít nhất một Master trong cluster đó Có nhiều phương pháp cài đặt K3S trên một thiết bị, nhưng cách đơn giản nhất là sử dụng Installation Script được cung cấp bởi Racherlab.
Khi Master da duoc cai dat, ta sé lay định danh chứng thực Token từ Master dé có thé su dung cho Worker join vao Cluster
4.1.2.2 Cai đặt Worker và ghép Worker vào Cluster
Khi nhận được token chứng thực từ Master Node, bạn cần khai báo biến môi trường trong Linux và sử dụng đoạn script cài đặt giống như Master để cài đặt và tham gia Worker vào hệ thống.
Cluster. root@ip-172-31-22-246:~# kubectL get nodes
NAME STATUS ROLES AGE VERSION k3s-worker91 Ready 13h v1.23.6+k3s1
Hinh 4.3 Join Worker vao Cluster
4.1.3 Xây dung các kịch bản triển khai trên Cluster
Các kịch bản triển khai mô hình cluster được định nghĩa trong các file định dạng YAML, và Kubernetes sẽ biên dịch những kịch bản này thành các deployment và service tương ứng.
4.1.3.1 Triển khai cum deployment va service của các ứng dung tại Cloud
Như đã dé cập trong phần thiết kế mô hình ở Chương 3, mô hình sẽ gồm các deployment chính xử lý tại Cloud như sau: e Backend Server
57 e Jenkins e ArgoCD e Monitoring: Prometheus, Grafana, Node Exporter, Kuber Metrics deployment.yaml § web namespace web-deployment.yaml
Hình 4.4 Các file yaml triển khai các ứng dung tai Cloud
4.1.3.2 Triển khai cum deployment va service của các ứng dụng tai EDGE
Mô hình sẽ gồm các deployment chính xử lý tại EDGE bao gồm: e Edge Gateway e PM2.5 Prediction Server
> Pe Al_Forecasting ằ M Gateway docker-compose.yaml gateway-configmap.yaml gateway-deployment.yaml ice.yaml
Hình 4.5 Các file yaml triển khai ứng dung tai EDGE
4.2 Triển khai quy trình phát triển và triển khai ứng dụng nats “G5 Puah | -= 4 uty lirsxg# —
Cl Pipeline a< 7669 phy CD P“peăine Í ra, HELM %
Hình 4.6 Cl CD Pipeline của hệ thong
Để tự động hóa quá trình xây dựng và triển khai ứng dụng, nhóm đã áp dụng CI và CD cho dự án Nhờ đó, các ứng dụng sẽ được triển khai nhanh chóng và tự động khi có một Worker tham gia vào Cluster, giúp tối ưu hóa quy trình phát triển phần mềm.
Nhóm sử dụng Jenkins trong quy trình CI để kiểm tra và xây dựng phiên bản ứng dụng mới, đồng thời đẩy lên Docker Hub khi người dùng thực hiện commit code Sau khi hoàn tất quy trình CI, các file YAML đã được định nghĩa trước sẽ cập nhật phiên bản tag của image và đẩy lại lên Github ArgoCD sẽ phát hiện sự thay đổi này và tự động đồng bộ hóa và triển khai lại lên K35.
Tiến hành tạo các Pipeline cho từng phần khác nhau: e Cloud: Web, Backend e EDGE: Gateway server
Hình 4.7 Xây dựng các pipeline cho quá trình build ứng dụng
Tiến hành tạo các project dé quản lý từng phần như: e Cloud: Web, Backend, các ứng dụng giám sát, Jenkins e EDGE: AI server va Gateway server
4.3 Hiện thực kiến trúc ha tầng
Kiến trúc hạ tầng điện toán đám mây bao gồm hai phần chính: máy chủ VPN để ảo hóa kết nối mạng và K3S Master để quản lý việc triển khai các ứng dụng dưới dạng container.
Kiến trúc cần được triển khai một cách nhanh chóng và chính xác, đồng thời giảm thiểu tối đa thao tác thủ công của quản trị viên để hạn chế các lỗi không mong muốn Do đó, việc sử dụng công cụ để triển khai kiến trúc trên môi trường điện toán đám mây là rất cần thiết.
Sử dung công cu Terraform dé định nghĩa các tài nguyên cần sử dung, cách chúng kết nối với tạo ra đúng kiến trúc mong muốn.
Hình 4.9 Kiến trúc VPN Server
Thiết kế kiến trúc cho hệ thống máy chủ VPN trên nền tảng điện toán đám mây công cộng AWS bao gồm các đặc trưng nổi bật như triển khai ứng dụng dạng Stateless, tách biệt khỏi cơ sở dữ liệu, cho phép mở rộng theo chiều ngang thông qua AutoScaling Group Hệ thống đảm bảo độ sẵn sàng cao (High Availability) nhờ vào việc sử dụng cân bằng tải giữa ít nhất 2 Availability Zone Ngoài ra, cơ sở dữ liệu PostgreSQL được hỗ trợ bởi dịch vụ Relational Database Service, tạo điều kiện thuận lợi cho việc quản lý và truy xuất dữ liệu.
(RDS) Cho phép cấu hình Multi-AZ cho phép đám bảo tính sẵn sang và tăng kha năng chịu lỗi.
Sử dụng các file Terraform đã được định nghĩa từ trước để dựng VPN Server và K3S
Triển khai hệ thống máy chủ VPN gồm có các phan chính: ¢ Khai báo các thành phan sử dụng trong Terraform như Provider, Module và các
The Virtual Private Cloud (VPC) system includes essential components such as subnets, routing, and security groups, while the Relational Database Service (RDS) provides secure data storage for VPN servers Additionally, the Elastic Load Balancer ensures efficient traffic distribution across resources.
62 e Cấu hình máy chủ VPN thông qua Autoscaling Group Sử dung User Data chạy lệnh dé cài đặt, cấu hình và khởi chạy máy chủ tự động.
AWS Cloud fal Public subnet
Triển khai K3S Master sử dụng máy ảo EC2 trên nền tảng điện toán đám mây AWS, cho phép tự động hóa quá trình cấu hình thông qua Terraform.
4.4 Hiện thực phan Trung tâm dữ liệu đám mây Cloud
4.4.1 Hiện thực Central Backend Server
Central Backend Server thực hiện hai nhiệm vụ sau:
1 Nhận dữ liệu từ EDGE, xử lý và ghi vào database
2 Quản lý thông tin các tram quan sát, thông tin người dùng đọc đữ liệu từ database va giao tiép với Web Server
Sử dụng ngôn ngữ lập trình JavaScript kết hợp với framework Node.js, cụ thể là Express.js, để phát triển API cho việc đọc, nhận và xử lý dữ liệu Bên cạnh đó, hệ thống còn hỗ trợ việc xây dựng, quản lý người dùng và các trạm quan sát, phục vụ cho các chức năng của web server cũng như các ứng dụng bên thứ ba muốn tích hợp.
Tạo một server theo kiến trúc MVC với các route hỗ trợ các phương thức GET, POST, PUT, DELETE để xử lý dữ liệu hiệu quả Để truy cập và quản lý dữ liệu tại các trạm giám sát, người dùng cần đăng nhập bằng tài khoản giám sát hoặc tài khoản ADMIN Sau khi đăng nhập, người dùng có thể sử dụng toàn bộ chức năng của trạm giám sát Bên cạnh đó, server cũng cung cấp một API Public cho phép bên thứ ba truy cập thông tin cơ bản của các trạm giám sát mà không cần đăng nhập.
Database lưu trữ các thông tin sau:
1 Thông tin tổng hợp về các trạm quan trắc bao gồm: tên trạm, khu vực, GPS, các chỉ số về không khí như PM2.5, PMI.0, PM10, nhiệt độ, độ âm, thông tin dự đoán chỉ số PM2.5 giờ tiếp theo và các thông tin khác.
2 Thông tin tài khoản bao gồm các thông tin của người dùng và trong đó có hai trường dùng dé đăng nhập: e Email e Password dưới dạng mã băm
Sử dụng MongoDB, là database dạng NoSQL hướng đối tượng, linh động với các ưu điểm sau đây: e Document oriented
Hiệu suất cao và khả năng mở rộng linh hoạt là những ưu điểm nổi bật của hệ thống này Với tính năng sharding động, nó không yêu cầu một lược đồ cứng nhắc, cho phép thêm hoặc xóa trường mà không ảnh hưởng đến ứng dụng Dữ liệu không đồng nhất và không cần các phép nối giúp tối ưu hóa việc phân phối dữ liệu Hệ thống hỗ trợ định dạng dữ liệu trong JSON hoặc BSON, cùng với khả năng tích hợp dễ dàng với Big Data Hadoop Ngoài ra, ngôn ngữ truy vấn mạnh mẽ dựa trên tài liệu, tương tự như SQL, mang lại sự tiện lợi cho người dùng.
Kết quả thử nghiệm Web Server, Backend Server va Database
Web server, Backend Server đã giao tiếp được với nhau và hiển thị các kết quả như đúng các yêu cầu đã đề ra Đ8ET 88
AQI 5.0.4 AWS Singopore (en-southedst-f]
GARE: CGLTECTSOAIS: 2 lạ: VSiinLSI# wero a Seer
AO1 Admin npr = ụ Nguyen age Uvers lụmi
Hình 5.1 Kết quả thứ nghiệm Web Server, Backend Server và Database
5.1.2 Kêt quả thử nghiệm kiên trúc ha tang
After implementation, the team successfully established a VPN server and configured a K3S master They also set up monitoring for alarm states and ensured scalability with a load balancer The system is optimized for 2G and 3G environments, allowing for efficient resource management and performance tracking.
K-ÄS_ằA.5TER-.NM 7494 đũfzeE 5.16 Y3 Ot 2G atalarge @p2y ỳ Moalann -E IiS-azzt-TC b#ađsca|ú-zaisd-bi ũs 544280952 @Miunng 0 t3 mitru @) 2/2 choc i Moalanm - Ius-azzt-Tit
Hình 5.2 Kết quả thử nghiệm triển khai kiến trúc hạ tang
5.1.3 Kết quả thử nghiệm Monitoring System
Chạy thành công hệ thống Prometheus và Grafana dé giám sát hệ thống
- oC © © localhost:20000/targetstpocl-bubernetes-service-endpaints
Endpoint State Lahsix Last Scrape Our hfạI!iNube-szte nhtles Ril3-sysizm to Êlứsterlanal'80 - ND [H-EGGTEICDHINIIEEHHNHEUNMNMNHIHN 55/0000mag 11:
BIWttetrlcs Lay hubernetes-nodes (2/3 up) =
Endpeint State Labets Last Scrape Dura
Itinr1fftieerryetesi (Refaill.40cJap2v3an=seettnsiEi+pez/I Gy | ®et\ &186/11605 6ì arcie= "anna | 10.6488 ayo 4ã: tits [seca Suerners —=ơ
Irtgis fIkiiseerretes.fetaiLi[.ẲJftpbw L oben pee, GD [eta auimetietis ⁄2 vírh= sindi£ | 5.8909 ag 487 ines
Hh ——— §n (nmarrn trpm> và ) higis.fkitberrertes.riefttulT:gụcff3U Liru0rfa840rMia!(12/peox Gay [seta %LbsirtetMes mì arcn=^xmvlfd" | #.573z ngu 2.38 mnie ea mm Te
Hình 5.3 Kết quả thie nghiệm: Prometheus
Hình 5.4 Kết quả thie nghiệm: Grafana
5.2 Kết quả thử nghiệm tai EDGE
Successfully deployed the Gateway and PM2.5 Prediction Server on EDGE The Gateway effectively receives data from endpoint devices and communicates with the PM2.5 Prediction Server to deliver accurate forecasting results.
{'Node10' : *Nodel_bu ; ", "PM18': 166.0, "PM25": 25.6, 'PM18B': 66.0, ‘Time’:
Hình 5.6 Dữ liệu nhận được từ các tram
5.3 Kêt quả thử nghiệm các thiet bị đầu cuôi
Các thiết bị đã hoạt động và gửi được dữ liệu về EDGE
Hình 5.7 Dữ liệu khi đồng thời 2 Node gửi dữ liệu về Edge Computing
5.4 Kết quả thử nghiệm cluster
Nhóm đã triển khai được Cluster và join các Worker vào cluster này rootftp-172-31-22-246:~# kubectl get nodes
Ready Ready Ready control-plane,master
Hinh 5.8 Két qua thie nghiém trién khai Cluster
5.5 _ Kết quả thử nghiệm quy trình phát triển và triển khai ứng dụng
OL upstage view li se
_ II ` mu MmIkð# one pes] te the 444 oui fee Bãi B4! PB ou Mại 1 #82 344 PM ou Mm k#i PB
D # Firvarites oevy oO ủđsxeei (C0 © nuntsync
Amage stage Lines ta ng œa
+ Lane teste |#17|, Fr PHI nạo
= bee rieties bated |#16J, ù bự TT min nạn:
+ LH BIISEESSMSE ute li, 7 ne 37 Tan sục
~_ Lưwt†sfiesl bisa [rị 7), T tr 2 rrậm sg2
> LANNEUYRisccsagfif Haáki (IT), T Fể 21 trên ape
= im rump#etmt bused (PIT), T he 2Í ren ge am Docker nape era is
Decker image ‘Depeuy R25 ‘Cmanng Up
Hình 5.9 Xây dựng Pipeline dé triển khai tự động Backend Server
Loa oul mene per page: Ti
'W lưng OB Syme rzgn!1h#[Mb/fTeesli-crÍ HET wl hes! Papa as s4
Hình 5.10 Triển khai các ứng dụng trên ArgoCD
96 a epee ren ch na ru
Hnmzè~ ồG tem fire | TT
Bm+nE 19 rang th pert 9033 v31 @eei+eemees PROT TIO
_ Hình 5.11 Minh họa triển khai Backend Server
Kết quả thử nghiệm Monitoring System c.cccccsccscssesessesesseseseeseeees 91
Chạy thành công hệ thống Prometheus và Grafana dé giám sát hệ thống
- oC © © localhost:20000/targetstpocl-bubernetes-service-endpaints
Endpoint State Lahsix Last Scrape Our hfạI!iNube-szte nhtles Ril3-sysizm to Êlứsterlanal'80 - ND [H-EGGTEICDHINIIEEHHNHEUNMNMNHIHN 55/0000mag 11:
BIWttetrlcs Lay hubernetes-nodes (2/3 up) =
Endpeint State Labets Last Scrape Dura
Itinr1fftieerryetesi (Refaill.40cJap2v3an=seettnsiEi+pez/I Gy | ®et\ &186/11605 6ì arcie= "anna | 10.6488 ayo 4ã: tits [seca Suerners —=ơ
Irtgis fIkiiseerretes.fetaiLi[.ẲJftpbw L oben pee, GD [eta auimetietis ⁄2 vírh= sindi£ | 5.8909 ag 487 ines
Hh ——— §n (nmarrn trpm> và ) higis.fkitberrertes.riefttulT:gụcff3U Liru0rfa840rMia!(12/peox Gay [seta %LbsirtetMes mì arcn=^xmvlfd" | #.573z ngu 2.38 mnie ea mm Te
Hình 5.3 Kết quả thie nghiệm: Prometheus
Hình 5.4 Kết quả thie nghiệm: Grafana
5.2 Kết quả thử nghiệm tai EDGE
Successfully deployed the Gateway and PM2.5 Prediction Server on EDGE The Gateway effectively receives data from endpoint devices and communicates with the PM2.5 Prediction Server to deliver accurate forecasting results.
{'Node10' : *Nodel_bu ; ", "PM18': 166.0, "PM25": 25.6, 'PM18B': 66.0, ‘Time’:
Hình 5.6 Dữ liệu nhận được từ các tram
5.3 Kêt quả thử nghiệm các thiet bị đầu cuôi
Các thiết bị đã hoạt động và gửi được dữ liệu về EDGE
Hình 5.7 Dữ liệu khi đồng thời 2 Node gửi dữ liệu về Edge Computing
5.4 Kết quả thử nghiệm cluster
Nhóm đã triển khai được Cluster và join các Worker vào cluster này rootftp-172-31-22-246:~# kubectl get nodes
Ready Ready Ready control-plane,master
Hinh 5.8 Két qua thie nghiém trién khai Cluster
5.5 _ Kết quả thử nghiệm quy trình phát triển và triển khai ứng dụng
OL upstage view li se
_ II ` mu MmIkð# one pes] te the 444 oui fee Bãi B4! PB ou Mại 1 #82 344 PM ou Mm k#i PB
D # Firvarites oevy oO ủđsxeei (C0 © nuntsync
Amage stage Lines ta ng œa
+ Lane teste |#17|, Fr PHI nạo
= bee rieties bated |#16J, ù bự TT min nạn:
+ LH BIISEESSMSE ute li, 7 ne 37 Tan sục
~_ Lưwt†sfiesl bisa [rị 7), T tr 2 rrậm sg2
> LANNEUYRisccsagfif Haáki (IT), T Fể 21 trên ape
= im rump#etmt bused (PIT), T he 2Í ren ge am Docker nape era is
Decker image ‘Depeuy R25 ‘Cmanng Up
Hình 5.9 Xây dựng Pipeline dé triển khai tự động Backend Server
Loa oul mene per page: Ti
'W lưng OB Syme rzgn!1h#[Mb/fTeesli-crÍ HET wl hes! Papa as s4
Hình 5.10 Triển khai các ứng dụng trên ArgoCD
96 a epee ren ch na ru
Hnmzè~ ồG tem fire | TT
Bm+nE 19 rang th pert 9033 v31 @eei+eemees PROT TIO
_ Hình 5.11 Minh họa triển khai Backend Server
KÉT LUẬN VÀ HƯỚNG PHAT TRIẺN - 2 +s+s+c+cx+x+2 98
Các kết quả đã đạt được so với đề cương đề tài . c-cecscs¿ 98
Luận văn này đã hoàn thành đầy đủ các nội dung theo đề cương và bổ sung thêm nhiều nội dung mở rộng Đầu tiên, nhóm đã nghiên cứu kỹ lưỡng về công nghệ, tìm hiểu các nền tảng và nghiên cứu liên quan, qua đó tiếp thu được nhiều công nghệ mới Thứ hai, trong Chương 3: Phương pháp luận, luận văn trình bày chi tiết quá trình thiết kế kiến trúc hệ thống xử lý cận biên, với kiến trúc được xây dựng dựa trên công nghệ điều phối ảo hóa Kubernetes nhằm tạo ra một cluster quản lý hiệu quả Cuối cùng, luận văn cũng đề cập đến việc xây dựng và triển khai ứng dụng chạy trên container để giám sát chỉ số chất lượng không khí ngay tại cạnh biên.
1 Triển khai thêm được hệ thống giám sát chạy trên Cloud để giám sát tài nguyên, các container chạy trên hệ thống
2 Triển khai thêm được quy trình phát triển và triển khai ứng dụng (CI CD)
Hướng phat tigre lic lccetecsseesssesedsessessessessssessessssssscsssssssessessssseseesees 99
sử dung Jenkins và ArgoCD để tự động hóa 6.1.2 Hạn chế
Trong quá trình thực hiện đồ án, nhóm sinh viên đã nỗ lực học hỏi và tìm hiểu các công nghệ và kiến thức mới Tuy nhiên, do khối lượng kiến thức lớn và thời gian hạn chế, nhóm đã gặp khó khăn trong việc tiếp cận Mặc dù vậy, nhóm đã hoàn thành và chạy thành công đồ án ở phiên bản thử nghiệm Để sản phẩm có thể được sử dụng trong môi trường doanh nghiệp lớn và thương mại hóa, cần trải qua nhiều giai đoạn cải tiến, tối ưu hóa và đầu tư kinh phí để nâng cấp.
Với mô hình hiện tại của đề tài, sản phâm vẫn còn có thể phát triển, nâng cấp thêm theo nhiều hướng khác nhau:
6.2.1 Hoạt động không gián đoạn khi cách ly Edge va Cloud Ở sản phẩm hiện tại, hệ thống vẫn có thé làm việc bình thường trong mạng nội bộ khi việc mat kết nói internet tới Public Cloud Nhưng quá trình này sẽ tạo ra gián đoạn trên database được đặt trên Cloud Vì thé, hướng phát triển tiếp theo có thé hướng đến việc đồng bộ hóa database giữa Edge và Cloud dé có thé trong suốt quá trình cập nhật dir liệu đồng bộ, không còn gián đoạn khi bị cách ly.
6.2.2 Edge Intelligence - Trí tuệ nhân tao tại Edge
Hiện nay, việc đưa trí tuệ nhân tạo xuống Edge đang trở thành xu hướng phổ biến Tương lai của xu hướng này tập trung vào việc tối ưu hóa thuật toán và áp dụng Deep Learning trên Edge Trong bài viết này, nhóm sẽ chỉ đề cập đến việc huấn luyện mô hình AI từ Cloud và triển khai xuống Edge thông qua công nghệ ảo hóa container.