1. 程式人生 > >初識openstack之——安裝Image

初識openstack之——安裝Image

poi posit ria BE 名稱 pos 創建數據庫 put mct

一、實驗說明

按照官方文檔搭建queens版本openstack,拓撲如下圖所示:
技術分享圖片

二、Image service介紹

image server,代碼名稱為galnce,用於存放虛擬機的映像文件,他通過一個REST API接口供用戶查找映像文件的metadata並獲得實際的映像文件。虛擬機映像文件可以存在本地文件系統中或者類似swift的對象存儲中,metadata由終端用戶或者openstack的compute組建定義。
image server通過幾個周期性的進程來為其提供緩存和確保集群中映像文件的一致性和高可用。
image server由以下幾個組件構成:

  1. glance-api
    接收發現、獲取和存儲的image API調用
  2. glance-registry
    存儲、處理和檢索有關image的元數據。元數據包括大小和類型等項。註意:不要將該組建暴漏給用戶。
  3. Database
    存儲image元數據,可以使用MySQL或SQLite數據庫。
  4. Storage repository for image files
    支持各種存儲庫類型,包括普通文件系統、對象存儲等。註意,有些存儲庫只支持只讀使用。
  5. Metadata definition service
    提供通用API,讓用戶自定義元數據。元數據可用於image、volume等不同的資源類型

    三、操作步驟

    為簡單起見,將image server安裝在controller節點並將數據保存在本地文件系統上

    準備工作
    安裝配置image server前需要先為其創建數據庫,服務憑證以及API endpiont

  6. 創建數據庫並授權
    [root@controller ~]# mysql  
    MariaDB [(none)]> create database glance;  
    MariaDB [(none)]> grant all privileges on glance.* to ‘glance‘@‘localhost‘ identified by ‘password1!‘;  
    MariaDB [(none)]> grant all privileges on glance.* to ‘glance‘@‘%‘ identified by ‘password1!‘;    

    2.使用admin身份創建glance用戶並授權

    [root@controller ~]# . admin-openrc    
    [root@controller ~]# openstack user create --domain default --password-prompt glance  

    技術分享圖片

    [root@controller ~]# openstack role add --project service --user glance admin  
  7. 創建glance服務
    [root@controller ~]# openstack service create --name glance   --description "OpenStack Image" image  

    技術分享圖片

  8. 創建image服務API路徑
    usage: openstack endpoint create <service> <interface> <url>    
    [root@controller ~]# openstack endpoint create --region RegionOne   image public http://controller:9292  

    技術分享圖片

    [root@controller ~]# openstack endpoint create --region RegionOne   image internal http://controller:9292  

    技術分享圖片

    [root@controller ~]# openstack endpoint create --region RegionOne   image admin http://controller:9292  

    技術分享圖片

安裝配置

  1. 安裝程序並創建映像文件存放目錄
    [root@controller ~]#  yum install openstack-glance  
    [root@controller ~]# mkdir -pv /var/images  
  2. 編輯/etc/glance/glance-api.conf配置文件
    [database]  
    connection = mysql+pymysql://glance:password1!@controller/glance  
    [keystone_authtoken]  
    auth_uri = http://controller:5000  
    auth_url = http://controller:5000  
    memcached_servers = controller:11211  
    auth_type = password  
    project_domain_name = Default  
    user_domain_name = Default  
    project_name = service  
    username = glance   
    password = password1!  
    [paste_deploy]  
    flavor = keystone  

    註銷或刪除[keystone_authtoken]段的其他選項,在[glance_store]段設置映像文件存放位置

    [glance_store]  
    stores = file,http  
    default_store = file  
    filesystem_store_datadir = /var/images/  
  3. 編輯/etc/glance/glance-registry.conf配置文件
    [database]  
    connection = mysql+pymysql://glance:password1!@controller/glance  
    [keystone_authtoken]  
    auth_uri = http://controller:5000  
    auth_url = http://controller:5000  
    memcached_servers = controller:11211  
    auth_type = password  
    project_domain_name = Default  
    user_domain_name = Default  
    project_name = service  
    username = glance  
    password = password1!  
    [paste_deploy]  
    flavor = keystone  

    註銷或刪除[keystone_authtoken]段的其他選項

  4. 初始化image數據庫並驗證
    [root@controller ~]# su -s /bin/sh -c "glance-manage db_sync" glance  
    [root@controller ~]# mysql  
    MariaDB [(none)]> show databases;  

    技術分享圖片

    MariaDB [(none)]> use glance;  
    MariaDB [glance]> show tables;  

    技術分享圖片

啟動服務並設置開機自啟

[root@controller ~]# systemctl enable openstack-glance-api.service   openstack-glance-registry.service  
[root@controller ~]# systemctl start openstack-glance-api.service   openstack-glance-registry.service  

初識openstack之——安裝Image