1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sử dụng auto – scaling Để tối ưu hóa tài nguyên kubernetes trong môi trường devops

46 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 3,75 MB

Nội dung

Do đó, vấn đề đặt ra là làm thế nào để tối ưu hóa việc sử dụng tài nguyên trong khi vẫn đảm bảo hiệu suất và độ tin cậy cao cho các ứng dụng kinh doanh.. e _ Triển khai và Thử nghiệm: T

Trang 1

ĐẠI HỌC QUOC GIA HA NOI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 2

MỤC LỤC

1.1 Đặt vẫn đề và Mục Tiêu của để tài cu chư 1 5H: a5 ẽẽ.ẽ 1 1.12 Mục tiêu đểtàải nhu he gue 1

1.2 Tổng quan về Kubernetes và Auto - Scaling 0.c.cccccccccsesccssesesseseesesssessesssaesseens 1 1.2.1 Kubernetes: Hé thong quan ly Container 0 0.ccccccccscsscsssessesseseseesseesesssesreeseees 1 1.2.2 Auto — Scaling trong Kubernetes 0 ccc ccccccsecssesecsesseesesecssessesersesseesevseessenees 2 1.3 Tầm quan trọng của Tối ưu hóa tài nguyên sử dụng trong Doanh Nghiệp 3

2.1 Kubernetes: Kiến trúc vả Thành Phẩn 2-5562 E1 22122112211271122122212211 1c c2 5 2.1.1 _ Kiến trúc tổng quan -.- Sc SE E2 2121122 E121 n1 tra 5 2.1.2 Cac Components trong Kubernefes - c2 1122 vn 1211111181118 1 ray 5 2.2, Auto — Scaling trong Kubern€fes - - : cc 1211111011211 11011 1101210121111 Hy 7

2.2.1 Phân loại Auto - Scaling - s.c c 2t k2 1n 191 101181 0110111110 115101 1H hy hy 7

"No cu ha .A 10 2.2.2.1 CPU va Memory ÌM€trIC§ L- L2 2111919913911 1011 111111151 121111581 ky 11 2.2.2.2 _ Custom và External IMetrICS c2 2121 12121111111111111111 1111 1111k hy 11

2.2.2.3 Các công cụ thu thập ÍMetrICS c 22112 1211 1011011011111 1x ray 12

3.1 _ Cài đặt và cầu hình Kubernetes cluster sử dung Docker va kind 14 3.1.1 Khởi tạo máy ảO LH 1H HH HH HH TH HH Hà HH TH Huy 14 3.1.2 Cài đặt Docker ng TS ng KT KT kg 11 kg 16

3.1.4 Cầu hình Kubernetes Cluster sử dụng kind - ác: 2x2 xe sxee 18

3.2 Triển khai ứng dụng và Cầu hình Auto - Šcaling - ác scchncgr rr ren 19

3.3 Cài đặt và Cấu hình Prometheus và Grafana đề Giám Sát Hiệu Suắt 22 3.4 Xây dựng kịch bản thử nghiệm ó1 0 1211211011211 110111110111 11011 81121112111 27

3.4.1 Mô phỏng quá tải đột ngột L0 1H 29H 12101111 0110110111111 1515 1x ru 28 3.4.2 Mô phỏng giảm tải ngoài giờ cao điểm - 2t E2 212gr ra He 29

Trang 3

3.4.3 Mô phỏng sự cố hạ tầng s- 1c c cET TnEHEHn t1 1212 1 H221 ng re 30

