设为首页 收藏本站
查看: 920|回复: 0

[经验分享] Install and Configure OpenStack Identity Service (Keystone)

[复制链接]

尚未签到

发表于 2018-6-2 10:38:44 | 显示全部楼层 |阅读模式
  Based on OpenStack Icehouse release
DSC0000.jpg

  1. service NetworkManager stop; chkconfig NetworkManager off
service network start; chkconfig network on
  

  disable firewall and selinux
  service iptables stop; chkconfig iptables off
service ip6tables stop; chkconfig ip6tables off
  
2. eth0 for management/public/floating (192.168.1.0/24), eth1 for internal/flat (192.168.20.0/24), it's recommended to use seperated nic for management network
  
3. set hostname in /etc/sysconfig/network
  vi /etc/hosts
192.168.1.10    controller
192.168.1.11    node1

  
4. yum -y install ntp
vi /etc/ntp.conf
restrict 3.cn.pool.ntp.org
restrict 0.asia.pool.ntp.org
restrict 2.asia.pool.ntp.org
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 3.cn.pool.ntp.org
server 0.asia.pool.ntp.org
server 2.asia.pool.ntp.org

service ntpd start; chkconfig ntpd on

5. install mysql server

  yum -y install mysql-server
  vi /etc/my.cnf
  [mysqld]
  default-storage-engine = innodb
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
  

  service mysqld start; chkconfig mysqld on
mysql_secure_installation

6. yum -y install qpid-cpp-server
vi /etc/qpidd.conf
# last line: change
auth=no

service qpidd start; chkconfig qpidd on

7. yum -y install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-3.noarch.rpm
  yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

  yum -y install mysql MySQL-python

  
8. Install and Configure OpenStack Identity Service (Keystone)
  yum -y install openstack-keystone openstack-utils
  
mysql -uroot -p
mysql> create database keystone;
mysql> grant all privileges on keystone.* to 'keystone'@'localhost' identified by 'KEYSTONE-DBPASS';
mysql> grant all privileges on keystone.* to 'keystone'@'%' identified by 'KEYSTONE-DBPASS';
mysql> flush privileges;
  

  vi /etc/keystone/keystone.conf
[database]
connection = mysql://keystone:keystone@MYSQL-SERVER/keystone
  

  keystone-manage db_sync
  
vi /etc/keystone/keystone.conf
admin_token = admintoken
token_format = PKI
certfile = /etc/keystone/ssl/certs/signing_cert.pem
keyfile = /etc/keystone/ssl/private/signing_key.pem
ca_certs = /etc/keystone/ssl/certs/ca.pem
ca_key = /etc/keystone/ssl/private/cakey.pem
key_size = 2048
valid_days = 3650
cert_subject = /C=CN/ST=Shanghai/L=Shanghai/O=HKT/CN=controller.test.pri

9. keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
chown -R keystone:keystone /etc/keystone /var/log/keystone
  chmod -R o-rwx /etc/keystone/ssl
service openstack-keystone start; chkconfig openstack-keystone on

10. crontab -e
@hourly /usr/bin/keystone-manage token_flush >/var/log/keystone/keystone-tokenflush.log 2>&1

service crond restart

11. export OS_SERVICE_TOKEN=admintoken
export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0

12.# add admin tenant
  keystone tenant-create --name admin --description "Admin Tenant"
  

# add service tenant
  keystone tenant-create --name service --description "Service Tenant"
  

  # add admin role

  keystone role-create --name admin

  

# add admin user (set in admin tenant)

  keystone user-create --tenant admin --name admin --pass ADMIN-USER-PASSWORD
  

# add admin user in admin role

  keystone user-role-add --user admin --tenant admin --role admin

  

  # add demo1 tenant
keystone tenant-create --name=demo1 --description="Demo1 Tenant"

# add demo1 user
keystone user-create --tenant demo1 --name demo1 --pass DEMO1-USER-PASSWORD

  

  # add service for keystone

  keystone service-create --name=keystone --type=identity --description="Keystone Identity Service"

  

# add endpoint for keystone

  keystone endpoint-create --region RegionOne --service keystone --publicurl=http://controller:5000/v2.0 --internalurl=http://controller:5000/v2.0 --adminurl=http://controller:35357/v2.0

13. Load environment variables
  unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
vi ~/adminrc
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN-USER-PASSWORD
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://controller:35357/v2.0

chmod 600 ~/adminrc ; source ~/adminrc
echo "source ~/adminrc " >> ~/.bash_profile
  

  vi ~/demo1rc
export OS_USERNAME=demo1
export OS_PASSWORD=DEMO1-USER-PASSWORD
export OS_TENANT_NAME=demo1
export OS_AUTH_URL=http://controller:35357/v2.0
  

  Get user-role-list script
  vi get-user-role-list.py
#!/usr/bin/python
import os, prettytable, sys

from keystoneclient.v2_0 import client
from keystoneclient import utils

keystone = client.Client(username=os.environ['OS_USERNAME'], password=os.environ['OS_PASSWORD'],
                         tenant_name=os.environ['OS_TENANT_NAME'], auth_url=os.environ['OS_AUTH_URL'])

f_user = f_tenant = ""
if "-u" in sys.argv: f_user = sys.argv[sys.argv.index("-u")+1]
if "-t" in sys.argv: f_tenant = sys.argv[sys.argv.index("-t")+1]

tenants = [t for t in keystone.tenants.list() if f_tenant in t.name]
users =   [u for u in keystone.users.list() if f_user in u.name]

pt = prettytable.PrettyTable(["name"]+[t.name for t in tenants])
for user in users:
    row = [user.name]
    for tenant in tenants:
        row.append("\n".join([u.name for u in user.list_roles(tenant.id)]))
    pt.add_row(row)
print pt.get_string(sortby="name")
  

  chmod +x get-user-role-list.py
  ./get-user-role-list.py

DSC0001.jpg

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-506124-1-1.html 上篇帖子: Openstack compute 环境服务启动与关闭不需要的服务 下篇帖子: Install and Configure OpenStack Image Service (Glance)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表