三、Keyston-认证服务

3.1 Keyston介绍

Keyston介绍

补充





3.2 安装时间同步器

----------------------------------------------------使用chrony安装-------------------------------------------------

####所有节点
#下载安装chrony
yum -y install chrony
#修改配置文件/etc/chrony.conf
vim /etc/chrony.conf
#修改第三行
server time1.aliyun.com iburst##只在controller节点配置,其他节点引用控制节点
#修改allow
allow 10.0.0.0/24   #其他节点配置通用网段
#启动并加入开机自启
systemctl enable chronyd.service
systemctl start chronyd.service

ntp时间同步器介绍可以不看

-------------------------------------------------------------NTP操作可以不用----------------------------------------------------
yum -y install ntpvim /etc/ntp.conf
修改成自己的IP网段或者指定ip
16 # Hosts on local network are less restricted.
17 restrict 192.168.8.0 mask 255.255.255.0 nomodify notrap
18注释掉公网时间服务器
19 # Use public servers from the pool.ntp.org project.
20 # Please consider joining the pool (http://www.pool.ntp.org/join.html).
21 #server 0.centos.pool.ntp.org iburst
22 #server 1.centos.pool.ntp.org iburst
23 #server 2.centos.pool.ntp.org iburst
24 #server 3.centos.pool.ntp.org iburst
添加:
server 127.127.1.0
fudge 127.127.1.0 stratum 10
表示:当外部时间不可用时(指公网网络时间),以本地(本机)时间作为服务时间本地时间以 127.127.1.0 表示  级别为10
systemctl start ntpd
systemctl enable ntpd

ntp 检测拓展可以不看

[root@controller ~]# ntpstat
synchronised to local net (127.127.1.0) at stratum 11time correct to within 7948 mspolling server every 64 s
[root@controller ~]# ntptrace -n 127.0.0.1
bash: ntptrace: command not found...
[root@controller ~]# ntpq -premote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*LOCAL(0)        .LOCL.          10 l   31   64    3    0.000    0.000   0.000

----------------------------------------------------------------------NTP时间同步器-------------------------------------------------------

四、安装服务

keystone-CentOS官方文档

4.1 安装数据库

#控制节点安装即可
yum install mariadb mariadb-server python2-PyMySQL -y
vim /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 10.0.0.11
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
#启动并加入开机自启
systemctl enable mariadb.service
systemctl start mariadb.service
#查看端口验证
netstat -tnulp|grep 3306
#跳坑
mysql_secure_installation
回车-N-Y-Y-Y-Y

4.2 安装Messaing Server服务

功能:协调操作和状态信息服务
选择RabbitMQ

 yum -y install rabbitmq-serversystemctl start rabbitmq-serversystemctl enable rabbitmq-server#查看端口验证netstat -lntp|grep 5672#创建用户并且设置权限
rabbitmqctl add_user openstack RABBIT_PASS
rabbitmqctl set_permissions openstack ".*" ".*" ".*"     #这里三个.*代表可读可写可配置
#安装监控插件
rabbitmq-plugins enable rabbitmq_management
#安装成功会出现15672端口
netstat -tnulp|grep 15672
#可以访问web页面查看
http://192.168.8.17:15672
默认用户名:guest
默认密码:guest
##注:监控是运维最主要的工作之一.

这里建议不要修改,因为openstack部署需要很多密码,如果需要请用文档记录

##修改密码命令
rabbitmqctl change_password guest new_password

4.3 安装memcached缓存token

#下载并且安装memcached
yum install memcached python-memcached -y
#
sed -i 's#127.0.0.1#0.0.0.0#g' /etc/sysconfig/memcached
#启动并加入开机自启
systemctl enable memcached.service
systemctl start memcached.service

4.4 认证服务

4.4.1创库、授权

#进入mysql
mysql -u root -p
CREATE DATABASE keystone;
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost'   IDENTIFIED BY 'KEYSTONE_DBPASS';
GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%'           IDENTIFIED BY 'KEYSTONE_DBPASS';
#查看验证show databases;

