Giới thiệu về dịch vụ Openstack Placement
Giới thiệu tổng quan.
-
Placement API service được giới thiệu trong phiên bản OpenStack Newton trong nova repository và được tách ra placement repository trong phiên bản OpenStack Stein. Đây là một REST API stack và mô hình dữ liệu để theo dõi và thống kê mức độ sử dụng của mỗi resource provider, cùng với các lớp tài nguyên khác nhau.
-
Ví dụ, một resource provider có thể là một compute node, một share storage pool, hoặc một IP allocation pool. Placement service theo dõi inventory và usage của mỗi provider. Ví dụ, một instance được tạo trên một compute node có thể tiêu tốn RAM và CPU từ một compute node resource provider, disk từ external share storage pool resource provider và địa chỉ IP từ external IP pool resource provider.
-
Các loại tài nguyên tiêu thụ được theo dõi như classes. Placement service cung cấp một bộ các resource class tiêu chuẩn (Ví dụ như DISK_GB, MEMORY_MB và VCPU) và cung cấp khả năng tự định nghĩa các resource class nếu cần.
-
Placement hoạt động như một dịch vụ web trên một mô hình dữ liệu. Việc cài đặt bao gồm tạo cơ sở dữ liệu và cài đặt, cấu hình dịch vụ web.
-
Lưu ý: Placement được yêu cầu bởi một vài OpenStack service, đặc biệt là Nova, vậy nên Placement nên được cài đặt trước một số service nhưng phải cài sau Keystone.
Một số khái niệm liên quan
-
Resource Providers(nhà cung cấp tài nguyên): là một mô hình dữ liệu trừu tượng biểu diện cho một đối tượng mà cung cấp loại/số tài nghuên nhất định được theo dõi bởi Placement, ví dụ như compute node hoặc storage pool.
-
Resource Class(Loại tài nguyên): có những loại tài nguyên cơ bản (như DISK_GB, MEMORY_MB, và VCPU) và các loại tài nguyên tùy chỉnh.
-
Inventories: Quantity: là số lượng của các resource class mà mỗi resource provider có thể cung cấp, ví dụ, Compute01 có Inventory là 100 DISK_GB, 2048 MEMORY_MB và 8 VCPU
-
Traits: Mô tả thêm đặc tính cho tài nguyên của resource provider, ví dụ DISK_GB cung cấp bới Compute1 có thể là ổ SSD, nên ta có thể thiết lập thêm “is_ssd” traits(đặc tính) cho Compute1
- Customers: Người dùng mà chiếm tài nguyên của nhà cung cấp tài nguyên, ví dụ, một máy ảo là một customer của Compute01, và chiếm lượng tài nguyên là 10 DISK_GB, 1024 MEMORY_MB và 4 VCPU.
- Allocations: Là mô hình dữ liệu được sử dụng để lưu trữ mối quan hệ giữa resource provider và customer.
-
Allocation Candidates: Khi có một yêu cầu, Placement se cung cấp một nhóm các resource provider mà phù hợp cho các yêu cầu (allocation candidates). Từ đó người gửi yêu cầu sẽ gửi yêu cầu đến các provider phù hợp.
- Nested Resource Providers: Từ bản queen, Placement cung cấp khả năng để cho phép thể hiện mốt quan hệ cấp bậc giữa các resource provider. Nó hữu ích trong việc biểu diên tài nguyên như các NUMA và SRIOV_NET_VFs trong một resource provider lớn hơn như là Compute01.
Tài liệu tham khảo
- https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/presentation-media/Placement-Berlin-Final.pdf
- https://docs.openstack.org/placement/train/