Tải bản đầy đủ (.pdf) (46 trang)

Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn tài nguyên trong điện toán đám mây

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.99 MB, 46 trang )

..

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------TRẦN HỮU CƯỜNG

TRẦN HỮU CƯỜNG

HỆ THỐNG THÔNG TIN

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN ÁP DỤNG CHO VẤN
ĐỀ TỰ ĐỘNG CO GIÃN TÀI NGUYÊN TRONG ĐIỆN TOÁN
ĐÁM MÂY

LUẬN VĂN THẠC SĨ KHOA HỌC
Hệ thống thông tin

2017A
Hà Nội – Năm 2019


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
--------------------------------------TRẦN HỮU CƯỜNG

NGHIÊN CỨU THUẬT TOÁN DỰ ĐOÁN ÁP DỤNG CHO VẤN ĐỀ TỰ
ĐỘNG CO GIÃN TÀI NGUYÊN TRONG ĐIỆN TỐN ĐÁM MÂY

Chun ngành : Hệ thống thơng tin

LUẬN VĂN THẠC SĨ KHOA HỌC



NGƯỜI HƯỚNG DẪN KHOA HỌC:
TS. Nguyễn Bình Minh

Hà Nội – Năm 2019


Lời cảm ơn
Tôi xin gửi lời cảm ơn chân thành đến các thầy cô giáo thuộc Trường đại học
Bách Khoa Hà Nội, đặc biệt là các thầy cô giáo thuộc Viện cơng nghệ thơng
tin và truyền thơng vì đã chia sẻ kiến thức và kinh nghiệm cho tôi trong những
năm đại học và cao học.
Tôi xin gửi lời cảm ơn đặc biệt đến TS. Nguyễn Bình Minh, các bạn sinh
viên Trương Bình Khang, Nguyễn Minh Phú và các bạn trong Trung tâm
Cơng nghệ dữ liệu và Tính tốn trực thuộc trường đại học Bách Khoa Hà Nội.
Thầy và các bạn đã cùng nghiên cứu và giúp tơi hồn thành luận văn này.
Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình, nơi ln là chỗ dựa cho tơi.

2


Lời cam đoan
Tôi - Trần Hữu Cường - cam kết luận văn này là nghiên cứu của tôi dưới sự
hướng dẫn của TS. Nguyễn Bình Minh.
Các kết quả trong luận văn là trung thực và không sao chép của bất cứ cơng
trình đã được cơng bố nào khác. Tất cả các trích dẫn đều được tham chiếu rõ
ràng.
Hà Nội, ngày 25 tháng 03 năm 2019
Học viên


Trần Hữu Cường
Xác nhận của người hướng dẫn

3


Tóm tắt
Với sự dịch chuyển số, các doanh nghiệp đều cần hạ tầng về công nghệ thông
tin, và một trong những vấn đề quan trọng là tối ưu tài nguyên sử dụng. Trong
những năm gần đây, với sự phát triển của cơng nghệ điện tốn đám mây, cơng
nghệ container, việc tối ưu tài nguyên có thể thực hiện dễ dàng hơn bằng cách
tự động co giãn tài nguyên. Xuất phát từ thực tế đó, tác giả chọn đề tài:
Nghiên cứu thuật toán dự đoán áp dụng cho vấn đề tự động co giãn
tài nguyên trong điện toán đám mây.
Hiện tại, một số nhà cung cấp dịch vụ điện toán đám mây lớn (AWS, GCP)
đã cung cấp tính năng tự động co giãn tài nguyên bằng cách sử dụng ngưỡng
(threshold). Nhưng chưa có tính năng tự động co giãn tài ngun bằng cách sử
dụng các thuật toán dự đoán. Đồng thời công nghệ về Container, Kubernetes
là các công nghệ mới, đang là xu hướng cơng nghệ thời gian gần đây, có nhiều
ứng dụng trong thực tế. Luận văn muốn giải quyết các vấn đề trên bằng cách
đề xuất thuật toán dự đoán, và áp dụng cho vấn đề co giãn tài nguyên trong
điện toán đám mây.
Luận văn giải quyết các vấn đề:
❼ Đề xuất thuật toán dự đoán SA-ANFIS áp dụng cho vấn đề co giãn tài

