zoukankan      html  css  js  c++  java
  • openstack部署keystone

    环境:

    免密钥,域名解析

      cat /etc/hosts

      192.168.42.120 controller

      192.168.42.121 compute

      192.168.42.122 storage

    安装服务

    一、安装openstack软件包

      1.安装openstack python客户端

      yum install python-openstackclient

      2.安装openstack selinux 的组件

      yum install openstack-selinux

    二、数据库  

      1.安装mariadb mariadb-server python2-pyMySQL

      yum install mariadb mariadb-server python2-PyMySQL

      2.配置openstack配置文件

      vim /etc/my.cnf.d/openstack.cnf

      [mysqld] bind-address = 192.168.42.120       监听的地址

      default-storage-engine = innodb                     默认数据库引擎

      innodb_file_per_table = on

      max_connections = 4096                           最大链接数(最好写大点)

      collation-server = utf8_general_ci         字符集

      character-set-server = utf8       server端的字符集

      3.重启并设置开机自启数据库

      systemctl restart mariadb.service

      systemctl enable mariadb.service

      4.初始化数据库

      mysql_secure_installation

    三、消息队列

      1.安装rabbitmq服务

      yum install rabbitmq-server

      2.重启并设置开机自启rabbitmq

      systemctl restart rabbitmq-srever.service

      systemctl enable rabbitmq-server.service  

      3.添加用户并设置权限,设置为管理员

      rabbitmqctl add_user openstack admin

      rabbitmqctl set_permissions openstack ".*" ".*" ".*"

      rabbitmqctl set_user_tags openstack administrator

      4.浏览器登录查看是否设置成功

      192.168.42.120:15672

    四、memcache

      1.安装缓存系统

      yum install memcached python-memcached

      2.编辑配置文件

      vim /etc/sysconfig/mamcached

        OPTIONS="-l 127.0.0.1,::1,controller"     

      写域名不写ip的原因:以后ip变化不需要修改配置文件,直接修改/etc/hosts文件即可

      3.重启并设置开机自启

      systemctl restart memcached

      systemctl enable memcached

    配置身份认证服务

      一、.安装部署keystone

      1.登录数据库,创建以一个keystone数据库,并设置权限,可以第三方登录

      mysql -uroot -p0330

      create database keystone

      grant all privileges on keystone.* to keystone@localhost identified by "keystone"

      grant all privileges on keystone.* to keystone@'%' identified by "keystone"

      2.安装keystone服务(通过调用http服务对外提供服务)

      yum install openstack-keystone httpd mod_wsgi

      3.修改配置文件

      cp /etc/keystone/keystone.conf /etc/keystone/keystone.conf.bak          先复制再修改

      vim /etc/keystone/keystone.conf

      -rw-r-----. 1 root     keystone    771 6月   3 15:34 keystone.conf

    [DEFAULT]
     
    [assignment]
     
    [auth]
     
    [cache]
     
    [catalog]
     
    [cors]
     
    [cors.subdomain]
     
    [credential]
     
    [database]
     
    [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   用fornet组件创建token
     
    [tokenless_auth]
     
    [trust]

      4.同步数据库

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

      5.创建fornet配置,设置一个keystone用户和keystone组

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

      6.创建keystone用户的身份信息

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

      7.keystone服务的服务端点(必须是controller的主机名

      keystone-manage bootstrap --bootstrap-password admin       admin是openstack用户的密码

       --bootstrap-admin-url http://controller:35357/v3/                   管理网的服务端点:主机名:端口号:api版本

       --bootstrap-internal-url http://controller:5000/v3/      内部

       --bootstrap-public-url http://controller:5000/v3/         公共

       --bootstrap-region-id RegionOne

      8.编辑apache服务

      vim /etc/httpd/conf/httpd.conf

        ServerName controller

      9.通过wsgi这个模块调用apache(把模块链接到keystone的配置文件夹下)

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

      10.重启并设置开机自启httpd  

      systemctl restart httpd

      systemctl enable httpd

      11.创建admin用户的环境变量

      vim openrc

       export OS_USERNAME=admin          宣告变量OS_USERNAME的值是admin

       export OS_PASSWORD=admin         密码是admin

       export OS_PROJECT_NAME=admin         项目是admin

       export OS_USER_DOMAIN_NAME=Default     所处在的domain域

       export OS_PROJECT_DOMAIN_NAME=Default      项目域的名字

       export OS_AUTH_URL=http://controller:35357/v3     服务端点   

       export OS_IDENTITY_API_VERSION=3     API版本

    二、创建domain, projects, users, and roles

    每次使用openstack命令之前必须宣告环境变量

      1.创建项目

      openstack project create --domain default --description "Service Project" service          域名叫default  项目service

      2.创建一个名为demo的项目,域名叫default

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

      openstack project list                查看项目列表

      3.创建demo的用户,处在default域中,弹出一个交互式的界面

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

      openstack user list                   查看用户列表

      4.创建一个user角色

      openstack role create user         普通用户

      5.将一个demo项目里的demo用户的角色设为user

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

      6.取消环境变量的值

      unset OS_AUTH_URL OS_PASSWORD

      7.验证

      openstack --os-auth-url http://controller:35357/v3              keystone的服务端点

       --os-project-domain-name default                                      登录的项目域名default

       --os-user-domain-name default                                         用admin项目里的admin用户登录

       --os-project-name admin --os-username admin token issue          采用token的方式验证

      出现交互式界面输入admin

      以上keystone服务部署完成。

  • 相关阅读:
    shipyard-----------docker容器的可视化管理
    dockerfile制作镜像
    docker容器ip地址的设定
    docker镜像文件的安装和容器的操作
    Docker网络模式
    docker整体了解
    spring的aop学习(1)
    SqlSessionFactory的创建过程
    spring+springMVC+Maven+mysql环境搭建
    dubbo入门示例
  • 原文地址:https://www.cnblogs.com/daisyyang/p/10969614.html
Copyright © 2011-2022 走看看