Tìm hiểu một số dịch vụ chính của Openstack

Openstack được Viettelco lựa chọn làm nền tảng triển khai hệ thống điện toán đám mây cung cấp cloud server cho khách hàng. Openstack được tích hợp từ nhiều dự án (project hoặc module) mã nguồn mở khác nhau như Keystone, Nova, Neutron,… Mỗi một module sẽ có chức năng, nhiệm vụ riêng biệt và có quan hệ mật thiết với nhau. 

1. Identity (Keystone)

Chức năng chính

  • Quản lý user và những quyền mà user được phép làm.
  • Cung cấp các dịch vụ nhận dạng và xác thực.
  • Tạo các chính sách giữa user và dịch vụ.

Các dịch vụ thành phần

Các dịch vụ trong Keystone.

  • Identity: cung cấp xác thực và dữ liệu về người dùng và nhóm.
  • Token: xác thực và quản lý các token để xác thực yêu cầu khi thông tin đăng nhập của người dùng đã được xác minh.
  • Catalog: cho phép các API client tự động phát hiện và điều hướng đến các dịch vụ đám mây.
  • Policy: Cung cấp các chính sách của Keystone. Mỗi dịch vụ OpenStack định nghĩa các chính sách truy cập cho các tài nguyên của nó trong một tệp policy liên quan.

2. Compute (Nova)

Chức năng chính

  • Hỗ trợ tạo các máy ảo, máy chủ từ xa và hỗ trợ giới hạn cho các container hệ thống.
  • Là phần chính của hệ thống IaaS. Nó được thiết kế để quản lý và tự động hóa các nhóm tài nguyên máy tính và có thể làm việc với các công nghệ ảo hóa, cũng như các cấu hình máy tính hiệu suất cao. KVM, VMware và Xen là những lựa chọn có sẵn cho công nghệ ảo hóa này.

Các dịch vụ thành phần

Các dịch vụ trong Nova.

  • Nova-api: là một RESTful API web service, nhận các yêu cầu HTTP, chuyển đổi các lệnh và giao tiếp với các thành phần khác thông qua hàng đợi oslo.messaging hoặc HTTP.
  • Nova-compute: quản lý giao tiếp với hypervisor và các máy ảo.
  • Nova-scheduler: Lấy một yêu cầu về máy ảo ở hàng đợi và quyết định máy chủ sẽ chạy nó.
  • Nova-conductor: cung cấp các dịch vụ cho nova-compute, là trung gian giữa nova-compute và dữ liệu.
  • Nova database: sql database cho lưu trữ dữ liệu.
  • Nova-network: quản lý chuyển tiếp IP, cầu nối và các VLAN.

3. Networking (Neutron)

Chức năng chính

  • Quản lý mạng và địa chỉ IP, đảm bảo mạng không bị nút cổ chai và đem đến cho người dùng khả năng tự phục vụ.
  • Cung cấp một framework mở rộng có thể triển khai và quản lý các dịch vụ mạng bổ sung — chẳng hạn như hệ thống phát hiện xâm nhập (IDS), cân bằng tải, tường lửa và mạng riêng ảo (VPN)…

Các dịch vụ thành phần

Các dịch vụ trong Neutron.

  • Neutron server (neutron-server và neutron-*-plugin): chạy trên các node mạng để phục vụ Networking API và các mở rộng của nó. Ngoài ra nó cũng thực thi các dịch vụ mạng và đặt địa chỉ IP cho mỗi port.
  • Plugin agent (neutron-*-agent): Chạy trên mỗi compute node để quản lý cấu hình chuyển mạch ảo cục bộ (vswitch).
  • DHCP agent (neutron-dhcp-agent): Cung cấp dịch vụ DHCP cho các tenant network. Tác nhân này giống nhau trên tất cả các plugin và chịu trách nhiệm duy trì cấu hình DHCP.
  • L3 agent (neutron-l3-agent): Cung cấp chuyển tiếp L3 / NAT cho truy cập mạng bên ngoài của các máy ảo trên các mạng thuê.
  • Network provider services (SDN server/services): Cung cấp các dịch vụ mạng bổ sung cho các mạng thuê.

4. Block storage (Cinder)

Chức năng chính

  • Cung cấp các thiết bị lưu trữ khối (Block Storage) để sử dụng cùng với khối Compute, dùng lưu trữ cơ sở dữ liệu, hệ thống tệp có thể mở rộng…
  • Ảo hóa việc quản lý các thiết bị lưu trữ khối.
  • Quản lý việc tạo, gắn và tách các thiết bị khối với các máy chủ. Block Storage Volume được tích hợp đầy đủ vào Compute và Dashboard cho phép người dùng đám mây quản lý nhu cầu lưu trữ của riêng họ.

Các dịch vụ thành phần

Các dịch vụ trong Cinder.

  • Cinder-api: Nhận API request và định tuyến chúng đến cinder-volume để thực thi.
  • Cinder-volume: Tương tác trực tiếp với dịch vụ Lưu trữ khối và các tiến trình như cinder-scheduler.
  • Cinder-scheduler: Dựa trên request được điều hướng tới, cinder-scheduler chuyển request tới Cinder Volume Service thông qua giao thức AMQP (Advanced Message Queue Protocol). Cinder-scheduler chọn nơi cung cấp bộ nhớ tối ưu để tạo volume. Nó tương tự như nova-scheduler.
  • Cinder-backup: cung cấp khả năng sao lưu cho bất kỳ loại nào cho backup storage provider.
  • Messaging queue: chuyển tiếp thông tin giữa các tiến trình trong block storage.

5. Image (Glance)

Chức năng chính

  • Cho phép người dùng khám phá, đăng ký và truy xuất các VM image.
  • Cung cấp API REST cho phép ta truy vấn VM image metadata và truy xuất một image thực tế.

Các dịch vụ thành phần

Các dịch vụ trong Glance.

  • Glance-api: Nhận REST call cho việc tìm kiếm, tiếp nhận và lưu trữ các image.
  • Glance-registry: lưu trữ, thực thi và thu thập metadata về các image.
  • Database: là cơ sở dữ liệu lưu trữ image metadata.
  • Storage repository: tích hợp với các thành phần OpenStack khác nhau bên ngoài như hệ thống tệp thông thường, Amazon S3 và HTTP cho kho lưu trữ hình ảnh…

6. Dashboard (Horizon)

Giao diện khi đăng nhập web.

Chức năng chính

  • Cung cấp cho quản trị viên và người dùng một giao diện đồ họa dựa trên web để truy cập, cung cấp và tự động triển khai các tài nguyên dựa trên đám mây.