nguyên trong điện toán đám mây.
❼ Thử nghiệm hệ thống co giãn trên nền tảng Containers Cluster (Kuber-

netes).


4


Nội dung của luận văn được chia ra làm 5 chương cụ thể như sau:
Chương 1: Giới thiệu bài toán co giãn tài nguyên trong điện toán đám mây
1.1 Vấn đề sử dụng tài nguyên của doanh nghiệp và điện toán đám mây
1.2 Phát biểu bài toán
Chương 2: Các nghiên cứu và cơng nghệ liên quan
2.1 Mạng thích nghi dựa trên hệ suy diễn mờ (ANFIS)
2.2 Thuật tốn mơ phỏng luyện kim (Simulated Annealing)
2.3 Công nghệ Container và Kubernetes
2.3.1 Công nghệ Container
2.3.2 Cơng nghệ Kubernetes
Chương 3: Đề xuất mơ hình SA-ANFIS vào bài toán co giãn tài nguyên
3.1 Kiến trúc hệ thống
3.2 Resource Collector
3.2.1 Dataset Collector
3.2.2 Realtime Collector
3.3 Forecaster
3.3.1 Giai đoạn học
3.3.2 Giai đoạn dự đoán
3.4 Scaling Maker
Chương 4: Thử nghiệm và đánh giá
4.1 Thử nghiệm
4.2 Kết quả và đánh giá
4.3 Ứng dụng
Chương 5: Kết luận

5



Abstract
With Digital Transformation, businesses need IT infrastructure, and one of the
key issues is optimizing resource usage. In recent years, with the development of
Cloud Computing and Container technology, resource optimization can be make
easier by automatically scaling resources. From the fact, the author chooses the
topic: Predictive Algorithms applied to automatic resources elasticity
in Cloud Computing.
Currently, the large cloud computing service providers (AWS, GCP) have
provied automatic reosurce scaling by using thresholds. But there is no automatic scaling feature using predictive algorithms. At the same time, the technlogy of Container, Kubernetes are new technologies which are the technology
trend, there are many practical applications. Thesis wants to solve the problems by proposing a predictive algorithm, and applied to the problem of resource
elasticity in cloud computing.
The thesis resolves issues:
❼ Proposing the prediction algorithm SA-ANFIS applied to resource elastic-

ity in cloud computing.
❼ Testing the scaling system on the Containers Cluster (Kubernetes) plat-

form.
Contents of the thesis is divided into 5 chapters as follows:
Chapter 1: Introducing resource elasticity problem in cloud computing
6


1.1 Problems of using resources of enterprises and cloud computing
1.2 State the problem
Chapter 2: Research and related technology
2.1 Adaptive network based on fuzzy rendition (ANFIS)
2.2 Metallurgical simulation algorithm (Simulated Annealing)
2.3 Technology of Containers and Kubernetes

2.3.1 Container Technology
2.3.2 Kubernetes Technology
Chapter 3: Proposing the SA-ANFIS model into resource elasticity problem
3.1 System architecture
3.2 Resource Collector
3.2.1 Dataset Collector
3.2.2 Realtime Collector
3.3 Forecaster
3.3.1 Learning phase
3.3.2 Prediction phase
3.4 Scaling Maker
Chapter 4: Experiment and evaluation
4.1 Experiment
4.2 Result Evaluation
4.3 Application
Chapter 5: Conclusion

7


Mục lục

Lời cảm ơn

2

Lời cam đoan

3


Tóm tắt

4

Abstract

6

Danh sách thuật ngữ

11

Danh sách hình vẽ

12

Danh sách bảng

13

1 Giới thiệu bài tốn co giãn tài nguyên trong điện toán đám
mây
1.1

1.2

14
Vấn đề sử dụng tài nguyên của doanh nghiệp và điện toán đám
mây . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


14

Phát biểu bài toán . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2 Các nghiên cứu và công nghệ liên quan

16

2.1

Mạng thích nghi dựa trên hệ suy diễn mờ (ANFIS) . . . . . . .

16

2.2

Thuật tốn mơ phỏng luyện kim (Simulated Annealing) . . . . .

18

2.3

Công nghệ Container và Kubernetes . . . . . . . . . . . . . . . .

21

8



2.3.1

Công nghệ Container . . . . . . . . . . . . . . . . . . . . .

21

