openstack-on-centos7之各组件服务

认证服务keystone(安装和配置)

在配置 OpenStack 身份认证服务前,必须创建一个数据库和管理员令牌

[用数据库连接客户端以root用户连接到数据库服务]
# mysql -u root -p
[创建keystone数据库]
# CREATE DATABASE keystone
[对keystone数据库给予授权]
# GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone‘@‘localhost‘   IDENTIFIED BY ‘KEYSTONE_DBPASS‘;    //KEYSTONE_DBPASS替换成自己的密码

# GRANT ALL PRIVILEGES ON keystone.* TO ‘keystone‘@‘%‘   IDENTIFIED BY ‘KEYSTONE_DBPASS‘;    //KEYSTONE_DBPASS替换成自己的密码

[主节点安装配置keystone]

安装openstack-keystone和httpd mod_wsgi

# yum -y install openstack-keystone httpd mod_wsgi

修改配置keystone配置文件:/etc/keystone/keystone.conf

[database]部分添加:
connection = mysql+pymysql://keystone:[email protected]:3306/keystone
                              @用户名:密码@mysql地址/哪个库
[token]令牌部分添加:
 provider = fernet

初始化数据库

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

初始化Fernet key库(生成token)

# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone

[配置 Apache HTTP 服务器]

编辑配置文件:/etc/httpd/conf/httpd.conf

ServerName controller     //controller为主机名字

拷贝wsgi-keystone.conf

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

启动httpd服务

# systemctl start httpd.service    #启动httpd服务
# systemctl enable httpd.service    #设置成开机自启

查看服务状态

[创建keystone的catalog]

配置/etc/keystone/keystone.conf

# openssl rand -hex 10   //生成一个随机值在初始的配置中作为管理员的令牌
[DEFAULT]部分添加:
admin_token="openssl rand -hex 10"生成的随机数

设置环境变量

# vim ~/.bashrc
[添加一下内容]
export OS_TOKEN= admin_token     //keystone.conf中admin_token的值
export OS_URL=http://192.168.1.156:35357/v3    //v3代表用的keystone版本为3
export OS_IDENTITY_API_VERSION=3

为keystone创建catalog

# openstack service create --name keystone --description "OpenStack Identity" identity

基于建立的服务实体,创建访问该实体的三个api端点

# openstack endpoint create --region RegionOne identity public http://192.168.1.156:5000/v3

openstack endpoint create --region RegionOne identity internal http://192.168.1.156:5000/v3   //前两个为5000端口,专门处理内部和外部的访问

openstack endpoint create --region RegionOne identity admin http://192.168.1.156:35357/v3  //5357端口,专门处理admin#用keystone-wsgi-admin

登录数据库查看keystone库中的表

[创建域,项目,用户,角色,并把四个元素关联在一起]

创建域

openstack domain create --description "Default Domain" default  //#创建一个默认的域“default”

创建管理的项目,用户和角色

创建admin项目,在"default"域中

openstack project create --domain default --description "Admin Project" admin

创建admin用户 在“default”域中

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

创建admin角色

openstack role create admin

添加admin 角色到 admin 项目和用户上:

openstack role add --project admin --user admin admin

验证:

# openstack role assignment list
# openstack role list
# openstack user list
# openstack project list

[测试]

在“default”域中,创建项目名为fzu

openstack project create --domain default --description "FZU Project" fzu

创建用户名为zlx(自己名字的缩写)

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

创建普通用户的角色

openstack role create user

添加user角色到fzu项目和用户zlx上

openstack role add --project fzu --user zlx user 

验证

# openstack role assignment list
# openstack role list
# openstack user list
# openstack project list

处于安全考虑 关闭临时认证令牌机制

编辑/etc/keystone/keystone-paste.ini

[pipeline:public_api],[pipeline:admin_api][pipeline:api_v3]部分删除admin_token_auth 。

重置OS_TOKENOS_URL 环境变量:

unset OS_TOKEN OS_URL

作为admin用户,请求认证令牌:

openstack --os-auth-url http://192.168.1.156:35357/v3   --os-project-domain-name default --os-user-domain-name default   --os-project-name admin --os-username admin token issue

作为zlx用户,请求认证令牌:

openstack --os-auth-url http://192.168.1.156:5000/v3   --os-project-domain-name default --os-user-domain-name default   --os-project-name fzu --os-username zlx token issue

在etc/keystone下新建文件admin-openrc 并添加如下内容:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS     //ADMIN_PASS为admin密码
export OS_AUTH_URL=http://192.168.1.156:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

同理新建文件demo-openrc 并添加如下内容:

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=DEMO_PASS   //ADMIN_PASS为demo用户密码
export OS_AUTH_URL=http://192.168.1.156:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

使用脚本验证

source admin-openrc
openstack token issue

[使用openstack api实现]

获取token:

curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog   -H "Content-Type: application/json"   -d ‘{ "auth": { "identity": { "methods": ["password"],"password": {"user": {"domain": {"name": "‘"$OS_USER_DOMAIN_NAME"‘"},"name": "‘"$OS_USERNAME"‘", "password": "‘"$OS_PASSWORD"‘"} } }, "scope": { "project": { "domain": { "name": "‘"$OS_PROJECT_DOMAIN_NAME"‘" }, "name":  "‘"$OS_PROJECT_NAME"‘" } } }}‘ | python -m json.tool

原文地址:https://www.cnblogs.com/zlxbky/p/9203409.html

时间: 2024-10-17 17:05:54

openstack-on-centos7之各组件服务的相关文章

Centos7 install Openstack - (第四节)添加计算服务(Nova)

Centos7 install Openstack - (第四节)添加计算服务(Nova) 我的blog地址:http://www.cnblogs.com/caoguo 该文根据openstack官方文档配置 官方文档地址: http://docs.openstack.org/juno/install-guide/install/yum/content/# 0x01. Install and configure controller node (在控制节点安装配置一下内容) 一) 配置基本环境

openstack M 版 neutron网络组件基础入门

在我们openstack学习当中,网络组件neutron无疑是令很多人很难理解的,可以说要深入理解 了neutron组件,你基本完成了openstack 60%的学习,存储方面只要不涉及到分布式,剩下的基本都比较简单了 相信很多人第一次看到这种图的时候都会被吓一跳,没错,这就是openstack  neutron组件里面涉及到的数据流程,里面涉及到的知识点很多很多 Openstack网络模型中的几个概念网络: Management Network: 管理网络,连接所有节点. External N

#openstack centos6 centos7 kvm镜像制作

#openstack centos6 centos7 kvm 镜像制作 openstack pike 集群高可用  安装部署 汇总 http://www.cnblogs.com/elvi/p/7613861.html #openstack centos6 centos7 镜像制作 #################################### #KVM环境 yum install -y kvm virt-* libvirt bridge-utils qemu-img qemu-kvm-

[ Openstack ] Openstack-Mitaka 高可用之 网络服务(Neutron)

目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群部署    Openstack-Mitaka 高可用之 Rabbitmq-server 集群部署    Openstack-Mitaka 高可用之 memcache    Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs高可用集群    Openstack-M

打开组件服务

if ( Dconcnfg 里面如果没有对应的服务) { 就使用comexp.msc -32 来打开32位的组件服务 } else { Dconcnfgif }

win7 64位DCOM配置(关于导出excel 配置计算机组件服务)(转)

http://blog.sina.com.cn/s/blog_9323b3a50101qrxm.html [解决方案1] 1:在服务器上安装office的Excel软件. 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务" 3:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置" 4:在"DCO

COM组件服务访问权限

解决办法 :添加ASP.NET权限访问COM组件服务. IIS 5 上为 {MACHINE}\ASPNET IIS 6 和 IIS 7 上为网络服务:NETWORK SERVICE IIS 7.5 上为配置的应用程序池标识:IIS AppPool\{应用程序池} 解决步骤(win8,iis8为例) 1."控制面板->管理工具->组件服务"打开组件服务 2.修改位置 3.添加启动和激活权限 (1)以下为添加NETWORK SERVICE的情况 (2)以下为添加应用程序池的情况

centos7.4安装samba服务

centos7.4安装samba服务 系统平台 CentOS Linux release 7.4.1708 (Core) 关闭防火墙,selinux 安装 samba-4.6.2-8.el7.x86_64 samba-client-4.6.2-8.el7.x86_64 配置/etc/samba/smb.conf 创建共享目录,本地目录权限和共享权限 创建系统用户与共享用户的密码 启动 smb.service 客户端访问共享服务器 [[email protected] ~]# cat /etc/r

CentOS7下部署rsync服务

说明: 在CentOS7下部署rsync服务和在CentOS6上部署基本上是一样的,只是CentOS7自带了rsyncd启动脚本,由systemd管理而已. rsync服务端配置 [[email protected] ~]# rpm -qa|grep rsync rsync-3.0.9-17.el7.x86_64 [[email protected] ~]# uname -r 3.10.0-514.el7.x86_64 [[email protected] ~]# systemctl stop