zoukankan      html  css  js  c++  java
  • OpenStack基础组件安装keystone身份认证服务

    域名解析

    vim /etc/hosts

    192.168.245.172 controller01

    192.168.245.171 controller02

    192.168.245.173 controller03

    配置源码

    配置 dns 全局解释器:

    vim /etc/resolv.conf

    nameserver 192.168.254.251            #连接learn.yunwei.edu的内网
    nameserver 223.5.5.5   

    wget http://download2.yunwei.edu/shell/yum-repo.sh
    sh yum-repo.sh

    清空,更新下源码

    yum clean all (清空)

    yum makecache (更新)

    OpenStack 环境组件安装

    由于我们配置好了公司源码,所以直接下载所需的组件

    安装 OpenStack包:

    1.安装启用 OpenStack 仓库的包

    # yum install centos-release-openstack-ocata -y

    2.安装 OpenStack 客户端

    # yum install pythone-openstackclient -y

    3.安装 OpenStack-selinux 软件包以便自动管理 OpenStack 服务的安全策略

    # yum install openstack-selinux -y

    安装 SQL 数据库:

    1.安装软件包

    # yum install  mariadb mariadb-server python2-PyMySQL -y

    2.创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作:

    在 [mysqld] 部分,设置 ``bind-address``值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:

    # cat /etc/my.cnf.d/openstack.cnf

    [mysqld]
    bind-address = 192.168.245.172 #绑定控制节点IP,填主机名或者Ip
    default-storage-engine = innodb
    innodb_file_per_table = on
    max_connections = 4096
    collation-server = utf8_general_ci
    character-set-server = utf8

     3.启动数据库服务,并将其配置为开机自启

    # systemctl start mariadb.service

    # systemctl enable mariadb.service

    并检查端口是否存在

    ss -ntl | grep 3306 或者 netstat -ntpl | grep 3306

    4.为了保证数据库服务的安全性,运行 mysql_secure_installation 设置密码

    # mysql_secure_installation

    安装rabbitmq消息队列

    yum -y install rabbitmq-server

    systemctl start rabbitmq-server.service

    systemctl enable rabbitmq-server.service

    在rabbitmq中添加用户

    rabbitmqctl add_user openstack admin

    设置权限

    rabbitmqctl set_permissions openstack ".*" ".*" ".*"
    Setting permissions for user "openstack" in vhost "/" ...

    安装memcached

    yum -y install memcached python-memcached

    编辑配置文件

    vim /etc/sysconfig/memcached

    PORT=“11211”
    USER=“memcached”
    MAXCONN=“1024”
    CACHESIZE=“64”
    OPTIONS="-l 127.0.0.1,::1,controller01"

    systemctl start memcached.service

    systemctl enable memcached.service

    Identity service安装

    mysql -uroot -p123

    CREATE DATABASE keystone;

    建立keystone用户与权限

    GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’@‘localhost’
    IDENTIFIED BY ‘123’;

    设置远程登录

    GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone’@’%’
    IDENTIFIED BY ‘123’;

    下载keystone httpd mod_wsgi 

    yum -y install openstack-keystone httpd mod_wsgi

    先备份配置文件

    cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak

    编辑配置文件,在database模块中添加

    [DEFAULT]
    
    [assignment]
    
    [auth]
    
    [cache]
    
    [catalog]
    
    [cors]
    
    [cors.subdomain]
    
    [credential]
    
    [database]
    connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
    
    [domain_config]
    
    [endpoint_filter]
    
    [endpoint_policy]
    
    [eventlet_server]
    
    [federation]
    
    [fernet_tokens]
    
    [healthcheck]
    
    [identity]
    
    [identity_mapping]
    
    [kvs]
    
    [ldap]
    
    [matchmaker_redis]
    
    [memcache]
    
    [oauth1]
    
    [oslo_messaging_amqp]
    
    [oslo_messaging_kafka]
    
    [oslo_messaging_notifications]
    
    [oslo_messaging_rabbit]
    
    [oslo_messaging_zmq]
    
    [oslo_middleware]
    
    [oslo_policy]
    
    [paste_deploy]
    
    [policy]
    
    [profiler]
    
    [resource]
    
    [revoke]
    
    [role]
    
    [saml]
    
    [security_compliance]
    
    [shadow_users]
    
    [signing]
    
    [token]
    provider = fernet
    
    [tokenless_auth]
    
    [trust]

    导入数据库

    su -s /bin/sh -c “keystone-manage db_sync” keystone

    mysql -ukeystone -p123

    use keystone;

    show tables;

    +------------------------+
    | access_token           |
    | assignment             |
    | config_register        |
    | consumer               |
    | credential             |
    | endpoint               |
    | endpoint_group         |
    | federated_user         |
    | federation_protocol    |
    | group                  |
    | id_mapping             |
    | identity_provider      |
    | idp_remote_ids         |
    | implied_role           |
    | local_user             |
    | mapping                |
    | migrate_version        |
    | nonlocal_user          |
    | password               |
    | policy                 |
    | policy_association     |
    | project                |
    | project_endpoint       |
    | project_endpoint_group |
    | region                 |
    | request_token          |
    | revocation_event       |
    | role                   |
    | sensitive_config       |
    | service                |
    | service_provider       |
    | token                  |
    | trust                  |
    | trust_role             |
    | user                   |
    | user_group_membership  |
    | user_option            |
    | whitelisted_config     |
    +------------------------+
    38 rows in set (0.00 sec)

    建立管理员的用户

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

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

    设置keystone服务端点

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

    链接keystone的配置文件

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

    开启httpd服务

    systemctl start httpd.service

    systemctl enable httpd.service

    httpd中写入服务器的地址

    vim /etc//httpd/conf/httpd.conf  #在ServerName模块下写入

    ServerName comtroller01

    systemctl restart httpd

    宣告环境变量

    vim openrc

    export OS_USERNAME=admin
    export OS_PASSWORD=admin
    export OS_PROJECT_NAME=admin
    export OS_USER_DOMAIN_NAME=Default
    export OS_PROJECT_DOMAIN_NAME=Default
    export OS_AUTH_URL=http://controller01:35357/v3
    export OS_IDENTITY_API_VERSa

     source openrc 启动环境变量

    显示如下则为成功

    openstack user list

    创建名为service的项目

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

    创建demo项目

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

    创建demo项目的用户,并设置为管理员

    openstack user create --domain default
      --password=demo demo

    创建用户user的角色

    openstack role create user

    在项目demo中添加角色,并设为普通

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

     
     
     
     
     
     
     
  • 相关阅读:
    装饰器 如何理解Python装饰器?
    python装饰器详解
    window 10下安装jdk
    Linux中pam认证详解(上)
    VMware/KVM/OpenStack虚拟化之网络模式总结
    java问题排查命令
    今日面试问题
    Qwtplot3D Qt5.12.0 MinGW 编译运行
    20212022年寒假学习进度06
    Springboot笔记<10>常用注解总结
  • 原文地址:https://www.cnblogs.com/lwl117/p/10691654.html
Copyright © 2011-2022 走看看