標籤:sahara openstack 雲端運算
聲明:
本部落格歡迎轉載,但請保留原作者資訊,並請註明出處!
郭德清
團隊:華為杭州OpenStack團隊
本文主要是介紹下Sahara中一些常見的資料模型。
1、Config
用於描述配置資訊的實體物件。
|
屬性 |
類型 |
描述 |
|
name |
string |
配置的名稱。 |
|
description |
string |
配置的描述。 |
|
config_type |
enum |
配置的類型,包括:string、integer、boolean、enum。 |
|
config_values |
list |
當配置是枚舉(enum)類型的時候,用於儲存可能的值。 |
|
default_value |
string |
配置的預設值。 |
|
applicable_target |
string |
這個值可以是類似get_node_processes返回的某個service的值,也可以是general。 |
|
scope |
enum |
值可以是node或者cluster |
|
is_optional |
bool |
如果改值設定為false,而且default_value為空白,那麼使用者必須傳入這個配置。 |
|
priority |
int |
值可以是1、2。UI顯示的時候用的,1表示顯示,2表示使用者需要點擊一個按鈕才能看到。 |
2、Instance
叢集中的某個虛擬機器。
|
屬性 |
類型 |
描述 |
|
instance_id |
string |
虛擬機器ID。 |
|
instance_name |
string |
虛擬機器名稱。 |
|
internal_ip |
string |
虛擬機器之間通訊的IP。 |
|
management_ip |
string |
從外部網路能夠訪問虛擬機器的IP。 |
|
volumes |
list |
虛擬機器掛載的卷。 |
|
nova_info |
object |
nova的虛擬機器對象。 |
|
username |
string |
Sahara用於遠端存取虛擬機器的使用者名稱。 |
|
hostname |
string |
和instance_name的名字一樣。 |
|
fqdn |
string |
全稱網域名稱。self.instance_name + ‘.‘ + CONF.node_domain |
|
remote |
helpers |
執行遠程操作的協助對象。 |
3、Node Group
虛擬機器組。
|
屬性 |
類型 |
描述 |
|
name |
string |
叢集Node Group的名字。 |
|
flavor_id |
string |
建立虛擬機器用的套餐。 |
|
image_id |
string |
建立虛擬機器用的鏡像。 |
|
node_processes |
list |
每個節點上跑的進程,如namenode、datanode等。 |
|
node_configs |
dict |
節點配置,如:"HDFS": {"DataNode Heap Size": 1024} |
|
volumes_per_node |
int |
每個節點掛載卷的個數。 |
|
volume_size |
int |
卷的大小。 |
|
volume_mount_prefix |
string |
卷的掛載路徑。 |
|
floating_ip_pool |
string |
浮動IP池名字。這個Node Group的每個虛擬機器都會有分配一個這個浮動IP池的IP。 |
|
count |
int |
這個Node Group的虛擬機器數量。 |
|
username |
string |
Sahara遠端連線虛擬機器的使用者名稱。 |
|
configuration |
dict |
節點配置和叢集配置的合并。 |
|
storage_paths |
list |
資料存放區路徑,沒有掛載卷的時候,是在/mnt目錄下。如果有掛載了2個卷,volume_mount_prefix是/volume/disk,那麼這個值就是[‘/volume/disk1’,’/volume/disk2’] |
4、Cluster
包括所有叢集相關的資訊,使用者叢集的建立和擴容。
|
屬性 |
類型 |
描述 |
|
name |
string |
叢集名字。 |
|
tenant_id |
string |
叢集對應的租戶ID。 |
|
plugin_name |
string |
外掛程式名稱。 |
|
hadoop_version |
string |
虛擬機器上跑的Hadoop的版本。 |
|
default_image_id |
string |
使用者建立虛擬機器預設的鏡像。 |
|
node_groups |
list |
node group列表。 |
|
cluster_configs |
dict |
叢集的配置,比如:"HDFS": {"dfs.replication": 3} |
|
cluster_template_id |
string |
叢集的模板ID。 |
|
user_keypair_id |
string |
虛擬機器的keypair,用於使用者登入虛擬機器。 |
|
neutron_management_network |
string |
網路ID。如果use_neutron設定成True,那麼虛擬機器會分配一個這個網路的IP。 |
|
anti_affinity |
list |
不同的主機上跑的進程。 |
|
description |
string |
叢集描述。 |
|
info |
dict |
額外的資訊。 |
5、資料庫中的表
有興趣的話,可以登入資料庫,查看相應的表結構:
【參考資料】
https://sahara.readthedocs.org/en/stable-juno/devref/plugin.spi.html#object-model
Sahara中的資料模型