openstack(Pike 版)集群部署(二)--- Keystone 部署


一、介紹

  參照官網部署:https://docs.openstack.org/keystone/queens/install/

  繼續上一博客進行部署:http://www.cnblogs.com/weijie0717/p/8549541.html

 

二、部署 keystone 

  1、配置數據庫  (任意controller 節點操作)

    # mysql  -uroot -p

      mysql> CREATE DATABASE keystone; 

      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'  IDENTIFIED BY 'KEYSTONE_DBPASS';

      mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'KEYSTONE_DBPASS';

      

  2、keystone 包安裝(所有 controller 節點)

    # yum install openstack-keystone httpd mod_wsgi

  3、編輯keystone 配置 (所有 controller 節點)

     # vim /etc/keystone/keystone.conf     

[database] connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone #controller 為Mysql-ha-vip hosts.  [token] provider = fernet

 

   4、初始化數據庫 keystone (all controller 節點操作)

    # 初始化是因為python的orm對象關系映射,需要初始化來生成數據庫表結構

    # su -s /bin/sh -c "keystone-manage db_sync" keystone

  5、初始化 Fernet key倉庫  (all controller 節點操作

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

    # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

  6、keystone 身份認證服務引導API 配置 all controller 節點操作 )

   # keystone-manage bootstrap --bootstrap-password ADMIN_PASS   --bootstrap-admin-url http://controller:35357/v3/   --bootstrap-internal-url http://controller:5000/v3/   --bootstrap-public-url http://controller:5000/v3/   --bootstrap-region-id RegionOne

  7、配置 Apache 服務 (所有 controller 節點)

    a、修改 ServerName

      # vim /etc/httpd/conf/httpd.conf 

        ServerName 主機名       #hostname 查詢主機名

    b、創建連接文件 /usr/share/keystone/wsgi-keystone.conf ,並修改:

      # ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

      # vim /etc/httpd/conf.d/wsgi-keystone.conf      #綁定服務今天IP地址

        Listen 節點網卡IP:5000

        Listen 節點網卡IP:35357

    c、重啟httpd 服務,並設置開機自啟動。

      # systemctl enable httpd.service

      # systemctl start httpd.service

      備注:haproxy 默認的配置文件會占用一個 5000端口,和 keystone 的5000 端口沖突,會導致http服務啟動失敗。注釋haproxy 5000 端口配置,重啟haproxy--> 重啟httpd 服務。

      

 

  8、配置 keystone-admin 和 keystone-public、keystone-internal   的haproxy  (所有 controller 節點)

    博客參照:http://www.cnblogs.com/weijie0717/p/8530102.html

    9、創建 USER: admin、demo 的認證變量 ,后期驗證keystone 使用。 (所有 controller 節點)

    # cd /root

    # vim admin-openrc      

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS #第六步中的 ADMIN_PASS
export OS_AUTH_URL=http://controller:35357/v3      # keystone-haproxy-vip
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

    # vim demo-openrc       

export OS_PROJECT_DOMAIN_NAME=Default
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS # 后期創建demo 用戶時設置的密碼。 
export OS_AUTH_URL=http://controller:5000/v3       #keystone-haproxy-vip
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

     #使用或切換變量。    

      # source  admin-openrc  

      # source demo-openrc      

 三、創建 domain、projects、users、roles    (在任意controller 節點操作)

  1、創建domain

    # openstack domain create --description "An Example Domain" example

    

  2、創建projects

    # openstack project create --domain default   --description "Service Project" service       #創建service projiect

    

    # openstack project create --domain default   --description "Demo Project" demo     #創建demo projiect

    

   3、創建 users

    # openstack user create --domain default --password-prompt demo     #創建 demo 用戶,需要輸入密碼。

    

  4、創建 role:

    # openstack role create user

     

  5、給demo 用戶 分配 user 角色。

    # openstack role add --project demo --user demo user

 

 五、驗證keystone 服務。 (在任意controller 節點操作)

   1、驗證用戶

    #  unset OS_AUTH_URL OS_PASSWORD

    a、admin 用戶

      # openstack --os-auth-url http://controller:35357/v3   --os-project-domain-name Default --os-user-domain-name Default   --os-project-name admin --os-username admin token issue

       

    b、demo 用戶

      # openstack --os-auth-url http://controller:5000/v3   --os-project-domain-name Default --os-user-domain-name Default   --os-project-name demo --os-username demo token issue

      

 

部署完成。

 

 

續:查看信息等常用命令

  1、查看 catalog 信息

    # openstack catalog list

    

  2、查看 endpoint 信息

    # openstack endpoint list

    

  3、查看當前openstack所提供的服務列表

    # openstack service list

    

  4、查看域列表

    # openstack domain list

    

  5、查看幫助

    # openstack --help

  6、申請token 操作,需要配合 之前別寫好的 admin-openrc和 demo-openrca腳本

    #  source admin-openrc

    #  openstack token issue

     

 

謝謝!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM