Thành phần liên quan

Một phần của tài liệu Khóa luận tốt nghiệp Hệ thống thông tin: Triển khai hệ thống SaaS (Software as a Service) CRM cho giáo dục (Trang 50 - 57)

—————————————— —

í } API server

fA a — Cloud conteloud

cm A ccm |

(opdonag =

h |

Controller

NI |

manager @

etcd (persistence store) kí

kubelet

i=4

i—~4

Scheduler

4

Control plane ——————- Node

Node

Hình II.5 - Mô hình kiến trúc và các thành phan trong Kubernetes cluster”

Mô hình Kubernetes Cluster: Kubernetes kết nối và điều phối các máy tính trong một cluster dé chúng có thê hoạt động như một đơn vị thống nhất (unit). Nó cho phép bạn triển

khai các ứng dụng trên Container mà không cần phải bận tâm chúng sẽ được khởi chạy trên

chiếc máy tính cụ thê nào trong cluster. Đề sử dụng mô hình triển khai của Kubernetes, các

ứng dụng cần được đóng gói theo một cách linh động và không phụ thuộc vào từng máy tính

cụ thể (host): tức là các ứng dụng được Container hóa. Các ứng dụng dạng Container có

được sự khả chuyền và sẵn sảng cao hơn các mô hình triển khai được sử dụng trong quá

khứ, ở đó chúng được cài đặt trực tiếp trên các máy tính cụ thể và gắn chặt với các bộ thư

viện trên đó. Kubernetes phân bổ và điều phối các ứng dụng hoàn toàn tự động xuyên suốt

cluster theo một cách hiệu quả. Ngoài ra Kubernetes là mã nguồn mở và sẵn sàng đề sử dụng

trong môi trường triển khai thực tế (production).

?! Wikipedia, ssh-keygen, Mar 26, 2021. Access on June 25, 2021. [Online] https://en.wikipedia.org/wiki/Ssh-keygen

2 Kubernetes, Kubernetes Components, Mar 18, 2021. Access on June 25, 2021. [Online]

https://kubernetes.io/docs/concepts/overview/components/

28

Thành phần chính của Kubernetes Cluster gồm có:

- Một hoặc nhiều Master Node: Nó quản lý toàn bộ các hoạt động bên trong cluster,

như là việc khởi chạy các ứng dụng, kiểm soát chúng dé chắc chắn chúng luôn ở các trạng thái như mong muốn, thay đổi khả năng đáp ứng của chúng (scaling), hoặc triển khai các phiên bản nâng cấp theo thời gian. Các thành phần bên trong bao gồm:

e ETCD: Để duy trình trạng thái của cum, tất cả các đữ liệu về cấu hình của

cụm đều được lưu trong etcd. etcd là một bộ lưu trữ dạng khóa — giá tri (key

— value) phân tán, thứ chỉ giữ các dữ liệu liên quan đến trạng thái của cụm chứ không bao gồm luồng dữ liệu của người dùng. ETCD có thé được cau

hình trên nut master (stacked topology) hoặc trên một máy chủ được chuyên

biệt (external topology) dé có thé giảm thiêu khả nang mat mat đữ liệu được lưu trữ bằng cách tách riêng chúng khỏi các tác tử control plane”? khác.

e Ba thành phần bên trong dé quản lý các việc giao tiếp (kube-apiserver), lên

lịch (kube-scheduler) và điều khiển (kube-controller-manager):

o kube-apiserver: Thanh phan này cho phép ta tương tác với Kubernetes

APL Nó là Front-end của Kubernetes control plane. Được thiết kế để có thé nâng cấp horizontally?°, nó nâng cấp bang cách kiến khai thêm các thực thé (instance).

o kube-scheduler sẽ quan sát những Pods chưa được gan cho node cụ thé

nào, sau đó gan cho Pod chạy trên | node cu thé.

23 kube-controller-manager là Tang điều khiển container, được dùng dé đưa ra API và các tang giao diện (interface) dé dinh nghia, trién khai, va quan lý vòng đời của các container

2 Developers on Section, Scaling Horizontally vs. Scaling Vertically, July 24, 2020. Access on June 25, 2021.

[Online] https://www.section.io/blog/scaling-horizontally-vs-vertically/

29

o kube-controller-manager chạy các controllers. Chúng là các

background threads?5 chạy các nhiệm vụ bên trong cụm. Bộ điều khiến bao gồm nhiều vai trò khác nhau, những vai trò của nó bao gồm:

" Node controller chịu trách nhiệm cho trang thai của worker(worker

state)

" Replication controller chịu trách nhiệm cho việc đảm bảo duy trì

(maintaining) đúng số lượng của Pods

ô End-point Controller kết nối services va Pods với nhau

= Service account và token controllers quản lý access management

(Quan ly truy cập vao các dịch vu va tài nguyên một cách bao mật).

- _ Một hoặc nhiều Worker Node: La node nơi mà ứng dụng (application) được triển

khai và giao tiếp với master node thông qua Kubelet. Các thành phần bên trong bao gồm:

e kubelet là tac tử chạy trên mỗi nút và giao tiếp với các thành phan của control

plane từ nút master. Nó nhận thông tin định nghĩa Pod, chủ yếu từ API Server

và tương tác với container runtime ở trên nút dé chạy các container liên quan đến Pod đó. Nó cũng theo dõi tình trạng và tài nguyên của các Pod đang chạy

các containers.

e kube-proxy là tác nhân mạng chạy trên mỗi node chịu trách nhiệm cập nhật

và bảo trì động của các luật điều phối mạng trên nút đó. Nó trừu tượng hóa chỉ tiết của quá trình hoạt động mạng của Pod và chuyền tiếp các kết nói đến