4.4.2 生成一个随机值作为管理令牌的初始配置

openssl rand -hex 10:
f4295a6b7eb3f1c5152b  #要记住这段代码

4.4.3 安装软件包

yum install openstack-keystone httpd mod_wsgi -y

4.4.4 自动配置

#下载并且安装自动配置工具(openstack专门用来自动修改配置文件的工具)
yum install openstack-utils -y
#执行下列命令即可完成自动配置
#复制备份配置文件
cp /etc/keystone/keystone.conf{,.bak}#############也可以这个文件(keystone.conf)中找对应的参数手动修改###################
#清理空行与注释掉的行
grep '^[a-Z\[]' /etc/keystone/keystone.conf.bak >/etc/keystone/keystone.conf
#执行下列语句自动修改配置文件
openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token  3d2fb4a10a678b646c29#(上面随机产生的代码)openstack-config --set /etc/keystone/keystone.conf database connection  mysqlmysql+pymysql://keystone:KEYSTONE_DBPASS@controller.nice.com/keystone
#mysql  -- 连接的数据库类型
#keystone   --连接的数据库
#KEYSTONE_DBPASS    -- 连接的数据库密码
#@controller.nice.com  --连接的数据主机域名
#/keystone          --连接的数据库目录
openstack-config --set /etc/keystone/keystone.conf token provider  fernet

4.5 同步数据库

#同步数据库
su -s /bin/sh -c "keystone-manage db_sync" keystone
#查看验证
mysql -uroot -p
password:123
CREATE DATABASE keystone;
#验证创建
use keystone;

4.6 初始化Fernet keys

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

4.7 配置httpd服务器

#
echo "ServerName controller" >> /etc/httpd/conf/httpd.conf
#创建文件并且写配置
vi /etc/httpd/conf.d/wsgi-keystone.conf  #这里直接可以复制粘贴
iListen 5000
Listen 35357<VirtualHost *:5000>WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}WSGIProcessGroup keystone-publicWSGIScriptAlias / /usr/bin/keystone-wsgi-publicWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization OnErrorLogFormat "%{cu}t %M"ErrorLog /var/log/httpd/keystone-error.logCustomLog /var/log/httpd/keystone-access.log combined<Directory /usr/bin>Require all granted</Directory>
</VirtualHost><VirtualHost *:35357>WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}WSGIProcessGroup keystone-adminWSGIScriptAlias / /usr/bin/keystone-wsgi-adminWSGIApplicationGroup %{GLOBAL}WSGIPassAuthorization OnErrorLogFormat "%{cu}t %M"ErrorLog /var/log/httpd/keystone-error.logCustomLog /var/log/httpd/keystone-access.log combined<Directory /usr/bin>Require all granted</Directory>
</VirtualHost>
#启动httpd
systemctl enable httpd.service
systemctl start httpd.service
#验证端口是否存在
netstat -lntp|grep -E '80|5000|35357'

4.8 创建服务实体和API端点

#创建
export OS_TOKEN=$ADMIN_TOKEN ###上面产生的随机
export OS_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
#验证
env|grep OS#自动配置
#创建服务实体和身份认证服务:
openstack service create \--name keystone --description "OpenStack Identity" identity
# OpenStack使用三个API端点变种代表每种服务:admin,internal和public。默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作。在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上。对实例而言,公共API网络为了让顾客管理他们自己的云在互联网上是可见的。管理API网络在管理云基础设施的组织中操作也是有所限制的。内部API网络可能会被限制在包含OpenStack服务的主机上。此外,OpenStack支持可伸缩性的多区域。为了简单起见,本指南为所有端点变种和默认``RegionOne``区域都使用管理网络。#创建认证服务的 API 端点:
openstack endpoint create --region RegionOne \identity public http://controller:5000/v3openstack endpoint create --region RegionOne \identity internal http://controller:5000/v3openstack endpoint create --region RegionOne \identity admin http://controller:35357/v3#创建域
openstack domain create --description "Default Domain" default
#项目(租户)
openstack project create --domain default \--description "Admin Project" admin
#用户
openstack user create --domain default \--password ADMIN_PASS admin     ###密码密码密码可以默认
#角色
openstack role create admin#关联项目,用户,角色
openstack role add --project admin --user admin admin#在admin项目上,给admin用户赋予admin角色
openstack project create --domain default \--description "Service Project" service
#验证
unset OS_TOKEN OS_URL       #使用unset删除环境变量
env|grep OS

