openstack部署keystone

環境:python

免密鑰,域名解析mysql

  cat /etc/hosts
linux

  192.168.42.120 controller
redis

  192.168.42.121 compute
sql

  192.168.42.122 storage
數據庫

安裝服務apache

1、安裝openstack軟件包bootstrap

  1.安裝openstack python客戶端vim

  yum install python-openstackclientapi

  2.安裝openstack selinux 的組件

  yum install openstack-selinux

2、數據庫  

  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

3、消息隊列

  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

4、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

配置身份認證服務

  1、.安裝部署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版本

2、建立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服務部署完成。

相關文章
相關標籤/搜索