4.1 Cài đặt và Cấu hình Prometheus và Grafana đề Giám Sát Hiệu Suát 32 4.2 So Sánh Hiệu Năng và Tài Nguyên Trước và Sau Khi Áp dụng Auto-Scaling 34 4.2.1 Kết quả mô phỏng giảm tải ngoài giờ cao điểm St nnHnnH ren 34 4.2.2 Kết quả mô phỏng quá tải đột ngột - 5à 1 2t nề E122 211g re ra He 35 4.2.3 Kết quả mô phỏng sự cố hạ tầng 5à 1n nề E122 21 1211211 rrre 37 4.3 Đánh Giá Vấn Đề và Giải Pháp 5à nTn ng HrnH H121 121 neo 38 4.3.1 Nhận diện Vấn ĐỀ ( S221 1 211211 12211 12212212211 e 38

4.3.3 Kết luận 5- 2c 22122112212 1102122212 n1 12H r H2 tru 39

Trang 4

DANH MUC HINH ANH Hình 1.1 Ví dụ về Numberlink -. s5: 22222222211221111221122711211112211211.1 E1 1

Hinh 1.2 Minh hoa cách giải Numberlink 222 222122212511 1511551 1511151151521 2y 1 Hình 1.3 Ứng dụng của MAPF cho robot vận chuyên hàng hóa trong kho 1

Hình 1.4 Bai toan MAPF dua vé bai toán Numberlink 222222222252 22222xc2zzc4 2 Hình 1.5 Minh hoa luật chơi a) của Numberlink - 5 22 2 2211222121221 2221221 212212 2 Hình 1.6 Minh họa luật choi b) của Numberlink cece 2222222222 2222e+ss2 3 Hình 1.7 Minh họa luật chơi c) của Numberlink - 2 22 22221122212 22212321222 1212 3

Hình 1.8 Biểu đỗ thứ tự thực hiện bai toán SATT 55 222 22212222 ee 4

Hình 3.1 Minh họa biểu diễn đường đi qua các ô 52-52 S12 212218212121121 2 6 12

Hình 3.2 Minh họa biểu diễn đường đi có gắn nhãn 2-2252 2S 22221527222 E6 12

ll

Trang 5

DANH MỤC BẢNG BIEU

Bảng 1.1 Sự tương đồng giữa bài toán MAPF và bài toán Numberlink -5¿ 2

Bảng 2.1 Bảng chân trị phép phủ ổịnh G2 2222211121121 1 1211221181111 211111122 re 6 Bảng 2.2 Bảng chân trị phép hội - - 20 22222211211 12111 211211181 1111111111112 181 ke 6 Bảng 2.3 Bảng chân trị phép tuyn - + 5c T1 1821211111211 2111122121221 11g 7 Bang 2.4 Bảng chân trị phép XOR 2 2 22112211211 1221121 112211122111 1111 1121111212 ky 7 Bảng 2.5 Bảng chân trị phép kéo theo - 1 2222012121 1211221 1211122111 11111 151111112 ky 7

Bảng 2.6 Ví dụ về chuẩn tắc hội CNE 5 S1 9E 1E 1111211111211111 112gr 8

Bảng 4.1 Kết quả thực nghiệm trên bộ sinh đữ liệu ngẫu nhiên 2: 22 z2 z2 16

Bảng 4.2 Kết quả thực nghiệm trên bộ dữ liệu lấy ttr Website eeececseeeeee ee 16

Trang 6

Chương 1 Giới thiệu

1.1 Đặt vấn đề và Mục Tiêu của đề tài

1.1.1 Đặt vẫn đề

Trong thời đại số hóa ngày nay, việc quản lý tài nguyên hệ thống một cách hiệu quả là một thách thức lớn đối với nhiều doanh nghiệp Các hệ thống IT truyền thống thường

không linh hoạt, dẫn đến lãng phí tài nguyên và chi phí cao Do đó, vấn đề đặt ra là

làm thế nào để tối ưu hóa việc sử dụng tài nguyên trong khi vẫn đảm bảo hiệu suất và

độ tin cậy cao cho các ứng dụng kinh doanh

e _ Triển khai và Thử nghiệm: Thiết kế các thí nghiệm để đánh giá hiệu quả của

giải pháp tối ưu hóa tài nguyên, bao gồm cả việc triển khai trong môi trường thực tế và mô phỏng

® Phân tích và Đánh giá: Đánh giá kết quả thực nghiệm, so sánh hiệu suất và chỉ phí vận hành trước và sau khi áp dụng các giải pháp tối ưu hóa

e - Đề xuất Chiến lược Áp dụng: Dựa trên kết quả nghiên cứu, đề xuất chiến lược cho việc triển khai giải pháp tối ưu hóa tài nguyên trong môi trường doanh nghiệp

Mục đích cuối cùng của đề tài là cung cấp một hướng dẫn chỉ tiết và cơ sở lý thuyết vững chắc cho việc tối ưu hóa tải nguyên trong các doanh nghiệp, giúp họ không chỉ