Pods.

e Pod là một hoặc nhiều containers sẽ được gói trong Pod. Pod là đơn vị nhỏ

nhất có thé được tạo như một triển khai (deployment) trong Kubernetes.

25 Kubernetes, Các khái niệm nên tang cua Cloud Controller Manager, June 01, 2020. Access on June 25, 2021.

[Online] https://kubernetes.io/vi/docs/concepts/architecture/cloud-controller/

% Microft, Foreground and background threads, Mar 30, 2017. Access on: June 25, 2021. [Online]

https://docs.microsoft.com/vi-vn/dotnet/standard/threading/foreground-and-background-threads

30

Nhóm containers trong pod dùng chung nơi lưu trữ, namespaces”7, địa chỉ IP,

- Kubectl: Ta tương tác với Master Node sử dung kubectl, kubectl là giao diện

dòng lệnh (command line interface — CLI) cho Kubernetes.

27 Namespace trong Kubernetes được thiết kế dé sử dụng trong môi trường có nhiều người dùng trải rộng trên nhiều

team hoặc nhiều project khác nhau. Namespace cung cấp một phạm vi cho các đối tượng tài nguyên Kubernetes. Mỗi tài nguyên Kubernetes chỉ có thé nằm trong một namespace.

31

HI. Chương 3. XÂY DUNG HE THONG 3.1 Mô hình kiến trúc triển khai phần mềm SaaS

User Interface (UI)

¢ Website

¢ Customer Portal

Middleware

¢ Information System Management (IMS)

Infrastructure

¢ Amazon EKS

°® Kubernetes

Nhóm tác giả đề xuất kiến trúc triển khai phần mềm SaaS với 3 tầng:

- Tầng user interface (UD, tại đây nhóm tiến hành xây dựng website có thé

giao tiếp với khách hàng đề lấy thông tin về khách hàng cũng như năm được

yêu câu triên khai phân mêm của họ thông qua biêu mâu thông tin trên

website.

- Tầng Middleware — phần mềm trung gian hay hệ thống quản lý thông tin

(IMS). Phần mềm trung gian quản lý thông tin khách hang cũng như yêu cầu

về triên khai phân mêm. Tại đây nhân viên sales có thê tiên hành chăm sóc

khách hàng nên được xem như một phần mềm CRM.

- Tang cloud: Các công nghệ đề triển khai phần mềm cho khách hàng gồm có

Docker đê quản lý phân mêm lưu trữ vào các container, Kubernetes là công

cụ quản lý các container. Nó xử lý với trách nhiệm quản lý container chính như triờn khai container, mở rộng quy mụ va cõn băng tải ứ1ữa cỏc container.

32

Amazon EKS là một dịch vụ được quan lý mà chúng ta có thé sử dụng dé chạy Kubernetes trên AWS mà không cần cài đặt, vận hành và duy trì control plane hoặc nodes của Kubernetes của riêng bạn. Kubernetes là một hệ thống

mã nguồn mở để tự động hóa việc triển khai, mở rộng quy mô và quản lý các

ứng dụng được đóng gói.

3.1.1 Tang User Interface (Giao diện người dùng)

thui.

Landing/sign-

up application Tenant 1

Administration

application

Administrator KP

Hình IIL2 - Kiến trúc quản lý thông tin đăng ký của khách hang

Nhóm xây dựng website dé khách hàng có thể tham khảo được sản phẩm va dé lại thông tin đăng ký. Ở đây sau khi khách hàng đăng ký sẽ được giới thiệu vào hệ thống thông qua một quy trình onboarding, sau khi đăng ký khách hàng sẽ được cung cấp một phiên bản trải nghiệm của phần mềm, nhóm điều phối tất cả các dịch vụ cần thiết để đưa khách hàng

đó hoạt động được và trở thành khách hàng tiềm năng.

3.1.2. Tang Middleware (Phần mềm quản lý trung gian)

Với phần mềm quản lý trung gian, nhóm đề xuất xây dựng hệ thống quản lý thông tin (IMS) theo dang phần mềm CRM. Vừa có thể lưu trữ thông tin khách hàng, vừa có thé chăm sóc khách hàng và mang lại trải nghiệm tốt nhất cho khách hàng. Với hệ thống này nhóm xây dựng các mô-đun trong đó điển hình là các mô-đun quản lý triển khai website cũng như quản lý license sản phẩm đã mua của khách hàng. Ngoài ra ở tầng middleware,

33

nhóm viết các APIs để có thê tương tác với cloud một cách đơn giản phục vụ cho việc triển khai, quản lý, nâng cấp, thu hồi phần mềm.

System

\ , ‘Quan ly thanh toán Quản lý bảo gia \ /

= <<include<<include>> “7

- % i] = .

<<indudess \ „/ “I nlude>>

<<include>>

‘Quan lý sản phẩm

‘Quan lý mé-dun

I <<extend>>

Quan lý quy trình) (Quản lý mẫu PDF

⁄ \ <<extend quản lý danh mũi

sản phẩm

<<ewtend>> ô<extend>>

z

A \ Quan lý loại san pham

Định nghĩa quy trình Quy trình mẫu email

Hình III 3 - Mô hình usecase các chức năng của hệ thống quản lý thông tin”

28 Thông tin cụ thể được thé hiện thông qua phụ lục C

34

Một phần của tài liệu Khóa luận tốt nghiệp Hệ thống thông tin: Triển khai hệ thống SaaS (Software as a Service) CRM cho giáo dục (Trang 50 - 57)

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

(123 trang)