4.9 验证操作

如果前面都没有单独设置密码,默认使用下面命令即可,否则将 ADMIN_PASS换成你自己设置的密码;包括4.10变量
作为 admin 用户,请求认证令牌:

#作为 admin 用户,请求认证令牌:············注意密码·············
openstack --os-auth-url http://controller:35357/v3 \--os-project-domain-name default --os-user-domain-name default \--os-project-name admin --os-username admin --os-password ADMIN_PASS token issue  ##执行下面这条命令如果HTTPD错误;说明成功
openstack --os-auth-url http://controller:35357/v3   --os-project-domain-name default --os-user-domain-name default   --os-project-name admin --os-username admin --os-password ADMIN_PASS user list

4.10 创建脚本

vim admin-openrc.sh
#创建脚本(变量)
vi admin-openrc
iexport 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
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
#刷新变量
[root@controller ~]# source admin-openrc
[root@controller ~]# env|grep OS
#写入开机自启
Vim .bashrc
source admin-openrc
#验证keystone服务是否正常的命令
openstack token issue
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                                                                                                                                                   |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| expires    | 2022-11-28T03:36:05+0000                                                                                                                                                                |
| id         | gAAAAABjhB6Vj5b84NI0f5-cUSxsbCgc42GFycPP0gxCGWaEKZ2h-1FW8tuOlxYwVjwyC_Y7BtgG3-iUAt_CtGZwPBJGjZIhpFO4WfPMYe5hG3CCRgdqUYNuNPyVAICRM5F37FScLC8bCOi38h31VfWnUHPO_quTdUBYyjxaDwZta8sfvImluqw |
| project_id | 7a9ea071f6ba4fb69fd8351a6642f558                                                                                                                                                        |
| user_id    | aec72400db6b4a30a69eefbc9c54e123                                                                                                                                                        |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

如果报错Missing value auth-url required for auth plugin password
是因为admin-openrc.sh文件中export OS_PASSWORD错误
重新设置

#设置完成    重新加载
source admin-openrc.sh
openstack token issue