Trang 7

giảm thiêu chỉ phí mà còn nâng cao khả năng đáp ứng linh hoạt trước các yêu cầu kinh doanh và công nghệ thay đổi nhanh chóng

1.2 Tông quan về Kubernetes va Auto - Scaling

1.2.1 Kubernetes: Hé thong quan ly Container

A Giới thiệu về Kubernetes

Kubernetes, thường được gọi là K8s, là một hệ thống mã nguồn mở phục vụ cho việc

tự động triển khai, mở rộng và quản lý các ứng dụng container hóa Ban đầu được phát triển bởi Google dya trên kinh nghiệm của họ với hệ thống Borg, Kubernetes nhanh chóng trở thành một tiêu chuẩn trong ngành cho việc quan lý ứng dụng đám mây do sự

linh hoạt, mạnh mẽ và cộng đồng hỗ trợ rộng lớn

B Tính năng và lợi ích

Kubernetes mang lại nhiều lợi ích trone việc quản lý ứng dụng:

e _ Tự động hóa việc triển khai và quản lý Container: Kubernetes giúp tự động sắp xếp và triển khai các container, đồng thời tự động mở rộng hoặc thu hẹp quy mô của chúng dựa trên yêu câu

se Mở rộng và Linh hoạt: Hệ thống cho phép đễ dàng mở rộng hoặc giảm quy

mô ứng dụng dựa trên nhụ cầu thực tế

e© Khả năng tự phục hồi: Kubernetes có khả năng tự động khởi động lại các container bị lỗi, thay thế và sắp xếp lại các container khi có node bị lỗi Kubernetes, với khả năng tự động hóa và quản lý hiệu quả, đã trở thành một công cụ không thể thiếu trong môi trường phát triển và triên khai ứng dụng hiện đại, đặc biệt là trong các hệ thông phân tán và cloud

C, Ứng dụng trong doanh nghiệp

Kubernetes đã trở thành một phần quan trọng trong hạ tầng IT của nhiều doanh nghiệp lớn nhờ khả năng tối ưu hóa việc sử dụng tài nguyên, giảm thời gian triển khai ứng dụng và tăng cường độ tin cậy Các doanh nghiệp có thể triển khai các ứng dụng phức tạp một cách nhanh chóng va quản ly chúng một cách hiệu quả

Trang 8

1.2.2 Auto — Scaling trong Kubernetes

A Khai niém Auto — Scaling

Auto-Scaling trong Kubernetes 1a qua trình tự động điều chỉnh số lượng pods để phản ứng với thay đối nhu cầu về tài nguyên Điều này giúp đảm bảo rằng các ứng dụng được triển khai trong Kubernetes có thê mở rộng quy mô lên hoặc xuống một cách tự động, phù hợp với lưu lượng truy cập và tải công việc hiện tại Tính năng này giup cai thiện hiệu suất, độ tin cay và chi phí hiệu quả của hệ thống

® Phụ thuộc vào Chỉ số Hiệu suất: Lựa chọn chỉ số hiệu suất đúng để kích hoạt auto-scaling là quan trọng, đặc biệt trong các môi trường phức tạp với nhiều loại tải công việc khác nhau

1.3 Tầm quan trọng của Tối ưu hóa tài nguyên sử dụng trong Doanh Nghiệp Trong kỷ nguyên số hóa và dịch vụ dựa trên đám mây ngày nay, doanh nghiệp đang ngày cảng phụ thuộc vào hạ tang CNTT để vận hành và phát triển Trong bối cảnh này, việc tối ưu hóa tài nguyên không chỉ là một vấn để kỹ thuật mà còn là một yêu cầu chiến lược, ảnh hưởng trực tiếp đến hiệu quả kinh doanh và khả năng cạnh tranh của doanh nghiệp

e Hiệu Qua Chỉ Phí: Việc quản lý và sử dụng hiệu quả tài nguyên CNTT có thể giúp doanh nghiệp giảm thiểu chi phí vận hành Trong môi trường đám mây,

Trang 9

nơi tài nguyên được tính phí dựa trên mức sử dụng, việc tôi ưu hóa tài nguyên

có thê dân đền tiệt kiệm đáng kê về chị phí

