TOM TAT KHÓA LUẬNVới xu hướng phát triển công nghệ thông tin, việc sử các dịch vụ từ internet đang ngàymột phổ biến kéo theo đó là nhu cầu truy cập internet mọi lúc mọi nơi cũng tăng the
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HỌC CÔNG NGHỆ THONG TIN
KHOA MANG MAY TINH VA TRUYEN THONG
NGUYEN HOANG LONG
NGUYEN TU HAI
KHOA LUAN TOT NGHIEP
NGHIEN CUU VA PHAT TRIEN HE THONG GIA
system based on Kubernetes container orchestration
KY SU NGANH AN TOAN THONG TIN
TP HO CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
NGUYEN HOANG LONG
Research and Development of a wireless network emulator
system based on Kubernetes container orchestration
KY SU NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN THS DANG LE BAO CHUONG
THS BUI THANH BINH
TP HO CHÍ MINH, 2021
Trang 3THONG TIN HOI DONG
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 30 ngày 13 tháng 1
năm 2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
I TS Nguyễn Ngọc Tự — Chủ tịch.
2 _ TK Nguyễn Khánh Thuật Thư ký.
3 UV Nguyễn Huỳnh Quốc Việt ~ Ủy viên.
Trang 4LỜI CẢM ƠN
Nhóm tác giả xin bày tỏ lòng biết ơn chân thành, sâu sắc đến ThS Đặng Lê Bảo Chương
và ThS Bùi Thanh Bình - Giảng viên Khoa Mạng máy tính và Truyền thông Trường Đại
học Công nghệ Thông tin đã định hướng đề tài, động viên, giúp đỡ nhóm tác giả bằngtất cả sự tận tâm và nhiệt huyết trong suốt thời gian nghiên cứu, hoàn thành đề tài này
Nhóm tác giả xin chân thành cảm ơn quý Thầy Cô Trường Đại học Công nghệ Thôngtin đã tạo mọi điều kiện giúp đỡ nhóm tác giả trong quá trình học tập, nghiên cứu, thựcnghiệm và hoàn thành đề tài
Cuối cùng, nhóm tác giả xin bày tỏ lòng biết ơn đối với gia đình và bạn bè đã luôn giúp
đỡ, động viên nhóm tác giả hoàn thành đề tài
Do những điều kiện chủ quan và khách quan chắc chắn khóa luận không thể tránh khỏi
những thiếu sót, nhóm tác giả rất mong nhận được những ý kiến đóng góp của Thầy Cô
và các bạn Trân trọng cảm ơn!
TP Hồ Chí Minh, ngày tháng năm
Nhóm tác giả
Trang 5MỤC LỤC
THONG TIN HỘI ĐÒNG 5-2 s22 s©s£©Ss£ss©ssexseEsstsserserssere 2
LOT CAM 0907 3
\) 10/909 5 4
DANH MỤC HÌNH << << s©Ss£Ss£Ss£SseEseEseEseEseEseEserserserserserserse 6 90:80 98:70 8
DANH MỤC TU VIET TAT cccsssssssssssssssssssssssssssssessscssssscsscsscsecsscescssesseesceees 10 TOM TAT KHOA LUAN -s-°- << << s£Ss£Ss£ se seEseEsexsersersevsersere 1 CHƯƠNG 1: MỞ ĐẦU ec2 5 2< SsS9928939SsEEsEESEEseEseEseEsetsetsetsessesssse 2 1 Ly do, mục tiêu, đối tượng, ý tưởng và phạm vi nghiên cứu, đóng góp của đề tài 2
"ân" n ếđ đ« ` ` 1 O Ả 2
I ANH) 000i) n6 2
1.3 Đối tượng 22 2222 2n H22 22122112rree 3 1.4 Ý tưởng, phạm vi nghiên cứu -:+2+++2E++2E+++EEE+SEEEtSEEEEEkrEEkerrkrerkrrrrkree 3 1.5 Những đóng góp của đề tài -222 22122221 2211221122711 2112211121112 ee 4 1.6 Các phần của báo cáo 2- 2k2 2222122112221 erree 5 CHƯƠNG 2: TONG QUAN a -
2 Phan tích các hướng tiếp cận 2.1 TestBed - Mô phỏng ( Simulation ) - Giả lập mạng ( Emulator) - - - 6
3 Hướng tiếp cận -©2<22k2 1 221 21122112712 21111.111.111 1.111 1111re 13 ca ÀA ae 14
5 nh 43 54 14
4.2 SDN -SDWN — 16
¬.®) " ẦẦ 18
“)' ố 19
TJ Kurbermetes ae e ố.ốố.ố.ố.ố 20
Trang 6CHƯƠNG 4: PHAN TÍCH VÀ ĐÁNH GIA - 5 <<eseseseeeeee<esee 04
Trang 7DANH MỤC HÌNH
Hình 1: Kiến trúc cơ bản đề tài 522cc tru 14
Hình 2: Mininet tao 1 mạng ảo với 2 máy CHU .- ¿5+ + *+*++e+evxeeeeeeseerssss 16
Hình 3: Mạng truyền thống va SDN - 2-2 2© +E+2E22E22EE2E122122122171 212121 17Hình 4: File câu hình yaml - - 2 ¿+ £+S£+SE+EE£EE£EEtEEEEEEEEE2E12E12212112171 212121 23Hình 5: Sơ đồ kiến trúc co bản Kubernetes -.: 2: 22 +¿22+2x+2E++zxzzxerxrzrxerxez 24
Hình 7: Tinh năng Scheduling and Affinity cece ceeesecneceeeeneceeeeseceeceaeeeeeseeneenes 26
Hình 8: Tính năng Management cccecceeeceeesceeceeeeeeeeeeceeeeeceaeeeeeceeeeeaeeeneeseeeeneenaes 27
Hình 9: Tính năng Auto Healing cece cececccccceseeseceseesecseceseeseceeeeaeceeesseceeceaeceeeeaeeneenas 28
Hình 10: Tính nang Service DisCOVery cccceecescesceeesesneessecneceseeeceeesseceeesaeeeeeseentense 29 Hình 11: Mô hình quản tri Kubernetes 20.00 eceeceseeseceeceneeneceeeeeceeeeaeceeceaeeneeeaeeneense 33
Hình 12: Mô hình hệ thống đề tai co cccccccccccsessceseessessessessessessessestsssesssssessessessessesseesees 35Hình 13: Cấu hình Kubernetes trong file config 2 2+2+2++++£x+zxerxerxerxerreee 38
Hình 14: Thêm địa chỉ may master va WOrK] - c2 + *++E++EE+eEE+eeseerreererkrs 38 Hinh 15: 0i09ì) oốn:ađia 39
Hình 16: Kiểm tra kết quả sau join €ÏUsfer - 2-22 s22£+x+2££+Ex+£E£+Extzzxerxezrserxee 39
Hình 17: Giao diện dashboard - - - + 2c 221122211 13221 8113811152111 111821111111 xxe 41 Hình 18: Sửa tag image trong quá trình cải đặt 0 eee eee eececeeneceeeeseeeeeeaeeneeeseeneenes 45 Hình 19: Sau khi chạy kịch bản thử nghiệm - - 2E SE *++£EE+eEEseesserseersrkes 49
Hình 20: Kiểm tra kết nồi - 2-22 + ++2+SE+2EE£EEt2EEE2E227121127121127121111211 1121 xe 50
Hình 21: Pod tạo khi chạy file thử nghiệm - 5c 33c E* +2 + EE+EEEsrrsrerrersres 53
Hình 22: Kết nối vào pod vừa tạO ¿- 2+ ©2++22+22EE22E12223122312231221211221 221 e2 xe 53
Hình 23: Kết quả thử kịch bản trên kubernetes c.ccscccssessessessessesseessssessessessessesseesees 54
Hình 24: Liệt kê các tiến trình Docker dang Chay c.cecccccessessessessesstessssessessessessesseesees 54
Hình 25: KBI - CPU usage (%) — 10 kết nối + 2 2 ++++EE+EE+EEtrEerxerxerrerrxee 55
Hình 26: KBI - CPU load (%) — 10 kết nối 5c 52+Se2Et2EE2EE2EE2EE2EEEEEeEEerrrrerree 55
Trang 8Hình 27: KBI - Memory usage (%) — 10 kết nối 2 2 2+2 + x+£++£x+rxerxezzeee 56Hình 28: KBI - CPU usage (%) - 50 kết nồi 2 2 2+E£+E++EE+EEeEEerEerkrrerreee 56Hình 29: KBI - CPU load (%) - 50 kết nối -¿- + ©22x+22++Ex+2E++Exzz+zrxezzxsrxez 57Hình 30: KBI - Memory usage (%) - 50 kết nồi - 2 2+2 22 x+zx+£x+rxezxezzeee 57Hình 31: KB2 - Biéu đồ CPU usage — 10 kết nối 2 22222 ++£++£E+£xerxerxezreee 61Hình 32: KB2 - Biểu đồ CPU load — 10 kết nối -2:©2¿- +25+22x+2z++zxzzzsrxez 61Hình 33: KB2 - Biéu đồ memory usage — 10 kết Oi eeeesceseeseeseesessessessesseeseeaees 62Hình 34: KB2 - Biểu đồ CPU usage — 50 kết nồi - 2-22 ++2zz+£x+zzzzrxczzzsrxez 62Hình 35: KB2 - Biểu đồ CPU load — 50 kết nối 2- 2-22 ++2z£2£++2zz+£xvzzzsrxez 63Hình 36: KB2 - Biéu đồ memory usage — 50 kết nối 2-2 2 s+x+£x+£xezxzzzzez 63Hình 37: Thống kê số liệu sta 1 kết nối đến AP - 222 + E+£++£++rxerxzzzeez 64Hình 38: Thống kê số liệu sta 2 kết nối đến AP -2¿-¿++2+£+x+zxz+rxzxssrxez 65
Trang 9DANH MỤC BANG
Bang 1: Một số hệ thống TestBED 2-22 29SE9SE9EEEEEEEEEEEEEE2E1211211221221221 22 xe 7Bang 2: Một số trình giả lập đã cĨ ¿- 2-52-5122 2E EE2E2E2211211221221221 71112121 xe 10
Bang 3: So sánh Kubernetes va Docker Swarm -.- 5c +23 E+vsetEeeeseesrrree 30
Bang 4: Cau hình máy Master 2-5252 SE‡SE‡EE‡EEEEEE2E21121121122121111 11111121 36
Bảng 5: Lệnh cài đặt docker va cƠng CỤ - c2 31121121111 SEEEEEsrkrrkrrke 37 Bang 6: Lệnh cài đặt Kubeadm, kubelet, kubectÏ - - ¿55+ + x++s++ex+eeseexsersss 37 Bảng 7: Chỉnh sửa file /docker/daeImon.JSOTI - 5 5c 3223321323 +EE+EEseEerrererrrree 38 Bang 8: Lệnh khởi tao €ÏUSẮ€T - c2 2213212231351 1331351151 15 1111111111111 1 1 ke 39
Bang 10: Cấu hình network cho cluster ccccsccsscsccsscecsessesseesessesseessssseseessessessessesseeseaees 40
Bang 11: Cài dat giao diện dashboard oe ec eceeeeeeesecneeeseeeececeeseceeeeseeeeeeaeeneseaeentense 40
Bảng 12: Tao user đăng nhập - - - G0 2211211211151 1231511 12111 110111 11111 11 11 g1 rệt 40 Bảng 13: Khởi chạy proxy c3 2112112211211 11111 21111111111 111111 H1 HH nhà rệt 40
Bang 14: Clone containernet PS “caaA 41 Bảng 15: Tao dockerFile trong thử mục containernet - «+ «+sx+sex+seeseesees 42 Bang 16: s3ii8 0ì 1n 44 Bảng 17: Lệnh chạy 1maØe - c1 1121121191191 11 11 11 01T nh HH Hà HH 45
Bảng 18: Kịch bản thử nghiỆm - - 2c 622212511211 351E511 2 119111 11 11 1 11 vn rưệt 45
Bảng 19: Lệnh chạy kịch bản -c c6 2+ 3321115111531 1111 191119 1191111111 HH1 TH ng Hkt 48
Bang 20: Chuyên sang containernet CLI sau khi chạy kịch bản - 48Bảng 21: Lệnh kiểm tra kết nồi 2-22 %+SE£+EE£EESEEEEEE2E19211271221271221271 22 xe 49Bảng 22: File YAML cau hình thử nghiệm - 2-22 222 ©2+2++2E++2Ex+zzxzerseees 51
Bang 23: Lệnh chạy file thử nghiỆm - - 2c E3 21131E2113 1151111511111 Ekrrke 53 Bang 24: Chạy thử kịch ban trên kubernetes 200.0 ec ececceeeseeseceseeeeceeeeseceeeeseeneeeseentenss 53 Bảng 25: Lệnh chạy file kịch ban eceecceeseeseeseeeseeeeeseeseceeeeseceeeeaeceeeeaeeeeeeaeeneenae 54
Bảng 26: Thực hiện 10 kết nối đến sta l -2¿-©2¿2252222£22E++2EEt2EEt2EEzEErsrxrerrrees 54
Trang 10Bảng 27: Lệnh thực hiện 50 kết nối đến sta Ì ¿- 5c Sx+sEx‡EEESEEEEEEEEEkerrrksrrrkerrre 56
Bang 28: File yaml kịch bản 2 - c2 22 3211331351 1231351 151151111111 111 11 11 1 1 ke 57
Bảng 29: thực hiện 10 kết nối đến stad 5s ckcsExSEEESEEEEEESEEEESEEEESEEEkrkrrrkrrrree 60Bảng 30: Thực hiện 50 kết nối đến sta Ì -¿- 5s St EEEEEEEEEEEEEEEEEEEEEkrkerrrkerrree 62Bang 31: So sánh hiệu năng khi có 10 kết nối - 2 2 2+2+2£2££+£E+£E+£Eezxzxezzeee 65Bang 32: So sánh hiệu năng khi có 50 kết nối - 2 2 2+52+22£E+£E+£E+£Ee£EzEezreee 66
Trang 11DANH MỤC TU VIET TAT
WMN Wireless Mesh Network
WSN Wireless Sensor Network
NS3 Net Simulation 3
GNS3 Graphical Network Simulator
SDN Software-Define Network
SDWN Software-Define Wireless Network
Docker CFS Docker Container Freight Station
AT Adaptive Traffic
Trang 12TOM TAT KHÓA LUẬN
Với xu hướng phát triển công nghệ thông tin, việc sử các dịch vụ từ internet đang ngàymột phổ biến kéo theo đó là nhu cầu truy cập internet mọi lúc mọi nơi cũng tăng theo, vivậy việc triển khai các hệ thong mạng không dây đang dan trở nên quan trọng và tất yếu.Chính vì thế công việc của các kỹ sư công nghệ thông tin trong quá trình khảo sát, lên
kế hoạch, triển khai dự án cũng cần đạt được sự chính xác cao dé đáp ứng nhu cầu kháchhàng Việc triển khai một hệ thống hoạt động ôn định, chi phí hợp lý, hiệu suất cao cũngchính là chìa khóa cạnh tranh của các kỹ sư trong quá trình lên thiết kế và triển khai Dù
đã có kiến thức tốt, làm việc kỹ lưỡng nhưng đôi khi các kỹ sư cũng có thể vướng phảinhững rủi ro về lỗi trong quá trình sử dụng của khách hàng Do đó, phạm vi khóa luậnnày, nhóm tác giả đã nghiên cứu và triển khai mô hình ảo hóa mạng không dây phục vụ
công việc đo lường trước một số khả năng của hệ thống do kỹ sư thiết kế, chạy thử
nghiệm mô hình ảo giúp cho các kỹ sư có thể đo lường cũng như chỉnh sửa hệ thốngnhằm đạt hiệu quả tốt nhất Mô hình ứng dụng công nghệ ảo hóa, sử dụng các container
và công cụ quản lý để dựng lên một hệ thống giúp kỹ sư có thể thiết kế hệ thống mạng
không dây tự do theo nhu cầu Sau khi đã thiết kế được mô hình hệ thống theo ý muốn,
kỹ sư có thé chạy thử nghiệm mô hình của mình trên ảo hóa
Trang 13bị, tính ồn định, giao thức truyền tai, la những vấn đề luôn được các kỹ sư quan tâm,
tính toán và giải quyết trước khi đưa ra sử dụng cho người dùng cuối Có thể đưa ra một
hệ thống hoạt động én định, chính xác với nhu cầu của khách hang, chi phí tối ưu nhất
là một điểm cạnh tranh của các kỹ sư thiết kế hệ thống
Vì lẽ đó nên trên thế giới hiện nay đã có rất nhiều những giải pháp được đưa ra đề giải
quyết vấn đề này Có những hệ thống nghiên cứu được dựng lên với hàng ngàn nhữngthiết bị vật lý, cơ sở hạ tầng không lồ, những giải pháp như vậy thì rất thực tế nhưng lạitốn kém rất nhiều về mặt chỉ phí và không gian; ngoài ra cũng có những giải pháp sửdụng công nghệ ảo hóa, xây dựng một hệ thống với những thiết bị ảo chạy trên môitrường ảo hỏa, giải pháp này thì giảm thiểu rất nhiều chi phí nhưng ngược lại thì khó cóthé đáp ứng được hết những sự cố có thê xảy ra trong thực tế, kèm theo đó là những thuật
Trang 14- Mô hình triển khai hệ thống ảo hóa mạng không dây.
- Xây dựng hệ thống ảo hóa mạng không dây
- Triển khai và đánh giá hệ thống mạng không dây ảo
1.3 Đối tượng
- Mô hình mạng không dây ảo.
- Các công cụ hỗ trợ triển khai và quản lý container
- Các công cụ tích hợp giao thức, thiết bị không dây
- Các mã nguồn mở liên quan đến mạng không dây.
1.4 Ý tưởng, phạm vi nghiên cứu
Hiện nay việc áp dụng container vào các chương trình kiểm thử, triển khai doanh nghiệpdang rất phố biến Nhóm em cũng áp dụng những điểm lợi của container vào đề tài này,
theo đó là sử dụng Kubernetes với khả năng tự động hóa cao và nhiều tính năng dé quan
lý và triển khai các container trong môi trường ảo của VMware, kết hợp với MininetWifi dé có thé giả lập một môi trường mạng không day và thực hiện các khảo sát Hệthống sẽ có các container được triển khai như một thành phan của mạng không dây thực:access point, client, controller, dé thực hiện mô phỏng và được quan lý bởi Kubernetes
Tuy trên thế giới đã có rất nhiều hệ thống giả lập mạng, nhưng kết hợp với công cụ quản
lý Kubernetes là một ý tưởng còn mới và chưa được ứng dụng Chính vì thế phạm vi của
đề tài này nhóm tác giả quyết định sử dụng Mininet Wifi triển khai một môi trường mạnggiả lập chạy Docker container và kết hợp với công cụ quản lý là Kubernetes Nhận thấy
Đây là một ý tưởng mới và có tiêm năng với việc có thê mở rộng lên đên hàng trăm node.
Trang 151.5 Những đóng góp của đề tài
1.5.1 Tính mới của đề tài
Cho tới hiện tại, đã có rất nhiều những nghiên cứu về mô hình mạng không dây ảo sửdụng cho mục đích thử nghiệm hệ thống Tuy nhiên một hệ thống ảo hóa mạng khôngdây với sử kết hợp của các thành phần Kubernetes — Mininet Wifi thì vẫn dang là mới
mẻ Chính vì vậy đề tài này sẽ mang đến thêm một sự lựa chọn mới mẻ cho những kỹ
su.
Phan lớn các hệ thống sử dụng Kubernetes giả lập mạng tốc độ cao, nhiều loại hình mạng
khác nhau dé sử dụng trong thực tế cũng như là trong môi trường thử nghiệm Tuy nhiên
việc sử dụng Kubernetes trong giả lập mạng không dây vẫn chưa có, vậy nên việc làm
một dé tài như vậy sẽ có tiềm năng mở thêm một hướng đi mới trong ngành
1.5.2 Khả năng ứng dụng
Nhu cầu sử dụng mạng không dây ngày càng tang, kéo theo là sự phát triển của mạnglưới mạng không dây Hơn bao giờ hết, yêu cầu về chất lượng của những hệ thống mộtkhông dây đang ngày một cao và khắt khe hơn Nếu một hệ thống không đạt đủ yêu cầu
sẽ dẫn đến trải nghiệm sử dụng của người dùng bị ảnh hưởng xấu, theo đó sẽ là nhữngthan phiền từ phía người dùng, có thể là cả hoạt động của doanh nghiệp bị ảnh hưởng
Do đó hệ thống thử nghiệm mạng không dây trên môi trường ảo đã được nhóm tác giả
chọn đê giải quyét van dé này.
Với một hệ thống ảo hóa, các kỹ sư có thể thoải mái chạy thử nghiệm mô hình do họ thiết kế, có thé thay đổi, chỉnh sửa tùy ý theo đúng nhu cầu, có thé kiểm tra một số rủi
ro trước khi triển khai, đây là những thứ mà khi đã triển khai thực tế rất khó có thé thay
đôi khi có sai sót.
Trang 16Ngoài ra, dé tài con có khả năng ứng dụng cao nhờ việc không sử dụng môi trường cốđịnh dé thử nghiệm, có thé thực hiện việc chạy chương trình ở bat kì đâu, bat kì khi nào
người kỹ sư mong muôn.
1.6 Các phân của báo cáo
1.6.1 Chương 1: Mở đầu
Trình bày lý do chọn đề tài, mục tiêu nghiên cứu, đối tượng nghiên cứu, phạm vi nghiên
cứu và đóng góp của khóa luận.
1.6.2 Cơ sở lý thuyết
Bao gồm nội dung liên quan đến các khái niệm, công nghệ, mô hình mà nhóm tác giả đãtìm hiểu và nghiên cứu trong quá trình thực hiện khóa luận Những kiến thức được trìnhbày trong chương này là cơ sở đề thực hiện thiết kế và trién khai hệ thống ảo hóa mạngkhông dây Ngoài ra trong chương này còn có dé cập đến một số công nghệ đã có trướcđây dé hiểu hơn về ý nghĩa cũng như mục đích xây dựng hệ thống
1.6.3 Phân tích và thiết kế mô hình
Trình bày ý tưởng của nhóm tác giả khi thiết kế mô hình Bao gồm mô hình của hệ thống,giải thích các thành phần có trong hệ thống, mô tả chức năng của các thành phần, liệt kê
các bước cần thiết dé triển khai mô hình.
1.6.4 Đánh giá kết quả
Đánh giá ưu và nhược điểm của mô hình trong kịch bản thử nghiệm
1.6.5 Kết luận và hướng phát triểnTổng kết quá trình thực hiện khóa luận và đề xuất hướng phát triển trong tương lai
Trang 17CHƯƠNG 2: TONG QUAN
1 Sơ lược
Sự phát triển của các giao thức mạng không dây và công cụ kiểm tra các hệ thống đãphát triển dé xác minh chức năng, giao thức, khả năng, của chúng Hơn nữa trước khitriển khai trong mô hình quan trọng, các đặc điểm hiệu suất các giao thức mạng hiện có
và các ứng dụng cũng phải được đánh giá trong các trường hợp cụ thé khác nhau Déthực hiện những kiểm tra này trên thế giới đã xuất hiện rất nhiều cách thức khác nhaunhư: hệ thống thiết bị thực Testbed, các trình mô phỏng, trình giả lập
Trong phần này nhóm tác giả sẽ diễn đạt về một số khái niệm, giới thiệu và trình bàykhái quát một số công nghệ của 3 cách tiếp cận trên trước đây cho đến hiện nay đã được
đưa ra dé giải quyết những van đề được nhóm tác giả đề cập ở chương trước Nhóm tác
giả liệt kê ra các mục sẽ trình bày cụ thê như sau:
- Phân tích các hướng tiếp cận: trình bày về Testbed — trình mô phỏng - trình gia lập
- Hướng xây dựng đề tài
- Mininet Wifi.
- Containernet.
- Docker.
- Kubernetes.
2 Phân tích các hướng tiếp cận
2.1 TestBed - Mô phỏng ( Simulation ) - Giả lập mạng ( Emulator)
Trang 18liên tục nghiên cứu, phát triển và triển khai ở nhiều nước trên thế giới Testbed là hệthống những mạng máy tính gồm các thiết bị thực sử dụng hỗ trợ thử nghiệm các hệthống mạng không dây với quy mô từ nhỏ đến lớn.
2.1.1.2 Một số hệ thống TestBed
Trên thực tế có rất nhiều hệ thống testbed với nhiều quy mô, nhưng ở đây nhóm tác giả
chỉ giới thiệu một số hệ thống testbed tiêu biểu gồm: SensLAB, Des-Testbed, StartBED.
Bang 1: Một số hệ thong TestBEDSTT TÊN THÔNG TIN
Testbed với quy mô lớn được xây dựng đề phục vụ thử nghiệm,
nghiên cứu và đánh giá các giao thức va ứng dụng mang cam
biến không dây Mục tiêu của testbed này là cung cấp một cáchchính xác những công cụ truy cập mở khoa học dành cho nhiều
1 SensLAB [1] người dùng dé hỗ trợ thiết kế, phát triển va thử nghiệm cam
biên quy mô lớn.
Quy mô: gồm 1024 node trên 4 địa điểm khác nhau tại Pháp [
INRIA Grenoble, INRIA Lille, INRIA Rennes và trường đại
hoc Strasbourg ] Mỗi dia điểm lưu trữ 256 node cảm biến
Distributed Embedded System testbed được xây dựng nhăm hỗ
trợ nghiên cứu mạng không dây nhiều node Hệ thống gồm có
DesTestbed
-2 -2] mang không day Mesh (WMN) va mang cảm biên không day
(WSN) phục vu việc nghiên cứu lâu dài va ứng dung cho hệ
thống mạng không dây sau này
Trang 19Quy mô: 95 node, 95 MSB A2, indoor and outdoor.
Được xây dựng tại Trung tâm nghiên cứu Hokuriku NICT Nhật
Bản, với quy mô lớn của cơ sở hạ tầng thiết bi sử dụng dé hỗ
trợ giả lập, đánh giá giao thức và ứng dụng trong hệ thống mạng
không dây Các công cụ hỗ trợ liên quan được sử dụng
3 StarBED [5] SpringOS, RUNE Hệ thống sử dụng bộ công cụ QOMET dé
giả lập thiết bị và các giao thức mạng không dây trong môi
trường mạng có dây.
Quy mô: hơn 1000 PC.
Trên đây nhóm tác giả đã giới thiệu qua 3 hệ thống testbed nồi bật đã được triển khai vàcông bố khắp thé giới Bên cạnh các testbed này, nhiều tổ chức nghiên cứu cũng đã triểnkhai nhiều hệ thống tương tự với quy mô lớn nhỏ khác nhau Phần lớn các testbed phục
vụ cho mục đích làm việc và nghiên cứu với quy mô lớn.
2.1.1.3 Ưu - nhược điểm
- Ưu điểm: đối với phương pháp tiếp cận xây dựng một hệ thống testbed với những trangthiết bị thật thì sẽ đảm bảo tốt hơn về mặt gần gũi thực tế, những tình huống có thể xảy
ra, những rủi ro, số liệu đo đạc cho ra kết quả tương đương với thực tế nhất, tính tin cậy
cao.
- Nhược điểm: bên cạnh ưu điểm thì những nhược điểm của phương pháp này cũng rất
lớn Đó chính là việc triển khai một số lượng lớn các thiết bị thực sẽ dẫn đến chi phí
mua, bảo trì và triển khai thiết bị rất lớn Ngoài ra, việc thử nghiệm trên hệ thống thực
Trang 20cũng mang lại sự bất tiện về quá trình bảo dưỡng, sửa chữa, quản ly, và thay đôi kịch
như bộ định tuyến, thiết bị chuyền mạch, node mạng, điểm truy cập, Có thể nói đây là
một bản sao các hành vi của các thiết bị thực bằng một chương trình phần mềm Đây
cũng là một cách tiếp cận khác dé thử nghiệm mạng không dây
2.1.2.2 Một số trình mô phỏng
Trên thị trường hiện nay có thê kề đến một số ông lớn trong lĩnh vực như: NS3, OPNET
Modeler, OMNET++, Qualnet, Cisco Packet Tracer, Trong các trình mô phỏng thì
thường được biết đến nhiều nhất là trong môi trường giáo dục như NS3, Cisco PacketTracer Nhu Cisco Packet Tracer hỗ trợ người dùng làm quen với việc cấu hình các thiết
bị của Cisco băng giao diện dòng lệnh, thực hiện tạo mô hình mạng, kiểm tra kết nối,routing, Còn NS3 là trình mô phỏng thực hiện những chức năng sâu hơn như kiểm soátcác thông số bên trong: tăng giảm băng thông mạng, làm thế nào đề gói tin rơi ít nhất,giao thức truyền nào hiệu quả hơn Mỗi trình mô phỏng đều có những chức năng nổi
trội riêng của nó.
2.1.2.3 Ưu - nhược điểm
- Ưu điểm: ngược lại với hệ thống thực testbed, các công cụ mô phỏng hỗ trợ tốt cho cácthử nghiệm có số lượng node lớn, chi phí thấp, ít công sức triển khai, bảo trì, vận hành,
có thể điều chỉnh, thay đổi kịch bản thử nghiệm nhanh chóng đơn giản
Trang 21- Nhược điểm: tuy nhiên, với cách tiếp cận này sẽ phụ thuộc vao thuật toán nên đòi hỏi
độ phức tạp cao, tính tin cậy của kết quả thu được thấp hơn so với các hệ thống testbed
2.1.3.2 Một số trình giả lập
Những năm gần đây cách tiếp cận với hệ thống giả lập này đang thu hút sự chú ý, đượcxem là tiềm năng và có tính ứng dụng cao Trong đó các hệ thống thử nghiệm dựa trênnền tảng container, có thê kê đến như: QOMET, Mininet wifi, dummynet dựa trêncông nghệ OpenStack có thê được xem như là những đại diện cho trình giả lập Những
hệ thống này đã cho thấy được ưu điểm quan trong như: hỗ trợ khả năng thực thi thờigian thực, kết quả thử nghiệm có độ tin cậy cao hơn so với trình mô phỏng trong khi chỉphí thấp hơn các hệ thống testbed
Bảng 2: Một số trình giả lập đã có
STT TÊN THÔNG TIN
Là một công cụ mô phỏng mạng trực tiếp, ban đầu được thiếtDummynet kế dé thử nghiệm các giao thức mạng và từ đó được sử dụng
[4] cho nhiêu ứng dung khác nhau bao gôm quan lý bang thông.
Nó mô phỏng, thực thi các giới hạn về hàng đợi va bang thông,
sự chậm trê, mat gói và hiệu ứng đa đường Nó cũng thực hiện
10
Trang 22các thuật toán lập kế hoạch khác nhau Dummynet có thể sử
dụng trên máy chạy ứng dụng của người dùng hoặc hoạt động
như bộ định tuyến
Thuộc loại testbed: emulation tools.
Kiến trúc: phân tán
QOMET [5]
QOMET là trình gia lập mạng không dây sử dụng hai giai đoạn
phương pháp tiếp cận dé chuyển đổi một kịch bản do ngườidùng xác định sửa lại thành các tham số suy giảm mạng sau đóđược sử dụng để định cấu hình trình giả lập cấp liên kết nhưDummynet, do đó tái tạo trong mạng có dây các điều kiệntruyền thông của mạng lưới không dây mô phỏng
Quy trình sử dụng QOMET cho các thí nghiệm mô phỏng bao
Trang 23trên nên tảng Linux và các thiệt bị chuyên mạch của nó hồ trợ
OpenFlow đề định tuy tùy chỉnh linh hoạt
GNS3 được sử dụng đề mô phỏng, cau hình, kiểm tra dé khắc
phục sự cố mạng ảo và mạng thực GNS3 cho phép bạn chạy
4 GNS3 [7] một cấu trúc liên kết nhỏ chỉ bao gồm một số thiết bị trên máy
tính xách tay, đến những thiết bị có nhiều thiết bị được lưu trữ
trên nhiêu máy chủ
Đã có rât nhiêu công trình nghiên cứu sử dụng các công cụ được giới thiệu bên trên đê triên khai, có thê kê đên như:
QOMB sử dụng bộ công cụ QOMET dé gia lập lai mang không dây trong môi trường
mạng có dây Cơ sở hạ tầng của QOMB là StarBED ( một hệ thống gồm hàng trăm máy
tính và thiết bị chuyên mạch) phục vụ cho thử nghiệm mạng quy mô lớn được đặt tạiViện Thông tin Quốc gia và Công nghệ Truyền thông, Trung tâm Nghiên cứu Hokuriku,
ở Ishikawa, Nhật Bản Mô phỏng mạng không dây đa bước kết quả thử nghiệm liên quanđến phân tích hiệu suất OLSR trong mạng lưới và MANET minh họa các tính năng chính
và khả năng sử dụng của QOMB.
AEROMAN được thiết kế và triển khai để đánh giá định tuyến giao thức cho mạng không dây
đa bước AEROMAN sử dụng QOMET để tính toán các thông số của các liên kết không dây,chang hạn như băng thông, độ trễ, tỷ lệ mat gói, trong điều kiện không có tranh chấp Đề tính đến
thuộc tính của quyên truy cập phương tiện dựa trên tranh chấp cho kênh không dây, AEROMAN
sử dụng mô hình lưu lượng thích ứng (AT) đề mô phỏng tính năng chia sẻ của cơ chế CSMA CA
trong IEEE 802.11 Các đánh giá cho thấy mô hình AEROMAN với AT hiệu quả nắm bắt cácđặc điểm của truyền thông không dây Vài thử nghiệm sử dụng OLSR làm giao thức định tuyến
12
Trang 24với các các chỉ số định tuyến được thực hiện đề minh họa chính các tính năng và khả năng sửdụng của AEROMAN.
2.1.3.3 Ưu - nhược điểm
Hai cách tiếp cận trước đều có ưu và nhược điểm riêng, với giả lập mạng thì có thé kếthợp một cách tương đối những ưu điểm của testbed và trình mô phỏng Về chi phí triểnkhai thì trình giả lập không cao như một hệ thống testbed, về tính linh hoạt thì nó tậndụng được sự linh hoạt của trình mô phỏng, ở đây nó là trung bình cả ưu và nhược điểm
của hai cách trước, vì vậy cũng có thê nói những điêm này vừa là ưu vừa là nhược điêm.
3 Hướng tiép cận
Sau khi tìm hiểu về cách phương pháp đã có trước đây và hiện nay, biết được ưu nhược
điểm của từng loại, xét đến khả năng hiện tại nhóm tác giả đã chọn trình giả lập là phươngpháp dé xây dựng và triển Với sự trung hòa các ưu nhược điểm của trình mô phỏng vàtestbed đây là một phương pháp tốt đề xây dựng đề tài và phù hợp với xu hướng hiện
nay.
Trong dé tài nhóm tác giả kết hợp hai công nghệ hiện đại là OpenStack và DockerContainer dé xay dung hé thong dé thực thi các kịch ban thử nghiệm đa dạng của chuẩnkết nối mạng không dây phô biến hiện nay 802.11(wifi) đáp ứng yêu cầu và khả năngcủa tác giả về chỉ phí và tính linh động
Hiện tại mô hình này đã có trên thế giới với nhiều sự kết hợp khác nhau từ các công cụ
triển khai và quản lý đa dạng Tuy nhiên, trong đề tài nhóm tác giả sẽ kết hợp giữa
Docker Container — Mininet Wifi và công cụ quản lý Kubernetes dé triển khai dé tài Mô
hình như sau:
13
Trang 25Mininet Wifi
Kubernetes (K8S) controller
Š Physical Physical
hysicatnode Masts Node Worker Node Worker
Hình 1: Kiến trúc cơ bản dé tàiTrong kiến trúc này, các các máy ảo sẽ chạy theo mô hình Master Node — Worker Nodetheo kiến trúc của Kubernete Trên những node này sẽ triển khai các container và chạygiả lập bằng cách viết các file thiết kế hệ thống mạng không dây gồm các: host,controller, access point, cho mininet wifi dé thé hién lai hé thong mang wifi Với việc
sử dung file thiết kế và kiến trúc như vậy chúng ta có thé dé dang thao tác thay đổi trên
file câu hình và triển khai lại nhanh chóng, ngoài ra việc đo lường, kiểm tra các tính năng
và khó khăn Những thách thức này là tiền đề cho các phần mềm, công cụ giả lập thử
14
Trang 26nghiệm các môi trường không dây ra đời Và Mininet-Wifi là một trình giả lập đáp ứng được những nhu câu đó.
Mininet-WiFi như một công cụ dé mô phỏng các kịch bản OpenFlow / SDN không dây
cho phép các thử nghiệm có độ trung thực cao tái tạo môi trường làm việc mạng thực.
Mininet-Wifi cung cấp một trình giả lập hệ thống mạng ảo không dây, thiết lập một hệthống mạng không dây ảo bằng file cấu hình, điều nay cho phép người sử dung dé dàngthiết kế hệ thống tùy ý, dé dàng sửa đổi cau hình cũng như kiến trúc của hệ thống, đo
lường các thử nghiệm, tính linh động cao.
Trình giả lập Mininet-Wifi với các trạm không dây ảo và điểm truy cập trong khi vẫn
giữ các khả năng ban đâu của SDN và kiên trúc phân mêm ảo hóa.
Mininet-Wifi là một nhánh của Mininet được phat triển dé hỗ trợ cho các thử nghiệm
không dây wifi bằng cách thêm các trạm (STA) và điểm truy cập (AP) không day dựatrên trình điều khiển không dây Linux phổ biến như: mac80211/SoftMac3, hỗ trợ hầuhết các tính năng của NIC cho phép Mininet-Wifi thực hiện kiểm soát chỉ tiết với góimạng không dây ở lớp thấp
15
Trang 27SDN là kiến trúc được xây dựng nhằm mục đích làm cho mạng trở nên linh hoạt, mục
tiêu của SDN là cho phép các kỹ sư và người quản trị mạng nhanh chóng đáp ứng các
nhu cầu thay đôi qua một bộ điều khiến tập trung Trong SDN người quản trị có thé địnhhình lưu lượng truy cập từ bộ điều khiển tập trung mà không cần đi đến các thiết bị riêng
lẻ Bộ điều khiển SDN tập trung quản lý các thiết bị cung cấp dịch vụ mạng bất cứ khi
nào can, bat kê loại kết nối nào giữa Server và thiết bi SDN gồm nhiều công nghệ mạng
được thiết kế để giúp mang trở nên linh hoạt hơn hỗ trợ ảo hóa và cơ sở hạ tầng lưu trữ
của trung tâm dữ liệu hiện đại.
16
Trang 28Traditional Network Software-Defined Network
Switch
\ “kg Controller
wee Plane *% Machine^
«— Data Plane
Hình 3: Mang truyền thong va SDN
SDN tách riêng các control plane phân tan (distributed) từ các forwarding plane va đưa (offload) các chức nang cua control plane vào trong control plane tập trung (centralized).
Control plane va forwarding plane là 2 dang tiến trình mà các thiết bi mạng đều thựchiện Có một số phiên bản của SDN nhưng tat cả các giải pháp SDN đều bao gồm balớp: lớp ứng dụng, lớp điều khién và lớp cơ sở hạ tang
- Lớp ứng dụng chứa các ứng dụng hoặc chức năng mạng điển hình mà các tô chức sử dụng, có thể bao gồm các hệ thống phát hiện xâm nhập, cân bằng tải hoặc tường lửa.
Trong một mạng truyền thống sẽ sử dụng các thiết bị chuyên dụng, như tường lửa hoặccân bang tai, SDN sẽ thay thế thiết bi đó bằng một ứng dụng sử dụng bộ điều khiển dé
quản lý “hành vi” của data plane.
- Lớp điều khiển đại điện cho phần mềm điều khiển SDN tập trung hoạt động như bộ
não của SDN Bộ điều khiển này nằm trên một máy chủ và quản lý các chính sách vàluồng lưu lượng trên toàn mạng
- Lớp cơ sở hạ tầng được tạo thành từ các thiết bị vật lý trong mạng
17
Trang 294.2.2 SDWN
Với tinh than tương tự SDN, SDWN nhằm cung cấp điều khién tập trung có lập trìnhcủa mạng không dây với các hướng dẫn đã nhận và chịu trách nhiệm về việc truyền vànhận lưu lượng truy cập qua liên kết không dây
Như ngày nay, cách thực tế duy nhất để dùng thử WiFi và Open Flow cùng nhau là sửdụng phần mềm nguồn mở và các giải pháp hệ điều hành như OpenWRT cho phép
chuyên các bộ định tuyến không dây vào các công tắc hỗ trợ OpenFlow Tuy nhiên, ngay
cả OpenWRT cũng bị hạn chế trong một tập hợp tài nguyên hạn chế và giống như bat kỳ
đã được thử nghiệm, cách tiếp cận này phải đối mặt với những thách thức trên quy môcác thử nghiệm, các tùy chọn kiểm soát và tái lập cũng như thời gian thiết lập cao
Mặt khác, trình giả lập SDN không dây sẽ là một tùy chọn thú vị đề làm việc với nhiềuthiết bị (cả AP và STA) ở quy mô hợp lý trên môi trường do người thử nghiệm xác định,cho phép nghiên cứu thêm các tính năng SDWN mới đến việc tạo mẫu nhanh và các lợiích thử nghiệm phong phú đã biết bởi cộng đồng người dùng Mininet lớn
5 Containernet
Containernet là một nhánh cua Mininet cho phép sử dung Docker container làm may chu
Mininet cũng như các trạm Mininet-WiFi Điều nay cho phép các chức năng thú vị chomạng thử nghiệm / đám mây được xây dựng Việc tích hợp được thực hiện bằng cách
phân lớp con của các lớp Máy chủ / Trạm ban đâu.
Cac tính năng của containernet:
- Thêm, xóa vùng chứa Docker vào câu trúc liên kêt Mininet.
- Kêt nôi vùng chứa Docker với câu trúc liên kêt (với thiệt bị chuyên mach, vùng chứa
khác hoặc máy chủ Mininet cũ).
18
Trang 30- Thực thi các lệnh bên trong vùng chứa bằng cách sử dung Mininet CLI.
- Thay đổi cấu trúc liên kết động
- Thêm máy chủ / vùng chứa vào cấu trúc liên kết Mininet đang chạy
- Kết nối máy chủ / bộ chứa docker với cau trúc liên kết Mininet đang chạy
- Xóa máy chủ / vùng chứa Docker / liên kết khỏi cau trúc liên kết Mininet đang chạy.
- Giới hạn tài nguyên của vùng chứa Docker.
- Giới hạn CPU với tùy chọn chia sẻ CPU Docker.
- Giới hạn CPU với các tùy chọn thời hạn / hạn ngạch Docker CFS.
- Giới hạn bộ nhớ / hoán đồi
- Thay đổi giới hạn CPU / mem trong thời gian chạy!
- Hién thị các công vùng chứa và đặt các biến môi trường của vùng chứa thông qua API
Python.
- Liên kết kiểm soát lưu lượng (chậm trễ, bw, mat mát, chập chòn)
- Cài đặt tự động dựa trên Ansible playbook
6 Docker
Docker là một nền tang dé cung cấp cách dé building, deploying và running ứng dung
dễ dàng hơn bằng cách sử dụng các containers (trên nền tảng ảo hóa) Ban đầu viết bằng
Python, hiện tại đã chuyên sang Golang
19
Trang 31Các containers cho phép lập trình viên đóng gói một ứng dụng với tat cả các phần cầnthiết, chăng hạn như thư viện và các phụ thuộc khác, và gói tất cả ra dưới dạng một
package.
Docker khá giống với virtual machine Một số lợi ích của docker:
- Tinh dé ứng dụng: Docker rất dé cho mọi người sử dụng từ lập trình viên, sys admin
nó tận dụng lợi thé của container dé build, test nhanh chóng Có thé đóng gói ứng dụng
trên laptop của họ và chạy trên public cloud, private cloud Câu thần chú là “Build
once, run anywhere”.
- Toc độ: Docker container rat nhẹ và nhanh, ban có thé tao va chạy docker container trong vai giây.
- Môi trường chạy và khả năng mở rộng: Bạn có thé chia nhỏ những chức năng của ứng
dụng thành các container riêng lẻ Vi dung Database chạy trên một container và Redis
cache có thể chạy trên một container khác trong khi ứng dụng Node.js lại chạy trên mộtcái khác nữa Với Docker, rất dé đề liên kết các container với nhau dé tạo thành một ứngdụng, làm cho nó đễ dàng scale, update các thành phần độc lập với nhau
Với xu hướng dịch chuyển sang microservices của các hệ thống lớn, Docker đang làm
một thành phần cực kỳ quan trọng, làm cho nó trở thành một phần của nhiều công cụDevOps Hiện tại thé giới bắt đầu sử dụng thêm một công cụ quản lý container tiên tiễnkhác là Kubernetes Tiếp theo nhóm tác giả sẽ giới thiệu về Kubernetes
Trang 32có thé cau hình dé chạy các ứng dụng, dich vụ sao cho phù hợp nhất khi chúng tương tácvới nhau cũng như với bên ngoài Bạn có thê điều chỉnh tăng giảm tài nguyên, bản chạy
phục vụ cho dịch vụ (scale), bạn có thể cập nhật (update), thu hồi update khi có van đề
và triển khai ứng dụng dưới dạng container hay còn gọi là Container orchestrationengine Kubernetes là một công cụ mạnh mẽ, mềm dẻo, dễ mở rộng khi so sánh nó với
công cụ tương tự là Docker Swarm.
Kubernetes orchestration cho phép bạn xây dựng các dịch vụ ứng dụng mở rộng nhiêu containers Nó lên lịch các containers đó trên một cụm, mở rộng các containers và quản
lý tinh trạng của các containers theo thời gian.
Các ứng dụng production thực tế mở rộng nhiều containers Các containers đó phải đượctriển khai trên nhiều server hosts Kubernetes cung cấp khả năng phối hợp và quản lý
cân thiệt đê triên khai các containers theo quy mô cho các workloads đó.
Bằng việc sử dụng docker, trên 1 host bạn có thé tạo ra nhiều container Tuy nhiên nếubạn có ý định sử dụng trên môi trường production thì phải bắt buộc phải nghĩ đến nhữngvấn đề dưới đây:
- Việc quan lý hàng loạt docker host.
- Container Scheduling.
- Rolling update.
- Scaling/Auto Scaling.
- Monitor vòng đời va tình trạng sống chết của container
- Self-healing trong trường hợp có lỗi xảy ra (Có khả năng phát hiện và tự correct lỗi).
- Service discovery.
21
Trang 34name
Hình 4: File cấu hình yaml
Sơ đồ cơ bản kiến trúc Kubernetes:
23
Trang 35Controller Manager
etcd
Hình 5: So đồ kiến trúc co bản Kubernetes
7.2 Tính năng
Sau khái niệm kubernetes là gì chúng ta hãy đến với chức năng của nó Kubernetes quản
ly các docker host và cấu trúc container cluster Ngoài ra, khi thực thi các container trên K8s, bằng cách thực hiện replicas (tạo ra nhiều container giống nhau) làm cho hệ thống
có sức chịu lỗi cao và tự động thực hiện load balancing Thông qua cơ chế load balancing, chúng ta có thé tăng giảm số lượng container replica (auto scaling).
24
Trang 36Scaling / Auto Scaling
Hình 6: Tĩnh năng Scaling/Auto Scaling
Khi thực hiện phan chia container vào các Node (docker host), dựa trên các loại docker
host kiểu như “Disk SSD” hay “số lượng clock của CPU cao” Hoặc dựa trên loạiWorkload kiểu như “Disk I/O quá nhiều”, “Băng thông đến một container chỉ định quá
nhiều” K8s sẽ ý thức được việc affinity hay anti-affinity và thực hiện Scheduling một
cách hợp lý cho chúng ta.
25
Trang 37Scheduling and
Affinity
Trong trường hợp không được chỉ định host cụ thể, K8s sẽ thực hiện scheduling tuỳthuộc vào tinh trạng CPU, memory của docker host có trống hay không Vì vậy, chúng
ta không cân quan tâm đên việc quản lý bô trí container vào các docker host như thê nảo.
Hon nữa, trường hợp resource không đủ, thì việc auto scheduling của K8s cluster cũng
sẽ được thực hiện tự động.
26
Trang 38Hình 8: Tinh năng Management
Được xây dựng theo quan điểm tính chịu lỗi cao, K8s thực hiện monitor các containertheo tiêu chuẩn Trong trường hợp bất ngờ nào đó, khi một container process bị đừng,K8s sẽ thực hiện Self-hearing bằng cách scheduling một container nữa
Thêm nữa, ngoài việc monitor hệ thống, k8s còn có khả năng thiết lập health check bang
HTTP/TCP script.
27
Trang 39Hình 9: Tinh năng Auto Healing
Trường hợp sau khi auto scaling, phat sinh một van đề của endpoint đến container Trongtrường hợp sử dụng máy ảo, bang việc setting load balancing endpoint sẽ được sử dụng
như một VỊP.
K8s cũng có một chức năng tương tự như vậy đó là Service Service của k8s cung cấp
chức năng load balancing cho hàng loạt các container được chỉ định Việc tự động thêm,
xoá container thời điểm scale là điều hiển nhiên, khi một container xay ra sự cố thì tự
động cách ly.
Khi thực hiện rolling update container thì việc đầu tiên k8s sẽ làm là cách ly container
cho chúng ta, vì vay k8s có thé đảm nhận việc quản ly các endpoint ở mức SLA cao.
Trong kiên trúc Microservice, đê sử dụng các image container được tao ra tương ứng với
từng chức năng và deploy chúng thì chức năng Service discovery thực sự cần thiết
28
Trang 40= Service A mm Container A (Docker Image A)
| | Service B “= Container B (Docker Image B)
Hinh 10: Tinh nang Service Discovery
K8s là một Platform nhưng có kha năng liên kết tốt với các hệ sinh thái bên ngoài, có
nhiều middleware chạy trên các service của k8s, trong tương lai chắc chắn sẽ còn nhiều
hơn nữa.
- Ansible: Deploy container tới Kubernetes.
- Apache Ignite: Sử dung Service Discovery của Kubernetes, tự động tao va scaling k8s
cluster.
- Fluentd: gửi log của container trong Kubernetes.
29