Với việc công nghệ ảo hóa ngày càng phát triển mạnh mẽ và nở rộ trong giai đoạn hiện nay, việc cài đặt, sử dụng, khai tác các tài nguyên sẽ không còn khó khăn mà vẫn đảm bảo được tính bả
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Nghiên cứu phát triển môi trường thực hành công nghệ thông tin tảng Docker BÙI QUANG LÂM lam.bqcb180199@sis.hust.edu.vn Ngành Công nghệ thông tin Giảng viên hướng dẫn: TS Trịnh Tuấn Đạt Viện: Công nghệ thông tin – Truyền thông HÀ NỘI, 06/2020 Tai ngay!!! Ban co the xoa dong chu nay!!! 17061132020571000000 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Nghiên cứu phát triển môi trường thực hành công nghệ thông tin tảng Docker BÙI QUANG LÂM lam.bqcb180199@sis.hust.edu.vn Ngành Công nghệ thông tin Giảng viên hướng dẫn: TS Trịnh Tuấn Đạt Viện: Công nghệ thông tin – Truyền thông HÀ NỘI, 06/2020 Chữ ký GVHD CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn : Bùi Quang Lâm Đề tài luận văn: Nghiên cứu phát triển môi trường thực hành CNTT tảng Docker Chuyên ngành: Công nghệ thông tin Mã số SV: CB180199 Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày 27/6/2020 với nội dung sau: I Chỉnh sửa phần cấu trúc luận văn Viết lại toán đặt cách giải Xác định rõ luận văn sử dụng công nghệ Docker, vấn đề Docker chưa giải so với cơng nghệ khác Từ nghiên cứu áp dụng để phát triển môi trường dựa công nghệ Docker, đề xuất cách thức hoạt động hệ thống sử dụng Docker, đánh giá chức năng, hiệu suất để làm rõ điều Cụ thể sau: • Phát biểu lại tốn đặt LVTN (Chương 1) • Làm rõ tốn quy trình thực thi hệ thống Docker, không áp dụng lý đưa đề xuất (Phần 3.2.3 Kiến trúc quy trình thực thi hệ thống Docker - Trang 26) • Trình bày trường hợp hai nhiều sinh viên thực hành container (Phần 4.2.4 Practice computer - Trang 42) • Phân tích rõ đóng góp luận văn so với giải pháp (Phần 4.5.1 Đánh giá chức hệ thống - Trang 48) • Trình bày cách thức mục đích việc tính toán hiệu suất hệ thống (Phần 4.5.2 Đánh giá hiệu suất hệ thống - Trang 48) • Vẽ lại biểu đồ use case thể kết nối tác nhân tham gia hệ thống (Phần 2.2.2 Quy trình nghiệp vụ - Trang 11) • Viết chi tiết phần kết luận (Phần 5.1 Kết luận hướng phát triển - Trang 54) II Chỉnh sửa cách trình bày luận văn Thêm trích dẫn hình ảnh sử dụng tham chiếu Sắp xếp lại bố cục luận văn theo chuẩn template Mau1_QTBaove phịng đào tạo • Tách lời cảm ơn tóm tắt luận văn thành trang khác • Bổ sung thêm tài liệu tham khảo trích dẫn TLTK nội dung luận văn để đảm bảo hình thức luận văn thạc sĩ Ngày 30 tháng 06 năm 2020 Giáo viên hướng dẫn Tác giả luận văn CHỦ TỊCH HỘI ĐỒNG Lời cảm ơn Để hồn thành đề tài luận văn thạc sĩ cách hoàn chỉnh trọn vẹn, phấn đấu nỗ lực thân, giảng dạy, hướng dẫn nhiệt tình Thầy Cơ, cộng với ủng hộ gia đình bạn bè suốt thời gian học tập nghiên cứu thực luận văn Xin chân thành bày tỏ lòng cảm ơn đến Thầy TS Trịnh Tuấn Đạt, người hết lòng giúp đỡ, hướng dẫn cách chi tiết cẩn thận để hồn thành luận văn Xin chân thành cảm ơn tồn thể q thầy Viện Công Nghệ Thông Tin Truyền Thông - Trường Đại Học Bách Khoa Hà Nội suốt gần năm học vừa qua truyền đạt kiến thức quý báu, kinh nghiệm thực tế tạo điều kiện thuận lợi để học viên hồn thành tốt chương trình học Lời sau cùng, tơi xin chân thành cảm ơn gia đình, anh chị bạn đồng nghiệp, đặc biệt Kỹ sư Nguyễn Mạnh Hùng - Trung tâm Nghiên cứu Phát Triển ĐTDĐ Samsung Việt Nam hỗ trợ tơi nhiều suốt q trình học tập, nghiên cứu thực đề tài luận văn thạc sĩ cách hồn chỉnh Tóm tắt nội dung luận văn Môi trường thực hành vấn đề tồn suốt thời gian học làm việc sinh viên chuyên ngành công nghệ thông tin Hiện việc cài đặt môi trường PC hay laptop cho sinh viên gặp nhiều vấn đề đặc biệt việc đáp ứng hiệu thiết bị với môi trường thực hành, việc cài đặt nhiều chương trình làm cho thiết bị chạy chậm chạm nặng nề, q trình cài đặt xảy sai sót hay phức tạp Để mơi trường đồng bộ, tất máy tính sử dụng chung ghost lại gây nhiều trở ngại việc nâng cấp Vì ảo hóa môi trường thực hành giúp cho người tạo môi trường sinh viên - người sử dụng môi trường dễ dàng thực hành tập q trình học Với việc cơng nghệ ảo hóa ngày phát triển mạnh mẽ nở rộ giai đoạn nay, việc cài đặt, sử dụng, khai tác tài ngun khơng cịn khó khăn mà đảm bảo tính bảo mật tiết kiệm tài nguyên cách tối ưu Với việc chọn đề tài luận văn tốt nghiệp “Nghiên cứu phát triển môi trường thực hành công nghệ thông tin tảng Docker” mong muốn giúp cho sinh viên chuyên ngành công nghệ thông tin có mơi trường thực hành lập trình đơn giản, nhanh chóng tiết kiệm chi phí đầu tư thiết bị tin học đáp ứng tất nhu cầu đặt môi trường thực hành lập trình HỌC VIÊN Ký ghi rõ họ tên MỤC LỤC MỤC LỤC DANH MỤC HÌNH VẼ THUẬT NGỮ VÀ TỪ VIẾT TẮT Chương Giới thiệu đề tài Đặt vấn đề Đối tượng phạm vi nghiên cứu Định hướng giải pháp 10 Bố cục luận văn .10 Chương Khảo sát phân tích yêu cầu 12 Khảo sát trạng 12 Khảo sát tình hình thực hành sinh viên 12 Khảo sát giải pháp ảo hóa môi trường thực hành 14 Tổng quan chức quy trình nghiệp vụ 16 Tổng quan chức 16 Quy trình nghiệp vụ 16 Chương Cơng nghệ ảo hóa 18 Tổng quan ảo hóa phần mềm tự nguồn mở 18 Cơng nghệ ảo hóa 18 Phân loại cơng nghệ ảo hóa 19 Ưu điểm, nhược điểm sử dụng cơng nghệ ảo hóa 23 Phần mềm tự nguồn mở 24 Công nghệ ảo hóa Docker (Container Engine) 25 Khái niệm containerization 25 Docker 27 Kiến trúc quy trình thực thi hệ thống sử dụng Docker 29 DockerImages Dockerfile 31 Docker compose 32 Kubernetes 33 Khái niệm 33 Kubernetes quản lý container 34 Mơ hình hoạt động kubernetes 35 Rancher 37 Chương Nghiên cứu phát triển môi trường thực hành Công nghệ thông tin 39 Mơ hình ảo hóa tổng quát 39 Lựa chọn công nghệ ảo hóa 39 Công nghệ đề xuất 40 Tính khả thi giải pháp 40 Mơ hình ảo hóa tổng quát .41 Mơ hình triển khai 42 Mơ hình triển khai .42 Master Server 43 Worker Server 45 Practice Computer .46 Cơ chế lưu trữ code project hệ thống 47 Cài đặt thử nghiệm 48 Cài đặt Docker 48 Cài đặt Kubernetes – Rancher 48 Tạo môi trường container 49 Kết đạt 50 Giao diện quản lý môi trường thực hành 50 Giao diện môi trường thực hành 52 Đánh giá 52 Đánh giá chức hệ thống 52 Đánh giá hiệu suất hệ thống 53 Chương Kết luận hướng phát triển 57 Kết luận 57 Hướng phát triển 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC 60 DANH MỤC HÌNH VẼ Hình 2.1 Sinh viên thực hành phòng lab Đại học Bách Khoa 12 Hình 2.2 Phịng thực hành Trung tâm R&D Samsung 13 Hình 2.3 Giao diện trang web lập trình online 14 Hình 2.4 Giá dịch vụ Cloud9 AWS 16 Hình 3.1 Ảo hóa cơng nghệ phần cứng phần mềm máy tính 18 Hình 3.2 Containerization – cơng nghệ ảo hóa thời đại 4.0 21 Hình 3.3 Ứng dụng cơng nghệ ảo hóa 23 Hình 3.4 Cơng nghệ ảo hóa Containers 26 Hình 3.5 Container phân tách ứng dụng hệ điều hành 26 Hình 3.6 Các khái niệm liên quan đến Docker 29 Hình 3.7 Quy trình thực thi hệ thống sử dụng Docker 30 Hình 3.8 Quy trình tạo Container từ Dockerfile 31 Hình 3.9 Ví dụ Dockerfile 31 Hình 3.10 Docker compose tạo file cấu hình YAML định nghĩa chạy container 33 Hình 3.11 Kubernetes orchestraion Container 34 Hình 3.12 Mơ hình hoạt động Kubernetes 36 Hình 3.13 Rancher UI 37 Hình 3.14 Các thành phần Rancher 38 Hình 4.1 Mơ hình ảo q tổng qt 41 Hình 4.2 Mơ hình triển khai 42 Hình 4.3 Kiến trúc đề xuất áp dụng cơng nghệ Kubernetes Master Server 44 Hình 4.4 Kiến trúc đề xuất Worker Server 46 Hình 4.5 Dockerfile chứa mơi trường thực hành Cloud9 IDE 47 Hình 4.6 Sử dụng HĐH Ubuntu giúp tối ưu hoạt động máy chủ 48 Hình 4.7 Command chạy Worker Server để đăng ký với Master Server 49 Hình 4.8 Triển khai container Worker Server từ Rancher UI 50 Hình 4.9 Giao diện Rancher sau cài đặt thành công Master Server 50 Hình 4.10 Master Server cung cấp command để đăng ký Worker Server .51 Hình 4.11 Giao diện quản lý container Worker Server 51 Hình 4.12 Giao diện lập trình từ container chứa mã nguồn mở Cloud9 IDE 52 Hình 4.13 Hiệu suất Master Server Rancher UI 54 Hình 4.14 Hiệu suất Worker Server chạy 30 container chứa môi trường thực hành Docker NGINX 55 Hình 4.15 Biểu đồ thay đổi hiệu suất Master Worker Server3 56 THUẬT NGỮ VÀ TỪ VIẾT TẮT CNTT Công nghệ thông tin PC Personal Computer Máy tính cá nhân UI User Interface Giao diện người dùng LVTN Luận văn tốt nghiệp Browser Trình duyệt CSDL Cơ sở liệu CPU Central Processing Unit Bộ xử lý trung tâm Enviroment Môi trường thực hành Server Máy chủ Image Bản môi trường phát triển Ghost Tệp (file) ghost tệp nén tất thơng tin ổ đĩa máy tính lại thành file Tệp ghost thường dùng lưu phục hồi ổ đĩa liệu ổ đĩa cài đặt hệ điều hành RAM Random Access Memory Bộ nhớ truy cập ngẫu nhiên Lab Laboratory