zoukankan      html  css  js  c++  java
  • 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

         

    谢谢!!

    IT运维开发路上的点点滴滴。。。
  • 相关阅读:
    uva 494 Kindergarten Counting Game
    uva 458
    Spring--quartz中cronExpression配置说明
    配置DTD提示的方法
    MySQL中怎么查询一张表的列数
    mysql 数据库的名称不能以数字开头
    Navicat: Can't create a procedure from within another stored routine
    解决JQUERY $符号的冲突
    如何截取iframe的内容,修改他的CSS
    struct框架
  • 原文地址:https://www.cnblogs.com/weijie0717/p/8556939.html
Copyright © 2011-2022 走看看