2.3.2

Công nghệ Kubernetes . . . . . . . . . . . . . . . . . . . .

22

3 Đề xuất mơ hình SA-ANFIS vào bài toán co giãn tài nguyên 25
3.1

Kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . .

25

3.2

Resource Collector . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

3.2.1

Dataset Collector . . . . . . . . . . . . . . . . . . . . . . .


27

3.2.2

Realtime Collector . . . . . . . . . . . . . . . . . . . . . .

27

Forecaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.3.1

Giai đoạn học . . . . . . . . . . . . . . . . . . . . . . . . .

28

3.3.2

Giai đoạn dự đoán . . . . . . . . . . . . . . . . . . . . . .

30

Scaling Maker . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

3.3


3.4

4 Thử nghiệm và đánh giá
4.1

4.2

4.3

32

Thử nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

32

4.1.1

Tập dữ liệu thử nghiệm . . . . . . . . . . . . . . . . . . .

32

4.1.2

Các thuật toán tham gia thử nghiệm . . . . . . . . . . . .

33

4.1.3

Độ đo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


33

4.1.4

Kịch bản thử nghiệm . . . . . . . . . . . . . . . . . . . . .

33

Kết quả và đánh giá . . . . . . . . . . . . . . . . . . . . . . . . .

34

4.2.1

So sánh tốc độ hội tụ . . . . . . . . . . . . . . . . . . . . .

34

4.2.2

So sánh độ chính xác . . . . . . . . . . . . . . . . . . . . .

34

4.2.3

So sánh với các thuật toán khác . . . . . . . . . . . . . .

36


Ứng dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

5 Kết luận

38

Tài liệu tham khảo

39

Phụ lục

40
9


A Chi tiết kết quả

40

B Kinh nghiệm triển khai Kubernetes

44

10



Danh sách thuật ngữ
Cloud Computing

Điện tốn đám mây

Workload

Khối lượng cơng việc của phần mềm/servers

Container

Là một cơ chế để cô lập (isolate) phần mềm

Docker

Phần mềm để chạy và quản lí container

Kubernetes

Phần mềm quản lí container cluster

Resources Elasticity

Co giãn tài nguyên

ANFIS

Mạng thích nghi dựa trên hệ suy diễn mờ

SA (Simulated Annealing)


Mô phỏng luyện kim

11


Danh sách hình vẽ
2.1

Kiến trúc ANFIS với 2 tham số đầu vào . . . . . . . . . . . . . .

17

2.2

So sánh Container và Máy ảo (Virtual Machine) (Nguồn: docker.com) 21

2.3

Kiến trúc của Kubernetes (Nguồn redmondmag.com) . . . . . .

22

2.4

Các chức năng chính của Kubernetes (Nguồn ranncher.com) . .

23

3.1


Kiến trúc hệ thống co giãn tài nguyên . . . . . . . . . . . . . . .

25

4.1

So sánh tốc độ hội của SA-ANFIS và ANFIS gốc . . . . . . . . .

34

4.2

Biểu đồ kết quả dự đoán khi dùng SA2-ANFIS với rule_number=20 35

A.1 Kết quả dự báo của Origin-ANFIS với các bộ tham số khác nhau 40
A.2 Kết quả dự báo của SA1-ANFIS với các bộ tham số khác nhau

41

A.3 Kết quả dự báo của SA2-ANFIS với các bộ tham số khác nhau

42

A.4 Kết quả dự báo của SA3-ANFIS với các bộ tham số khác nhau

43

12



Danh sách bảng
2.1

Các thuật tốn học của mơ hình ANFIS do Jang đề xuất . . . .

18

3.1

Các phiên bản SA-ANFIS . . . . . . . . . . . . . . . . . . . . . .

28

4.1

Tập dữ liệu thử nghiệm . . . . . . . . . . . . . . . . . . . . . . . .

32

4.2

Các thuật toán tham gia thử nghiệm . . . . . . . . . . . . . . . .

33

4.3

So sánh độ chính xác của SA-ANFIS và ANFIS gốc . . . . . . .


35

4.4

So sánh độ chính xác của SA2-ANFIS và ARIMA, LSTM . . . .

36

13


Chương 1

Giới thiệu bài toán co giãn tài nguyên
trong điện toán đám mây
1.1

Vấn đề sử dụng tài nguyên của doanh nghiệp và điện tốn
đám mây

Các doanh nghiệp/tổ chức có hệ thống cơng nghệ thơng tin cần trả các chi phí
liên quan đến việc vận hành hệ thống ví dụ như chi phí th servers, internet,
bảo trì. Trong đó, chi phí phần cứng chiếm một tỉ trọng không nhỏ.
Vấn đề đối với các doanh nghiệp tự quản lí hệ thống phần cứng đó là: cần
bao nhiêu servers thì đủ?
❼ Nếu doanh nghiệp dùng nhiều servers: sẽ tốn nhiều chi phí. Trong khi thực

tế, workload của hệ thống không cao, dẫn đến việc lãng phí tài nguyên.
❼ Nếu doanh nghiệp dùng ít servers: trong thực tế sẽ có những thời điểm


workload cao hơn bình thường (ví dụ 8h sáng đọc báo, khi đấy workload
của trang tin điện tử sẽ tăng cao), dẫn đến việc hệ thống bị quá tải, không
đáng ứng được yêu cầu của người dùng.
Vấn đề của các doanh nghiệp tự quản lí hệ thống phần cứng đó là: vừa thừa,
vừa thiếu tài nguyên.
14


Theo NIST [6], Điện tốn đám mây là mơ hình trong đó có:
❼ Các nhà cung cấp dịch vụ: quản lí phần cứng và cung cấp tài nguyên

cho khách hàng.
❼ Khách hàng: có thể dễ dàng mua thêm tài nguyên (CPU, RAM, ổ cứng,

băng thông) để sử dụng khi cần thiết, và có thể giảm tài ngun khi khơng
cần dùng nữa.
Từ đó, phát sinh bài tốn: Tối ưu hố chi phí bằng cách co giãn tài
ngun trong điện tốn đám mây.

1.2

Phát biểu bài tốn

Bài tốn: Tối ưu chi phí bằng cách co giãn tài nguyên trong điện toán đám
mây.
❼ Đầu vào: Lịch sử sử dụng tài nguyên của hệ thống.
❼ Đầu ra: Các tài nguyên sử dụng thực tế của hệ thống.

Ví dụ:
❼ Đầu vào: Lịch sử sử dụng theo thời gian cần lượng RAM như sau [1GB,


1.4GB, 2.5GB]
❼ Đầu ra: Số lượng tài nguyên thực tế cần các máy ảo có 2 GB RAM/máy:

[1 máy, 1 máy, 2 máy]
Để giải quyết bài tốn trên, có thể chia thành 2 bài toán con:
❼ Bài toán 1: Dự đoán tài nguyên sử dụng của hệ thống từ lịch sử sử dụng.

(Forecaster)
❼ Bài toán 2: Ra quyết định tăng/giảm tài nguyên dựa trên kết quả dự báo.

(Decision Maker)
Trong luận văn này, tác giả sẽ đề xuất cách giải quyết các bài toán trên.
15


Chương 2

Các nghiên cứu và cơng nghệ liên
quan
Để có thể giải quyết bài toán co giãn tài nguyên, trước tiên cần giải quyết bài
toán dự đoán tài nguyên sử dụng của hệ thống.
Bài tốn trên có thể nhìn dưới góc độ là bài toán dự đoán dựa trên chuỗi
thời gian (time series), và đã có nhiều nghiên cứu liên quan có thể kể đến như:
❼ Mạng thích nghi dựa trên cơ sở hệ suy diễn mờ (ANFIS).
❼ Thuật tốn mơ phỏng luyện kim (Simulated Annealing).

2.1

Mạng thích nghi dựa trên hệ suy diễn mờ (ANFIS)


Hệ thống suy diễn thích nghi neuron mờ (ANFIS) được đề xuất bởi Jang [2],
bằng cách kết hợp logic mờ và mạng neuron nhân tạo. ANFIS đã được áp dụng
hiệu quả trong nhiều lĩnh vực.
Trong lĩnh vực tự động hoá, ANFIS được dùng để chuẩn đoán lỗi của động
cơ quay (rotating machinery) trong nghiên cứu của Lei, Yaguo và đồng sự [4].
Họ đã dùng nhiều bộ ANFIS để xử lí các nhóm tín hiệu khác nhau, sau đó
kết hợp lại bằng GA để đưa ra kết quả dự đoán. Qua thử nghiệm cho thấy
việc kết hợp nhiều ANFIS có thể giúp nhận ra nhiều loại lỗi và mức độ nghiêm
16


trọng khác nhau, cho hiệu suất phân loại tốt hơn so với chỉ sử dụng một mạng
ANFIS.
Trong lĩnh vực tài chính, Boyacioglu, Melek and Avci, Derya [1] đã sử dụng
ANFIS để dự đoán lợi nhuận của thị trường chứng khoán Istanbul (Thủ đơ
Thổ Nhĩ Kì) với độ chính xác 98.3

Hình (2.1)

Kiến trúc ANFIS với 2 tham số đầu vào

Kiến trúc ANFIS:
Tầng 1: Mờ hoá
Mờ hoá tham số đầu vào bởi hàm thuộc Gauss.

f (x) = ae−

(x−b)2
2c2


Các tham số a, b, c gọi là các tham số giả thiết (premise parameters).
Tầng 2: Luật mờ
Luật mờ có dạng: if x = A1 , y = B1 then out = A1 ∗ B1
Giá trị đầu ra của mỗi nút bằng tích các tín hiệu đầu vào w = µA (x) ∗ µB (y)

17


Tầng 3: Chuẩn hoá
Giá trị đầu ra của nút thứ i bằng tỉ số của luật thứ i chia cho tổng giá trị
đầu vào.
wi
i wi

wi =

Tầng 4: Khử mờ

wi fi = wi (pi x + qi y + ri )

Các tham số pi , qi , ri gọi là các tham số kết luận (consequence parameters).
Tầng 5: Tính tốn kết quả đầu ra

w i fi =
i

i w i fi
i wi


Thuật toán học được Jang [2] đề xuất gồm các pha như sau:
Pha tiến

Pha lùi

Tham số giả thiết

Cố định

Phương pháp giảm Gradient

Tham số kết luận

LSE

Cố định

Bảng (2.1)

2.2

Các thuật toán học của mơ hình ANFIS do Jang đề xuất

Thuật tốn mơ phỏng luyện kim (Simulated Annealing)

Thuật tốn mơ phỏng luyện kim (SA) là một phương pháp tối ưu hố, có thể
tránh được tối ưu hoá cục bộ bằng cách chấp nhận một lời giải tồi hơn với
một xác suất phụ thuộc nhiệt độ T . Phương pháp trên được đề xuất bởi S.
Kirkpatrick và đồng sự vào năm 1983 [3].
Ý tưởng của SA xuất phát từ cơ học. Cụ thể như trong luyện kim, kim loại

được đốt nóng đến nhiệt độ cao, sau đó được làm lạnh từ từ để kết tinh ở
trạng thái năng lượng thấp. Nếu quá trình làm lạnh xảy ra đột ngột, kim loại
18


sẽ không kết tinh ở trạng thái năng lượng thấp nhất và có cấu trúc khơng ổn
định (tối ưu cục bộ).
Nguyên lí bên trong nằm ở việc thay đổi trạng thái năng lượng. Gọi E là
năng lượng của trạng thái s và E là năng lượng của trạng thái s .
Gọi: ∆E = E − E
❼ Nếu ∆E < 0: thì trạng thái s sẽ chuyển thành s .
❼ Nếu ∆E >= 0: thì trạng thái s có thể chuyển thành s với một xác suất tỉ

lệ thuận với nhiệt độ T .
Điều này có nghĩa là: trong q trình chạy thuật tốn, lời giải có thể
chuyển từ lời giải tốt hơn sang lời giải tồi hơn với một xác suất tỉ lệ thuận với
T . Việc này sẽ giúp lời giải có khả năng thốt khỏi các tối ưu cục bộ. Sau đó,

khi T giảm dần, xác suất để chuyển sang lời giải tồi hơn giảm dần, và lời giải
sẽ dần hội tụ đến kết quả nhiều khả năng là tốt nhất.

19


Listing 1 Thuật toán SA
1

def p(s, snew, T):

2


if e(snew) < e(s):

3

result = 1

4

5

else:
result = math.e**(-(e(snew) - e(s)/T))

6

7

return result

8

9

10

def simulated_annealing():
s = s0

11