¢ Phan Ung Nhanh Chong voi Nhu Cầu Thị Trường: Trong môi trường kinh doanh hiện đại, nhu cầu thị trường có thé thay đổi nhanh chóng Doanh nghiệp cần có khả năng mở rộng hoặc thu hep tài nguyên CNTTT một cách linh hoạt để đáp ứng với những thay đôi nảy Việc tối ưu hóa tài nguyên cho phép doanh nghiệp nhanh chóng điều chỉnh theo nhu cầu

® Tăng Cường Hiệu Suất và Độ Tin Cậy: Tôi ưu hóa tải nguyên giúp cải thiện hiệu suât và độ tin cậy của hệ thông Điêu nay bao g6m việc giảm thiêu downtime, cải thiện thoi gian phan hoi của ứng dụng, và đảm bảo trai nghi¢m người dùng mượt mà

e Tdi Ưu Hóa Tài Nguyên trong Môi Trường Kubernetes: Trong môi trường Kubernetes, tối ưu hóa tải nguyên càng trở nên quan trọng khi các ứng dụng được triển khai trong các container Kubernetes cung cấp cơ chế Auto-Scaling giúp tự động điều chỉnh số lượng pods dựa trên tải công việc, nhưng việc cấu hình và quản lý hiệu quả các quy tắc Auto-Scaling là chia khóa để đạt được hiệu suât và hiệu quả tài nguyên tôi ưu

Tối ưu hóa tài nguyên là yếu tô quan trọng không chỉ trong việc duy trì hiệu suất hoạt động của hệ thông mà còn là phần không thể thiếu trong chiến lược kinh doanh tổng thể của doanh nghiệp Việc áp dụng các chiến lược Auto-Scaling thông minh trong Kubernetes không chỉ cải thiện hiệu quả quản lý tài nguyên mà còn tăng cường sự linh hoạt và khả năng cạnh tranh của doanh nghiệp trong thế giới kinh doanh số hóa ngày nay

Trang 10

Chương 2 Nên tảng lý thuyềt

2.1 Kubernetes: Kiến trúc và Thành Phần

Phan nay của đề tài tập trung vào việc phân tích chị tiệt kiên trúc và các thành phân cot lõi của Kubernetes, một công cụ quản lý container hàng đâu, được sử dụng rộng rãi trong việc tôi ưu hóa và tự động hóa việc triên khai, mở rộng và quản lý các ứng dụng dựa trên container

2.1.1 Kiến trúc tống quan

Kubernetes được thiết kế dựa trên kiến trúc phân tán, chia làm hai loại node chính: Master Node và Worker Nodes, cùng làm việc để quản lý và điều khiển các ứng dụng container hóa

a) Kiên trúc Master-Slave:

- _ Master Node: Là trung tâm điều khiển của Kubernetes, nơi quản lý trạng thái toàn diện của cluster Master Node chứa các thành phần quản lý chính như API Server, Scheduler, Controller Manager va etcd

- Worker Nodes: La cdc may chủ thực thi, nơi các ứng dụng được triển khai dưới dạng containers Mỗi Node chứa các thanh phan can thiét dé chay containers, bao gồm Kubelet, Kube-Proxy và Container Runtime

b) `— Cluster và Nodes:

- Cluster: La mét tap hop cac may chu (nodes) làm việc củng nhau như một don v1 Cluster cho phép ban triển khai và quản lý ứng dụng trên một môi trường phân tán

mà không cần quan tâm đến máy chủ cụ thể nào đang chạy ứng dụng

- Master va Worker Nodes: Méi quan hé gitta Master va Worker Nodes duge xac định rõ ràng, nơi Master Node quản lý toàn bộ cluster và Worker Nodes chịu trách nhiệm chạy các ứng dụng

2.1.2 Cac Components trong Kubernetes

a) Master Components

Trang 11

Scheduler: Chịu trách nhiệm phân phối công việc (pods) đến các nodes

Controller Manager: Quan ly cac controller khac nhau nhu_ Replication Controller, Endpoint Controller

eted: Co so dtr ligu key-value lưu trữ tất cả đữ liệu cấu hình và trạng thái của cluster

Node Components

Kubelet: Chạy trên mỗi node, đảm bảo các container đang chạy trong Pod Kube-Proxy: Điều khiến việc truy cập mạng vào các pods từ mạng ngoại vi hoặc các nodes khác trong cluster

Contamer Runtime: Môi trường thyc thi cho container (vi du: Docker)

Resource Management va Security

Resource Management: Cach thirc Kubernetes quản lý tài nguyên như CPU, bộ nhớ

10

Trang 12

- Security: Cac tính năng bảo mật cua Kubernetes nhu Role-Based Access Control

(RBAC), Network Policies

` Loris tit — ] Users

