OpenStack搭建私有云一:认证服务
实验环境部署
主机名 | IP | 备注 |
controllre | 192.168.80.184 | 控制节点 |
compute01 | 192.168.80.185 | 计算节点 |
注:计算节点可有多个
控制节点和计算节点 环境搭建
分别配置主机名和hosts文件
# hostnamectl set-hostname controller # hostnamectl set-hostname compute01 //重启生效 # vi /etc/hosts 192.168.80.184 controller
192.168.80.185 compute01
关闭禁用 防火墙及SELinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/sysconfig/selinux
SELINUX=disabled
时间同步
# yum install -y ntp
# ntpdate time1.aliyun.com //同步阿里云网络时间
# date //查看时间是否同步
安装必要软件
# yum install -y vim net-tools wget telnet
安装openstack包
安装对应版本的epel库:
# yum install centos-release-openstack-rocky -y
安装openstack客户端:
# yum install python-openstackclient -y
RHEL和CentOS 默认启用SELinux。安装 openstack-selinux软件包以自动管理OpenStack服务的安全策略:
# yum install openstack-selinux -y
数据库安装
安装包:
# yum install mariadb mariadb-server python2-PyMySQL -y
创建和编辑配置文件 /etc/my.cnf.d/openstack.cnf:
# vi /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 192.168.80.184
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
设置启动数据库:
# systemctl enable mariadb.service
# systemctl start mariadb.service
通过运行mysql_secure_installation 脚本来保护数据库服务。特别是,为数据库root帐户选择合适的密码 :
# mysql_secure_installation
# Enter current password for root (enter for none): Enter(回车) //输入根目录的当前密码(输入表示无)
# Set root password? [Y/n] y //是否设置root密码
# New password:
# Re-enter new password:
# Remove anonymous users? [Y/n] y // 是否删除匿名用户
# Disallow root login remotely? [Y/n] y // 是否禁止root远程登陆
# Remove test database and access to it? [Y/n] y //是否删除test库
# Reload privilege tables now? [Y/n] y //加载权限表
Thanks for using MariaDB!
安装消息队列
安装rabbitmq:
# yum install rabbitmq-server -y
启动rabbitmq:
# systemctl enable rabbitmq-server.service
# systemctl start rabbitmq-server.service
使用此插件实现web管理:
# rabbitmq-plugins enable rabbitmq_management
验证是否开启成功
# netstat -anpt | grep 5672
浏览器访问:192.168.80.184:15672
用户名 密码皆为 guest
添加openstack用户
添加的用户名为openstack,密码也是openstack
# rabbitmqctl add_user openstack openstack
对openstack用户进行读写授权:
# rabbitmqctl set_permissions openstack ".*" ".*" ".*"
安装Memcached
安装Memacached:
# yum install memcached python-memcached -y
编辑/etc/sysconfig/memcached,修改配置
# vi /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1,192.168.80.184"
注: 修改部分为 ( ,+本机ip)
启动memcached:
# systemctl enable memcached.service
# systemctl start memcached.service
验证有没有开启
# netstat -anpt | grep memcache
到此环境部署完成。
控制节点: 开始安装openstack服务
keystone服务安装
配置keystone数据库:
使用数据库访问客户端以root用户身份连接到数据库服务器:
# mysql -u root -p
创建keystone数据库,授予对keystone数据库的适当访问权限:
> CREATE DATABASE keystone;
> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'keystone';
> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'keystone';
> quit
安装配置keystone
运行以下命令以安装软件包:
# yum install openstack-keystone httpd mod_wsgi -y
编辑/etc/keystone/keystone.conf文件并完成以下操作:
# cd /etc/keystone/
# cp keystone.conf keystone.conf.bak //以防误操作,尽量先将配置文件备份一份
# egrep -v "^#|^$" keystone.conf.bak > keystone.conf
# vi keystone.conf
[database]
connection = mysql+pymysql://keystone:keystone@192.168.80.184/keystone
[token]
provider = fernet
填充Identity服务数据库:
# su -s /bin/sh -c "keystone-manage db_sync" keystone
验证数据库表
# mysql -ukeystone -pkeystone -e "use keystone; show tables;"
初始化Fernet密钥存储库:
# keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
# keystone-manage credential_setup --keystone-user keystone --keystone-group keystone
引导身份服务:
admin为管理用户的密码,这里是设置密码。
# keystone-manage bootstrap --bootstrap-password admin \
--bootstrap-admin-url http://192.168.80.184:5000/v3/ \
--bootstrap-internal-url http://192.168.80.184:5000/v3/ \
--bootstrap-public-url http://192.168.80.184:5000/v3/ \
--bootstrap-region-id RegionOne
配置Apache HTTP服务
编辑/etc/httpd/conf/httpd.conf
# vi /etc/httpd/conf/httpd.conf
ServerName 192.168.80.184
创建/usr/share/keystone/wsgi-keystone.conf文件的链接:
# ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/
启动服务
启动Apache HTTP服务并将其配置为在系统引导时启动:
# systemctl enable httpd.service
# systemctl start httpd.service
配置管理帐户
# 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://192.168.80.184:5000/v3
# export OS_IDENTITY_API_VERSION=3
查看全局变量是否生效
# env|grep ^OS
创建domain(域),projects(项目),users(用户) and roles(角色)
# openstack domain create --description "An Example Domain" example
注:OpenStack 是动态生成 ID 的,因此您看到的输出会与示例中的命令行输出不相同。
使用默认的domain,创建service项目:用做服务。
# openstack project create --domain default \
--description "Service Project" service
创建myproject项目:用做常规(非管理员)任务应使用非特权项目和用户。
# openstack project create --domain default \
--description "Demo Project" myproject
创建myuser用户:
创建用户需要设置密码
# openstack user create --domain default \
--password-prompt myuser
注:密码自定义
创建myrole角色:
# openstack role create myrole
将myuser添加到myproject项目中并赋予myrole的角色:
# openstack role add --project myproject --user myuser myrole
验证用户
取消设置临时 变量OS_AUTH_URL和OS_PASSWORD环境变量:
# unset OS_AUTH_URL OS_PASSWORD
作为admin用户,请求身份验证令牌:
执行后需要输入admin密码
# openstack --os-auth-url http://192.168.80.184:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name admin --os-username admin token issue
注:
用户名密码皆为admin
作为myuser用户,请求身份验证令牌:
# openstack --os-auth-url http://192.168.80.184:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name myproject --os-username myuser token issue
注:上面注册之后输入的密码
创建openstack 客户端环境脚本
openstack客户端通过添加参数或使用环境变量的方式来与Identity服务进行交互,为了提高效率,创建环境脚本:
创建admin用户环境脚本:admin-openstack.sh
# vi admin-openstack.sh
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://192.168.80.184:5000/v3
export OS_IDENTITY_API_VERSION=3
创建myuser用户环境脚本:demo-openstack.sh
# vi demo-openstack.sh
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_NAME=myproject
export OS_USERNAME=myuser
export OS_PASSWORD=myuser
export OS_AUTH_URL=http://192.168.80.184:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
使用脚本
# source admin-openstack.sh 或者 demo-openstack.sh
# openstack token issue //请求身份验证令牌
转载于:https://blog.51cto.com/14188767/2382100
OpenStack搭建私有云一:认证服务相关推荐
- 使用openstack搭建私有云
OpenStack 部署 一.环境准备 版本介绍 CentOS Linux release 7.6.1810 (Core) 内核版本:3.10.0-957.el7.x86_64 $ openstack ...
- nextcloud网站不安全_教你搭建私有云盘,简单快速,完全傻瓜式!不限速,永久有效!...
免费的云盘服务有很多,但是总感觉把重要文件存在上面不安全,动不动就跑路或者限速. 辛辛苦苦收集的学习资料,一夜直接可能就会付诸东流. 最稳妥的方式是存放在本地硬盘中,但是要进行共享或者不同设备之间进行 ...
- 百度云盘云知梦php_教你搭建私有云盘,简单快速,完全傻瓜式!不限速,永久有效!...
免费的云盘服务有很多,但是总感觉把重要文件存在上面不安全,动不动就跑路或者限速. 辛辛苦苦收集的学习资料,一夜直接可能就会付诸东流. 最稳妥的方式是存放在本地硬盘中,但是要进行共享或者不同设备之间进行 ...
- linux 可道云_如何搭建私有云
最近有个Team共享文档的需求.包括大文件,有个access文件超过500m.开始用百度网盘,发现只能分享,不能共享.试了几个其它网盘,广告超级多,但是都没有共享这个功能. 基于此,找了几个私有云程序 ...
- 本地搭建私有云盘:虚拟机安装群晖NAS 1/5
系列文章 本地搭建私有云盘:虚拟机安装群晖NAS 1/5 本地搭建私有云盘:安装Synology Assistant 2/5 本地搭建私有云盘:群晖系统存储空间设置 3/5 本地搭建私有云盘设定:设置 ...
- 搭建私有云:owncloud(用Docker构建owncloud私有云盘)
网上各种云盘都要收费,又或有速度限制,感觉用起来不方便,想抽时间想搭建一个私有云盘.下面讲解下搭建私有云:owncloud. 搭建私有云:owncloud(用Docker构建owncloud私有云盘) ...
- 华为私有云的搭建方案_如何搭建私有云
最近有个Team共享文档的需求.包括大文件,有个access文件超过500m.开始用百度网盘,发现只能分享,不能共享.试了几个其它网盘,广告超级多,但是都没有共享这个功能. 基于此,找了几个私有云程序 ...
- php owncloud_技术|搭建私有云:OwnCloud
所有人都在讨论云.尽管市面上有很多为我们提供云存储和其他云服务的主要服务商,但是我们还是可以为自己搭建一个私有云. 在本教程中,我们将讨论如何利用 OwnCloud 搭建私有云.OwnCloud 是一 ...
- 华为私有云的搭建方案_Kali linux 搭建私有云
Kali linux搭建私有云 1:安装Apache apt-get install apache2 2:安装PHP apt-get install php7.0 3:安装PHP模块 apt-get ...
最新文章
- abb机器人指令手册_ABB机器人可以告别示教器啦
- 大数据没有降温,已融入主流科技领域
- golang 生成 指定大小 空白文件
- 【Hello CC.NET】巧用模板简化配置
- .NET 指南:许可请求
- redis 安装并设置为开机启动服务
- 学习结构[记录]类型(7) - 结构也可以有构造函数
- mysql数据库比较,各数据库不同之处
- android 前后同时预览_用上这些官方动态壁纸,让你的 Android 主屏简洁又优雅
- centos7 mysql读写监控,《Centos7——zabbix监控mysql的常规操作》
- 网站子域名扫描程序,采用三种扫描方式(crt网站查询、站长网站查询、字典暴力破解)
- 火狐无法安装扩展_立即安装4个Firefox扩展
- 产品经理/总监 面试题及答案
- 大数据:阿里数据仓库建模及管理体系OneData什么是阿里onedata
- hapi_带有节点和Hapi后端的Angular文件上传
- python 画图 平滑曲线_用Python平滑曲线
- php表格弄成隔两行变色,Excel表格实现隔行填充背景颜色的三种方法
- [案例4-4]学生和老师
- 【Code】OJ推荐
- 一起来玩玩WebGL--第一弹
热门文章
- PHP 阿里云视频点播HLS加密(简单流程)
- Java 字符集编解码及乱码示例
- 训练ChatGPT的必备资源:语料、模型和代码库完全指南
- 【渝粤教育】国家开放大学2018年春季 0049-22T法律文书 参考试题
- 投射式AR/AR眼镜的标定之相机姿态、Unity投影矩阵的计算
- 谷歌PR权重 Google PR与百度权重
- python入门的详细答案_第11篇参考答案:Python入门经典习题题解
- httpd.conf linux,linux上安装apache以及httpd.conf基本配置
- mongoDB conf 文件配置详解
- 离散数学图论期末复习