12

for k in range(0, kmax):

13

T = temperature(k/kmax)

14

snew = random_neighbour(s)

15

16

if p(s, snew, T) > random(0, 1):
s = snew

17

Thuật toán ANFIS gốc sử dụng phương pháp giảm gradient để học. Trong
nhiều trường hợp, phương pháp giảm gradient khơng tốt vì có thể rơi vào tối
ưu cục bộ.
SA là một phương pháp tối ưu hố có thể tránh được tối ưu cục bộ và có
thể thay thế phương pháp giảm gradient. Chúng tơi đã lựa chọn thuật toán SA
để tối ưu các tham số của ANFIS. Chi tiết sẽ được trình bày ở chương sau.

20



2.3
2.3.1

Công nghệ Container và Kubernetes
Công nghệ Container

Container là một công nghệ giúp đóng gói và chạy phần mềm trong một môi
trường cô lập, nhưng dùng chung Kernel và một số bin/thư viện thích hợp.
Điều này giúp container triển khai nhanh hơn, ít tốn kém hơn (overhead), di
chuyển (migration) dễ dàng và khởi động lại nhanh hơn.
Docker là một phần mềm giúp tạo, chạy và quản lí container. Docker đóng
gói phần mềm trong một hệ thống tập tin (file system) hoàn chỉnh, có chứa
mọi thứ cần thiết để chạy, bao gồm:
❼ Mã (Code)
❼ Runtime
❼ Các công cụ hệ thống (System Tools)
❼ Các thư viện hệ thống (System Libraries)

Hình (2.2)

So sánh Container và Máy ảo (Virtual Machine) (Nguồn: docker.com)

Bằng cách sử dụng container, chúng ta có thể dễ dàng triển khai phần mềm,
dễ dàng tăng/giảm số lượng cài đặt (instances) của phần mềm để đáp ứng nhu
cầu.
21



2.3.2

Cơng nghệ Kubernetes

Kubernetes là một phần mềm quản lí container cluster, giúp cấp phát/quản
lí tài nguyên, triển khai/điều phối containers trên nhiều servers khác nhau.
Các thành phần của Kubernetes
❼ Master Node: Là node chạy các chương trình liên quan đến việc quản lí

Kubernetes cluster, bao gồm API Server, Controller Manager, Scheduler.
❼ Worker Node: Là node chạy các chương trình dùng để giao tiếp và thực

hiện các yêu cầu từ Master Node, bao gồm kubelet, kube-proxy.

Hình (2.3)

Kiến trúc của Kubernetes (Nguồn redmondmag.com)

Các chức năng chính của Kubernetes:
❼ Quản lí tài nguyên (Resource Management): Quản lí các tài nguyên về

CPU, RAM của cluster.
❼ Lập lịch (Scheduling): Triển khai các container trên các servers thích hợp,

dựa trên các thơng tin về mức độ sử dụng tài nguyên của container và tài
nguyên còn trống của servers.

22



❼ Cân bằng tải (Load Balancing): Thực hiện routing các requests đến các

apps thích hợp. Chúng ta có thể tăng số lượng instances của một app lên
khi có nhiều requests.

Hình (2.4)

Các chức năng chính của Kubernetes (Nguồn ranncher.com)

23


Cơ chế quản lí tài nguyên của Kubernetes:
❼ CPU Request ⇔ CPU Shares của Docker: Dùng cho việc lập lịch của

Kubernetes.
<=
CP U Request

CP U s N ode

❼ CPU Limit ⇔ Giới hạn cứng việc sử dụng CPU của mỗi container.

Nhưng

CP U Limit

có thể >

CP U s N ode


Áp dụng vào việc cấp phát tài nguyên:
❼ CPU Request: luôn set giá trị phù hợp, để bộ lập lịch hoạt động phù hợp.
❼ CPU Limit: Có thể set hoặc khơng. Nếu phần mềm dùng nhiều CPU thì

có thể đặt một giới hạn cứng. Cịn lại thì có thể bỏ qua giá trị này, để cho
các containers tự share CPU cho nhau.
Kubernetes cung cấp API có thể dễ dàng lập trình, giao tiếp. Chúng ta có
thể sử dụng Kubernetes API để tăng/giảm số lượng cài đặt (instances) của một
phần mềm.

24


×