OpenStack双节点部署—M Keystone(身份认证服务)

一、数据库配置

Controller节点

# mysql -uroot -p123456
MariaDB [(none)]> create database keystone;
(创建keystone数据库)
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'%' identified by '123456';
 (为数据库的Keystone用户授予所有权限并支持远程登录)
MariaDB [(none)]> grant all privileges on keystone.* to 'keystone'@'localhost' identified by '123456';
(为数据库的Keystone用户授予所有权限并支持本地登录)
MariaDB [(none)]> exit

   
   

    在这里插入图片描述

    二、安装并配置Keystone

    Controller节点

    1.安装Keystone软件包

    # yum install -y openstack-keystone httpd mod_wsgi
    
       
       

      2.生成一个随机值作为初始配置期间的管理令牌:

      # openssl rand -hex 10
        147d2a4150e44cb2c536
      
         
         

        3.编辑/etc/keystone/keystone.conf
        做如下配置与修改,并使用刚刚生成的随机值替换:
        :在vi编辑器中使用 “冒号+反斜杠+搜索内容” 去找到存在“搜索内容”地方,按N键可以继续跳转到其他以你“搜索内容”相同的其他地方,“搜索内容”可以含有符号
        在这里插入图片描述

        # vi /etc/keystone/keystone.conf
        

        配置admin_token
        [DEFAULT]
        admin_token = 147d2a4150e44cb2c536

        配置数据库连接:
        [database]
        connection = mysql+pymysql://keystone:123456@controller/keystone

        配置provider:
        [token]
        provider = fernet

          在这里插入图片描述
          在这里插入图片描述
          在这里插入图片描述
          4.同步数据库:
          同步成功后无返回值

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

            在这里插入图片描述

            :进入Keystone数据库查看是否有数据表,验证是否同步成功。
            在这里插入图片描述
            5.初始化密匙:

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

              三、配置Apache服务

              Controller节点

              1.编辑/etc/httpd/conf/httpd.conf文件
              找到ServerName,去掉注释符号#,将www.example.com:80改为controller

              # vi /etc/httpd/conf/httpd.conf
              ServerName controller
              

              2.配置端点URL

              export OS_URL=http://controller:35357/v3

              3.配置API版本

              export OS_IDENTITY_API_VERSION=3

                4.为Keystone本身创建服务

                # openstack service create --name keystone --description "OpenStack Identity" identity
                
                 
                 

                  在这里插入图片描述
                  然后创建Keystone身份认证服务的端点:
                  身份认证服务管理了一个与环境相关的API端点目录,使用这个目录来决定如何与创建环境中的其他服务进行通信。
                  Openstack使用三个API端点代表每种服务:admin、internal和public,默认情况下,管理API端点允许修改用户和租户,而公共和内部API不允许这些操作,此次安装为所有端点和默认“RegionOne”区域都使用管理网络。

                  1.创建公共端点
                  # openstack endpoint create --region RegionOne identity public http://controller:5000/v3
                  

                  2.创建外部端点

                  openstack endpoint create region RegionOne identity internal http://controller:5000/v3

                  3.创建管理端点

                  openstack endpoint create region RegionOne identity admin http://controller:35357/v3

                    在这里插入图片描述
                    在这里插入图片描述
                    在这里插入图片描述

                    五、创建domain、project、user、role

                    Controller节点

                    1.创建默认(defaultt)的domain

                    # openstack domain create --description "Default Domain" default
                    
                     
                     

                      在这里插入图片描述
                      2.创建名字为admin的project

                      # openstack project create --domain default --description "Admin Project" admin
                      
                       
                       

                        在这里插入图片描述
                        3.创建名字为admin的user

                        # openstack user create --domain default --password-prompt admin
                        
                         
                         

                          (回车之后输入自定密码,我设为:123456)
                          在这里插入图片描述
                          4. 创建名字为admin的role

                          # openstack role create admin
                          
                           
                           

                            在这里插入图片描述
                            5. 进行关联

                            # openstack role add --project admin --user admin admin   (无返回值)
                            
                             
                             

                              6.创建名为service的project

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

                                在这里插入图片描述
                                7. 创建名为demo的project

                                # openstack project create --domain default --description "Demo Project" Demo
                                
                                 
                                 

                                  在这里插入图片描述
                                  8. 创建名为demo的user

                                  # openstack user create --domain default --password-prompt demo
                                  
                                   
                                   

                                    (回车之后输入自定义密码,我设为:123456)
                                    在这里插入图片描述
                                    9. 创建名为demo的role

                                    # openstack role create user
                                    
                                     
                                     

                                      在这里插入图片描述
                                      10. 进行关联

                                      # openstack role add --project demo --user demo user   (无返回值)
                                      
                                       
                                       

                                        六、验证Keystone服务

                                        Controller节点

                                        1.不生效临时变量

                                        # unset OS_TOKEN OS_URL
                                        
                                         
                                         

                                          2.查看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
                                          
                                           
                                           

                                            (回车之后,输入你之前设置的admin用户的密码:123456)
                                            在这里插入图片描述
                                            3. 查看demo用户,请求身份验证令牌

                                            # openstack --os-auth-url http://controller:35357/v3 --os-project-domain-name default \
                                            --os-user-domain-name default --os-project-name demo --os-username demo token issue
                                            
                                             
                                             

                                              在这里插入图片描述
                                              (回车之后,输入你之前设置的admin用户的密码:123456)
                                              4. 写入环境变量
                                              创建/root/admin-openrc文件
                                              添加:

                                              # vi /root/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=123456
                                              export OS_AUTH_URL=http://controller:35357/v3
                                              export OS_IDENTITY_API_VERSION=3
                                              export OS_IMAGE_API_VERSION=2
                                              
                                               
                                               

                                                创建/root/demo-openrc文件
                                                添加:

                                                # vi /root/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=123456
                                                export OS_AUTH_URL=http://controller:5000/v3
                                                export OS_IDENTITY_API_VERSION=3
                                                export OS_IMAGE_API_VERSION=2
                                                
                                                 
                                                 

                                                  5.生效并验证

                                                  # . /root/admin-openrc 
                                                  # openstack token issue
                                                  
                                                   
                                                   

                                                    在这里插入图片描述

                                                    评论 2
                                                    添加红包

                                                    请填写红包祝福语或标题

                                                    红包个数最小为10个

                                                    红包金额最低5元

                                                    当前余额3.43前往充值 >
                                                    需支付:10.00
                                                    成就一亿技术人!
                                                    领取后你会自动成为博主和红包主的粉丝 规则
                                                    hope_wisdom
                                                    发出的红包
                                                    实付
                                                    使用余额支付
                                                    点击重新获取
                                                    扫码支付
                                                    钱包余额 0

                                                    抵扣说明:

                                                    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                                                    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                                                    余额充值