và đảm bảo hiệu suất

2.2.1 Phân loại Auto - Scaling

Trong Kubermetes, Auto-Scaling không chỉ giới hạn ở việc mở rộng quy mô theo số lượng Pods, mà còn bao gồm cả việc điều chỉnh tải nguyên và số lượng nodes trong cluster Dưới đây là chỉ tiết về các phương pháp:

¢ Horizontal Pod Autoscaler (HPA): La cong cu phé bién nhat, HPA ty déng diéu chỉnh số lượng Pods trong Deployment, ReplicaSet hoặc StatefulSet dựa trên các chỉ số như CPU hoặc bộ nhớ HPA liên tục theo dõi và điều chỉnh số lượng pods để đáp ứng nhu cầu tài nguyên, từ đó giúp duy trì hiệu suất và độ sẵn sàng của ứng dụng

11

Trang 13

This control loop is executed

1 Query for Metrics

3 Scale the app to desired replicas

Horizontal Pod Autoscaler

2 Calculate the Replica”s

every 15 seconds

Kubernetes Cluster

Hinh 2.2 Minh hoa Horizontal Pod Autoscaler

¢ Vertical Pod Autoscaler (VPA): Khac biét vo1 HPA, VPA tap trung vao viéc diéu chỉnh tài nguyên cấp phát cho mỗi pod Nó phân tích mức sử dụng tài nguyên hiện tal cua pods vả tự động cung cấp các giá trị CPU và bộ nhớ tối ưu VPA đặc biệt hữu ích trong các trường hợp các ứng dụng không dé dang mé réng theo chiều ngang nhưng cần tải nguyên động

VPA

Controller

(fe

¬¬ ‘a : 3 kề S2) Pod

Trang 14

e©_ Cluster Autoscaler: Tự động điều chỉnh quy mô của cluster bằng cách thêm hoặc loại bo nodes Cluster Autoscaler theo déi nhu cau vé tai nguyén va kha nang san

có của Pods, đảm bảo rằng có đủ nodes để chạy tất cả các pods và không có nodes nào bị lãng phí Điều này giúp cải thiện hiệu suất và giảm chỉ phí trong môi trường dam may

: requests pending :

Launch a new node

' © © @ © New Node, Where :

Existing Node 1 Existing Node 2 the pending pods '

Existing Nodes

Hình 2.3 Minh hoa Cluster Autoscaler

¢ Custom va Event-driven Autoscaling: Cung cấp khả năng mớ rộng quy mô dựa

trên sự kiện từ các nguồn bên ngoài, chăng hạn như hàng đợi tin nhắn hoặc sự kiện

từ hệ thông khác Phương pháp nảy cho phép mở rộng quy mô dựa trên yêu cầu thực tế của ứng dụng, thích hợp cho các kiến trúc dựa trên sự kiện và microservices

13

Trang 15

Horizontal pod + adapter Metrics Controller Scaler autoscaler

Any

events?

1->n or n->1 0->1 or 1->0

14

Trang 16

2.2.2.1 CPU và Memory Metrics

CPU và Memory Metrics là những chỉ số cơ bản nhưng quan trọng trong việc quản lý tài nguyên của hệ thống Kubernetes Chúng cung cấp thông tin chỉ tiết về mức sử dụng tài nguyên hiện tại của các pods và nodes, giúp xác định nhu cầu tài nguyên và cơ sở

dé điều chỉnh quy mô

Kubernetes su dung Metrics Server, một thành phan cluster-level, dé thu thập và lưu trữ các chỉ số về CPU và Memory Cụ thể, Metrics Server thu thập thông tin về sử dụng CPU và Memory từ Kubelet, dịch vụ chạy trên mỗi node và quản lý các pods trên node đó

Chỉ tiết về các Metrics va Triggers:

- CPU Metrics va Triggers:

