Ánh xạ Service và Pod trong Kubernetes

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng kiến trúc triển khai liên tục cho các hệ thống dựa trên vi dịch vụ luận văn ths máy tính 84801 (Trang 47 - 49)

Kubernetes hỗ trợ công cụ khám phá dịch vụ bằng DNS, cho phép phân giải tên của dịch vụ sang địa chỉ Cluster IP, từ đó giúp tất cả các container trên các máy trong cluster có thể giao tiếp với nhau thông qua tên dịch vụ. Dịch vụ ngồi ra cịn đóng vai trị như load-balancing trong nội bộ kubernetes.

Kubernetes không cung cấp giải pháp để đảm bảo thơng tin kết nối mạng giữa

các máy mà địi hỏi người dùng sử dụng dịch vụ ngoài như: Flannel, CNI, ... Dựa vào đó, Kubernetes sinh ra các Cluster IP ảo để đại diện cho dịch vụ và các Pod.

3.2.5.1 So sánh và lựa chọn nền tảng

Ba nền tảng điều phối đều cung cấp các chức năng cơ bản nhất để quản lý

container, tuy nhiên độ phức tạp trong sử dụng, số lượng máy có thể quản lý và khả

năng tùy biến của các nền tảng hồn tồn khác nhau:

Docker Swarm: dễ sử dụng và cài đặt do được cung cấp bởi Docker, tuy nhiên

khả năng tùy biến thấp. Quản lý số lượng máy nhỏ tốt (dưới 10), tuy nhiên hiệu năng giảm đáng kể khi số lượng máy tăng lên (dưới 100). Chưa có số liệu thống kê về sử dụng Docker swarm để quản lý tới 1000 máy. Docker swarm phù hợp với các tổ chức có quy mơ nhỏ.

Nền tảng < 10 máy 10 - 100 máy 100 – 1000 máy > 1000 máy Khả năng tùy biến Tính dễ sử dụng Docker swarm ++ + ? ? + +++ Mesphere Marathon + ++ ++ ++ ++ + Kubernetes ++ ++ + ? ++ ++

Bảng 3-1: So sánh Docker Swarm, Mesosphere Marathon và Kubernetes

Mesosphere Marathon: Sử dụng Mesos để quản lý số lượng máy nhỏ là không

hiệu quả (dưới 10), do được thiết kế để hỗ trợ tối đa sự dư thừa cho các hệ

thống lớn. Mesos cho phép cấu hình linh hoạt và có thể quản lý tới hơn 1000 máy mà vẫn đảm bảo hiệu năng. Tuy nhiên, cấu hình Mesos quá phức tạp, đòi hỏi nhiều kiến thức, do vậy chỉ phù hợp với các cơng ty quy mơ lớn.

Kubernetes: Kubernetes là phiên bản trung hòa của hai nền tảng trên, cho phép

cấu hình linh hoạt, hoạt động tốt với cả số lượng máy nhỏ và vừa (từ 10 tới trên 100 máy). Cấu hình Kubernetes khơng q phức tạp, có nhiều tài liệu hỗ trợ và cộng đồng sử dụng mạnh, do vậy phù hợp với các tổ chức quy mô vừa và nhỏ. Ngồi ra, Kubernetes cịn hỗ trợ cơ chế rolling-update để cập nhật ứng dụng mà vẫn đảm bảo khơng có thời gian ngừng hoạt động.

Từ các đặc điểm trên, luận văn đề xuất sử dụng Kubernetes như nền tảng điều

phối container chính cho hệ thống triển khai liên tục.

3.2.6 Kênh thông báo

Kênh thông báo giúp tất cả các bên liên quan luôn cập nhật được trạng thái của một luồng triển khai liên tục và thường được tích hợp vào chính kênh giao tiếp hiện tại

của công ty như email, các phần mềm chat. Việc lựa chọn kênh thông báo nào tùy thuộc đặc điểm và nhu cầu của từng công ty.

Hiện nay phần mềm Slack đang được dùng trong nhiều công ty công nghệ do

tính tiện dụng của nó: tất cả giao tiếp của đội được tập trung vào một địa điểm, khả

năng tích hợp với các dịch vụ khác đang sử dụng, tìm kiếm nhanh từ một hộp tìm kiếm duy nhất, việc chia sẻ file dễ dàng, phù hợp với việc trích dẫn mã nguồn hay có thể

được truy cập bằng nhiều hình thức (web, phần mềm trên PC hay ứng dụng điện

thoại). Trong luận văn, phần mềm Slack được xem như kênh giao tiếp chính và sử

dụng cho mục đích thơng báo này.

Một phần của tài liệu (LUẬN văn THẠC sĩ) xây dựng kiến trúc triển khai liên tục cho các hệ thống dựa trên vi dịch vụ luận văn ths máy tính 84801 (Trang 47 - 49)

Tải bản đầy đủ (PDF)

(83 trang)