OpenStack集群部署——Keystone部署(二)相关推荐

  1. OpenStack 集群部署工具:ProStack

    项目名称:ProStack 功能:自动化安装部署带有HA的 OpenStack 集群. 已实现的功能: 可以在 Ubuntu 14.04 Server 版上面自动化安装部署带有主/主式HA的OpenS ...

  2. 中国移动部署全球最大OpenStack集群的实践之路

    虽然OpenStack已经成为开源云计算领域的事实标准,但是对于OpenStack的质疑从来没有停止过,其中的原因是多方面的,中国移动从最初基于OpenNebula研发移动"大云" ...

  3. Hadoop伪分布式集群的安装部署

    Hadoop伪分布式集群的安装部署Hadoop伪分布式集群的安装部署 首先可以为Linux虚拟机搭建起来的最初状态做一个快照,方便后期搭建分布式集群时多台Linux虚拟机的准备. 一.如何为虚拟机做快 ...

  4. 【云原生 | Kubernetes 实战】01、K8s-v1.25集群搭建和部署基于网页的 K8s 用户界面 Dashboard

    目录 一.K8s 概述 可以查看官方文档:概述 | Kubernetes 组件交互逻辑: 二.kubeadm 安装 K8s-v1.25高可用集群 k8s 环境规划: 1.初始化环境 2.安装 Dock ...

  5. Apache HAWQ集群的安装部署

    最近Pivotal公司发布了Apache HAWQ的企业版HDB 2.0,因功能强大,性能出色,很多人已经迫不及待想要安装来玩玩了.今天我们就来聊聊怎么部署强大的HAWQ 2.0吧. 企业版的HAWQ ...

  6. docker swarm 集群服务编排部署指南(docker stack)

    Docker Swarm 集群管理 概述 Docker Swarm 是 Docker 的集群管理工具.它将 Docker 主机池转变为单个虚拟 Docker 主机,使得容器可以组成跨主机的子网网络.D ...

  7. 【PhotoScan教程】Ps集群处理环境部署图文教程

    [PhotoScan教程]Ps集群处理环境部署图文教程 Ps集群处理环境部署图文教程 设置共享目录 主机电脑设置 主机命令 主机运行命令后会显示等待从机连接 从机电脑设置 从机运行命令成功后会显示已连 ...

  8. k8s-大型分布式集群环境捷径部署

    转k8s-大型分布式集群环境捷径部署 课程介绍 ​ Kubernetes(k8s)一个用于容器集群的自动化部署.扩容以及运维的开源平台.通过Kubernetes,你可以快速有效地响应用户需求;快速而有 ...

  9. 2.redis高可用-持久化-主从复制-哨兵-cluster集群概述与部署,内容依旧多看完直接通透!

    文章目录 一,Redis 高可用 1.持久化 2.主从复制 3.哨兵 4.集群(cluster) 二,Redis 持久化方式 1.持久化的功能 2.持久化的方式 三, RDB 持久化 1.触发条件 2 ...

  10. Solr 11 - Solr集群模式的部署(基于Solr 4.10.4搭建SolrCloud)

    目录 1 SolrCloud结构说明 2 环境的安装 2.1 环境说明 2.2 部署并启动ZooKeeper集群 2.3 部署Solr单机服务 2.4 添加Solr的索引库 3 部署Solr集群服务( ...

最新文章

  1. 企业对网站空间的抉择有可能影响着网站日常运营水平
  2. python字典序列化是什么意思_如何将Python字典序列化为字符串,然后回到字典?...
  3. 移动前端开发中添加一些webkit专属的HTML5头部标签,帮助浏览器更好解析html代码,更好地将移动web前端页面表现出来。本文整理一些常用的meta标签...
  4. 【原创】Windows下使用 Eclipse 管理 RabbitMQ 源码之问题解决
  5. 在线生成文本图片 CFC函数计算版
  6. ie浏览器安全使用网银支付功能方法
  7. es6 Atomics对象
  8. HTML5 响应式网页设计之页面美化(二.媒体查询)
  9. 归并排序时间复杂度_一文带你读懂排序算法(四):归并算法
  10. 从君臣到战友:《谦逊领导力》就是敏捷领导力
  11. deficit记忆_英语单词分类记忆 高效快速的记忆法
  12. 各地大厂名单(一二线城市知名公司)
  13. 主成分分析二级指标权重_主成分分析确定指标权重的问题_主成分分析法确定权重...
  14. 导图解文 从梦想到财富(05)世界第八大奇迹,知者赚不知者被赚
  15. 利用python实现简单的爬虫,爬百度文库相关词条信息
  16. 在小县城做什么赚钱?来看看这十种赚钱的项目吧!
  17. linux命令行下的BT软件
  18. 计算机毕业设计 SSM学校图书借阅管理系统 图书馆借阅管理系统 图书借阅系统Java
  19. linux下获取按键响应事件(转)
  20. Java 基于mail.jar 和 activation.jar 封装的邮件发送工具类

热门文章

  1. Uncaught SyntaxError: Unexpected token )
  2. 51nod 1015 水仙花数
  3. centos7,openfile修改
  4. layui文件树Dtree的使用
  5. 大数据技术之_16_Scala学习_12_设计模式+泛型、上下界、视图界定、上下文界定、协变逆变不变
  6. AI“裸泳”、用户“裸奔”
  7. React应用框架DvaJs入门
  8. 离线安装tensorflow,tensorflow-gpu1.15.0依赖库
  9. 太好用了!Linux 服务器上必备的 4 个开源工具
  10. 以鼠标位置为中心的图片滚动放大缩小