e Ty lé sw dung CPU (CPU usage): Day la lwong CPU duoc su dung boi mét pod hoặc node, thường được tính bằng millicores

¢ Giới hạn CPU (CPU limits): Là giới hạn tôi đa về CPU mà một pod có thế sử dụng Nếu pod sử đụng quá mức này, nó có thể bị giới hạn hoặc chuyên sang trạng thai cho

- Memory Metrics va Triggers:

e Ty lé sw dung Memory (Memory usage): Do luong b6 nhé RAM duoc su dung

bởi một pod hoặc node

¢ Gidi han Memory (Memory limits): Tuong ty nhu CPU limits, day la lrong bộ

nhớ tối đa mà một pod có thé str dung

2.2.2.2 Custom va External Metrics

Custom Metrics là những chỉ số được định nghĩa bởi người dùng và không phải là phần chuẩn của Kubernetes Chúng thường liên quan đến hoạt động cụ thể của ứng dụng, như số lượng yêu cầu xử lý mỗi giây hoặc thời gian phản hỏi trung bình Các Custom Metrics này cho phép một mức độ tinh chỉnh và điều chỉnh cao hơn trong quản lý tài nguyên Custom Metrics có thể được thu thập thông qua công cụ như Prometheus Đề sử dụng các Custom Metrics trong Kubernetes, can phải cài đặt va cau hình một adapter như Prometheus Adapter Adapter này làm cầu nối giữa Prometheus

15

Trang 17

và Kubernetes, cho phép Kubernetes sử dụng đữ liệu từ Prometheus để thực hiện Auto

- Scaling

External Metrics dé cap dén cac chi sé thu thập từ các nguồn bên ngoài Kubernetes Chúng có thể bao gồm dữ liệu từ các dịch vụ như AWS CloudWatch, Google Cloud Monitoring, hoặc bất kỳ nguồn đữ liệu nào khác có thể cung cấp thông tin hữu ích cho quá trình quản lý tải nguyên Việc sử dụng External Metrics thường đòi hỏi việc thiết lập các cấu hình và kết nối đặc biệt với các dịch vụ bên ngoai Cac External Metrics nay sau đó có thể được sử dụng trong Horizontal Pod Autoscaler hoặc các cơ chế Auto-Scaline khác, cho phép Kubernetes điều chỉnh quy mô dựa trên dữ liệu từ bên ngoải môi trường của nó

2.2.2.3 Các công cụ thu thập Metrics

Trong việc quản lý và piám sát tài nguyên Kubernetes, việc sử dụng các công cụ thu thập và hiển thị metrics chính xác và hiệu quả là hết sức quan trọng Prometheus và Grafana là hai công cụ hàng đầu trong lĩnh vực này, cung cấp khả năng thu thập, lưu trữ, truy vấn, và hiển thị dữ liệu một cách linh hoạt và mạnh mẽ Bằng cách kết hợp khả năng thu thập dữ liệu phức tạp của Prometheus và khả năng hiển thị dữ liệu trực quan của Grafana, người quản trỊ có thể có cái nhìn sâu sắc và toàn điện về hiệu suất

và tình trạng của hệ thống

- Prometheus:

Prometheus la mét hé thong gia4m sat va canh bao dir ligu dang time-series ma nguon

mở Nó được thiết kê đặc biệt cho môi trường container như Kubernetes và được sử dụng rộng rãi đề thu thập và lưu trir metrics

Các chức năng chính:

¢« Thu thập Metrics: Prometheus thu thập metrlcs thông qua việc scraping các endpoints mà các ứng dụng và dịch vụ phơi bày ra Điều này bao gồm cả metrics

hé thong va custom metrics

¢ Lưu trữ và Truy vấn: Prometheus luu tri cac metrics dudi dang time-series va cung cấp ngôn ngữ truy vẫn PromQL cho phép người dùng trích xuất và xử lý đữ liệu một cách lĩnh hoạt

16

Trang 18

ĩ discover targets

¡ Prometheus server

HTTP server

"¬¬ Prometheus web UI Grafana

