zoukankan      html  css  js  c++  java
  • OpenStack 认证服务 KeyStone部署 (四)

     Keystone作用:

    1. 用户与认证:用户权限与用户行为跟踪;
    2. 服务目录:提供一个服务目录,包括所有服务项和相关Api的断点
    3. SOA相关知识

    Keystone主要两大功能用户认证和服务目录(相当于一个注册中心)

    • 用户认证名词介绍

    User:用户 
     它是用一个数字代表使用openstack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求 
     一个租户可以有多个用户 
     一个用户可以属于一个或多个租户 
     用户对租户和操作权限由用户在租户中承担的角色来决定。

    Project:项目 
     它是各个服务中的一些可以访问的资源集合或者说叫资源组。它是一个容器,用于组织和隔离资源,或标识对象。

    Token:令牌

    Role:角色 
    代表一组用户可以访问的资源权限,例如Nova中的虚拟机、Glance中的镜像。

    • 服务目录两大名词介绍

    Service:服务 
    Service即服务,如Nova、Glance、Swift。根据前三个概念(User,Project和Role)一个服务可以确认当前用户是否具有访问其资源的权限。但是当一个user尝试着访问其租户内的service时,他必须知道这个service是否存在以及如何访问这个service。

    Endpoint:端点 
    Endpoint翻译为“端点”,我们可以理解它是一个服务暴露出来的访问点,如果需要访问一个服务,则必须知道他的endpoint。Endpoint的每个URL都对应一个服务实例的访问地址,并且具有public、orivate和admin这三种权限。pubic url可以完全被全局访问,private url只能被局域网访问,admin url被从常规的访问中分离。

     

    一) 安装memcached缓存

    1.1 安装软件包

    yum install memcached python-memcached -y

    1.2 修改memcached配置

    vim /etc/sysconfig/memcached
    OPTIONS="10.0.0.101"

    1.3.启动服务

    # systemctl enable memcached.service
    # systemctl start memcached.service

     1.4  netstat -ntlp检查服务端口是否存在

    二)安装keystone

    2.1 安装keystone软件包

    yum install openstack-keystone httpd mod_wsgi -y

    2.2 修改配置文件

    vim /etc/keystone/keystone.conf 
    
    在[database]部分,配置数据库访问:
    [database]
    connection = mysql+pymysql://keystone:redhat@controller/keystone
    
    
    在[token]部分,配置Fernet UUID令牌的提供者
    提供令牌有四种方式[fernet|pkiz|pki|uuid]默认是uuid。
    [token]
    provider = fernet
    driver = memcache
                         
    在[memcache]部分,配置memcache的连接地址和端口
    [memcache]
    servers = 10.0.100.101:11211

     3.3  初始化数据库

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

    自动找到keystone配置文件里的mysql连接,来帮我们创建数据库中的表。
    我们为什么要使用keystone用户去同步数据库呢?
    因为同步数据库会在/var/log/keystone目录下去写日志,如果使用root权限同步,当keystone用户启动服务时读取这个日志文件,那么它将无法进行读取(权限问题),会出现启动错误的情况。

     检查表是否创建成功

     mysql -uroot -predhat -e "use keystone;show tables;" 
    提示:如果查看表的时候发现没有,通过日志/var/log/keystone/keystone.log排查报错信息。

     3.4 初始化Fernet keys

    创建相关的证书
     # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone

    # keystone-manage credential_setup --keystone-user keystone --keystone-group keystone 
    执行完命令之后会在/etc/keystone下生成fernet-keys目录,它的权限是keystone里面存放这一些相关证书。

     

     3.5 引导服务标识

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

     

    三).apache配置

    3.1 配置/etc/httpd/conf/httpd.conf文件,配置ServerName 选项为控制节点

    vim /etc/httpd/conf/httpd.conf
    ServerName   controller

    3.2 配置链接文件

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

    3.3 apache启动并设置开机自启动

    # systemctl enable httpd.service
    # systemctl start httpd.service
    

    3.4 keytone排错思路

    查看日志 /var/log/keystone/keystone.log 是否有报错信息
    开启debug模式
    vim /etc/keystone/keystone.conf
    [DEFAULT]
    debug = true

  • 相关阅读:
    Python第二十天 shutil 模块 zipfile tarfile 模块
    SQL Server中SET QUOTED_IDENTIFIER的使用
    SQL Server AG集群启动不起来的临时自救大招
    检查使用共享表空间的表
    数据库历史简图
    线上centos6出现软死锁 kernel:BUG: soft lockup
    ORA-01810:格式代码出现两次 解决方法
    C# DES (ECB模式) 加密解密 --单倍长
    Android-ContentProvider使用
    第十三周(动物这样叫)
  • 原文地址:https://www.cnblogs.com/jimmy-xuli/p/8856404.html
Copyright © 2011-2022 走看看