Dashboard va Hién thị Dữ liệu: Grafana cho phép người dùng tạo các đashboard tủy chỉnh với nhiều loại biểu đồ, bang, va cac widget khac dé hién thi metrics Diéu này giúp cho việc giám sát và phân tích dữ liệu trở nên trực quan và dễ dàng hơn Prometheus và Grafana thường được sử dụng cùng nhau để tạo ra một hệ thống giám sát và phân tích dữ liệu mạnh mẽ Prometheus đóng vai trò là nguồn cung cấp đữ liệu, trong khi Grafana đóng vai trò hiến thị và phân tích đữ liệu Trong môi trường

17

Trang 19

Kubernetes, sự kết hợp này cho phép người quản trị có cái nhìn toàn diện về tình trạng của cluster, từ hiệu suất tài nguyên đến trạng thái hoạt động của các ứng dụng

Chương 3 Xây dựng môi trường thử nghiệm

3.1 Cài đặt và cấu hình Kubernetes cluster sử dụng Docker và kind

3.1.1 Khoi tao may ao

Trong phan nảy, chúng ta sẽ bắt đầu bằng việc thiết lập môi trường cơ bản cho Kubernetes Cluster, bắt đầu từ việc tạo Droplet trên DigitalOcean DigitalOcean cung cấp một giải pháp đám mây đơn giản và hiệu quả, phù hợp cho việc triển khai và quản

lý Kubernetes

Bước l: Tạo Tài Khoản và Đăng Nhập vào DigitalOcean

« Dang ky Tai Khoản: Đầu tiên, bạn cần tạo một tài khoản trên DigitalOcean Quá trình đăng ký đơn giản và nhanh chóng, chỉ cần cung cấp email và thiết lập mật khẩu

¢« Đăng Nhập: Sau khi đăng ký, đăng nhập vào tài khoan DigitalOcean cua ban

dé bat dau quá trình tao Droplet

Bước 2: Tạo Droplet

« Chọn 'Create' và 'Droplets': Trên trang chủ cua DigitalOcean, chon "Create"

từ menu, sau dé chon "Droplets"

18

Trang 20

- - Cấu hình Droplet:

« Hệ Điều Hành: Sử dung Ubuntu Server 20.04

« - Kích Cỡ: 16Gb RAM, 4 Intel vCPUs, 320Gb SSD

¢ Datacenter Region: SYDNEY |

« - Cài đặt Thêm (Tùy chọn): Không có

« - Khởi tạo Droplet: Sau khi hoản tat cau hinh, nhan "Create Droplet" dé bat dau qua trinh tao

19

Trang 21

Bước 2: Cài đặt Các Gói Cần Thiết

Cài đặt các gói cần thiét cho viéc cai dit Docker, bao g6m apt-transport-https, ca- certificates, curl, software-properties-common

Bước 3: Thêm Khóa GPG ctia Docker

Thêm khóa GPG chính thức của Docker dé đảm bảo tính xác thực của các 201 tal về

20

Trang 22

curl -fsSL https://download.docker.com/Linux/ubuntu/gpg | sudo apt-key add -

Bước 4: Thêm Docker Repository

Thêm repository chính thức của Docker vào danh sách các nguồn cung cấp gói

sudo add-apt-repository "deb [arch=amd64]

https: //download.docker.com/linux/ubuntu $(lsb_release - cs) stable"

Buéc 5: Cai dat Docker CE (Community Edition)

Cập nhật lại danh sách gói sau khi thêm Docker repository va cai dat Docker CE

| sudo apt-get update sudo apt-get instaLL docker-ce

Bước 6: Kiểm tra cài đặt

Kiểm tra phién ban cua Docker dé dam bao cai đặt thành công

21

Trang 23

Bước 1: Tải xuống kind

Sử dụng curl dé tải xuống tệp thực thi kind từ trang web chính thức:

Bước 3: Di chuyền tệp thực thi vào PATH

Di chuyển tệp kind vào một thư mục nằm trong biến môi trường PATH của bạn:

Isudo mv /kind /usr/LocaL/bin/kind

Bước 4: Kiểm tra cài đặt

Kiểm tra phiên bản của kind để đảm bảo cài đặt thành công:

Bước I: Tạo file cấu hình

Đầu tiên, bạn cần tạo một file cấu hình YAML để định nghia cau tric cua cluster Tao một file mới tên kind-cluster-confie.yaml, với nội dung sau:

Ngày đăng: 26/12/2024, 17:15