OpenStack架构----keystone组件(一)

发布时间:2020-06-16 07:14:03 作者:蓝月CC
来源:网络 阅读:1173

本篇博文主要搭建OpenStack架构中的keystone组件,之后会依次带来OpenStack中的glance、nova、neutron、horizon、cinder和虚拟机的管理操作。在实验部署之前,先对OpenStack进行以下了解!

什么是OpenStack?

OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。
OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。

OpenStack组件:

OpenStack当前主要有三个组件:计算,存储,镜像。

主机 系统 IP地址 角色
controller CentOS7 192.168.37.128 keystone、ntp、mariadb、rabbitmq、memcached、etcd、apache
compute CentOS7 192.168.37.130 nova、ntp
cinder CentOS7 192.168.37.131 cinder、ntp

实验过程:

一、环境准备(三台虚拟机)

1、关闭防火墙 关闭selinux

systemctl stop firewalld.service
setenforce 0

2、分别修改主机名

hostnamectl set-hostname controller #控制节点
bash
hostnamectl set-hostname compute #计算节点
bash
hostnamectl set-hostname cinder #存储节点
bash

3、修改hosts文件

vim /etc/hosts
192.168.37.128 controller
192.168.37.130 compute
192.168.37.131 cinder

4、节点互通测试

ping -c 4 openstack.org #发送4个包测试官网联通
ping -c 4 compute
ping -c 4 openstack.org #计算节点测试
ping -c 4 controller
ping -c 4 openstack.org #存储节点测试
ping -c 4 controller

5、备份默认yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

6、下载最新yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

7、安装所需openstack软件包

yum install centos-release-openstack-queens -y
yum upgrade -y #更新软件仓库
yum install python-openstackclient -y
yum install openstack-selinux -y

二、配置NTP时钟服务

##controller节点##
1、yum安装chrony软件包

yum install chrony -y

2、修改chrony配置文件

vim /etc/chrony.conf                 #文件开头插入
   server  controller  iburst          #自己为时间源点所有节点向controller节点同步时间
   allow 192.168.37.0/24         #设置时间同步网段

3、开启NTP服务

systemctl enable chronyd
systemctl stop chronyd
systemctl start chronyd
#因chrony服务本身开机自启动,所以需要关闭后重新开启

OpenStack架构----keystone组件(一)

##其他节点配置##
1、yum安装chrony软件包

yum install chrony -y

2、修改chrony配置文件

vim /etc/chrony.conf
   server  controller  iburst                #同步controller

3、开启服务

systemctl stop chronyd
systemctl start chronyd

4、controller上验证时钟同步服务

chronyc sources

三、数据库部署(controller节点)

1、yum安装mariadb

yum install mariadb mariadb-server python2-PyMySQL -y

2、修改mariadb配置文件

vim /etc/my.cnf.d/mariadb-server.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid 
#以下是新增内容
bind-address = 192.168.37.128            #绑定地址controller
default-storage-engine = innodb            #默认存储引擎
innodb_file_per_table = on                     #独立表空间
max_connections = 4096                       #最大连接
collation-server = utf8_general_ci         #字符集设定
character-set-server = utf8

3、开启mariadb服务,设置开启自启动

systemctl enable mariadb.service
systemctl start mariadb.service

OpenStack架构----keystone组件(一)

4、数据库基本设置

mysql_secure_installation
#基本设置,除设置密码为abc123外全部回车

四、rabbitmq服务部署(controller节点)

1、yum安装rabbitmq-server包

yum install rabbitmq-server -y

2、开启rabbitmq服务,设置开启自启动

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

3、重启服务后添加用户及权限

rabbitmqctl add_user openstack 123456 #添加用户
rabbitmqctl set_permissions openstack "." "." ".*"

OpenStack架构----keystone组件(一)

五、memcached服务部署(controller节点)

1、yum安装memcached包

yum install memcached python-memcached -y

2、修改memcached配置文件

vim /etc/sysconfig/memcached

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 192.168.37.128,::1"        #修改监听IP地址

3、开启memcached服务,设置开启自启动

systemctl enable memcached.service
systemctl start memcached.service

六、ETCD服务发现机制部署(controller节点)

1、yum安装etcd包

yum install etcd -y

2、修改etcd配置文件,结果如下:

ETCD_INITIAL_CLUSTER          #开启群集功能:匹配群集中所有url地址(public、admin、internal)
ETCD_INITIAL_ADVERTISE_PEER_URLS
ETCD_ADVERTISE_CLIENT_URLS
ETCD_LISTEN_CLIENT_URLS
[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"               #文件存放位置
ETCD_LISTEN_PEER_URLS="http://192.168.37.128:2380"      #监听群集服务端地址
ETCD_LISTEN_CLIENT_URLS="http://192.168.37.128:2379"    #宣告客户端地址
ETCD_NAME="controller"
[Clustering]                                     #匹配群集地址
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.37.128:2380"   #控制端地址
ETCD_ADVERTISE_CLIENT_URLS="http://192.168.37.128:2379"               #客户端地址
ETCD_INITIAL_CLUSTER="controller=http://192.168.37.128:2380"              #群集名称设定
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"                                     #令牌设定
ETCD_INITIAL_CLUSTER_STATE="new"

OpenStack架构----keystone组件(一)
3、开启etcd服务,设置开机自启动

systemctl enable etcd.service
systemctl start etcd.service

七、keystone认证(controller节点)

1、单独创建数据库keystone,声明用户并授权

mysql -uroot -p #密码abc123
create database keystone;
grant all privileges on keystone. to 'keystone'@'localhost' identified by '123456'; #本地用户授权
grant all privileges on keystone.
to 'keystone'@'%' identified by '123456';
flush privileges; #其他用户授权

2、yum安装软件包

yum install openstack-keystone httpd mod_wsgi -y

3、编辑keystone配置文件

vim /etc/keystone/keystone.conf
[database]
#737行
connection = mysql+pymysql://keystone:123456@controller/keystone

[token]
#2922行
provider = fernet                                 #安全消息传递算法

4、同步数据库

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

5、初始化数据库

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

6、给管理员设置密码,注册三种访问方式

keystone-manage bootstrap --bootstrap-password 123456 \
--bootstrap-admin-url http://controller:35357/v3/ \
--bootstrap-internal-url http://controller:5000/v3/ \
--bootstrap-public-url http://controller:5000/v3/ \
--bootstrap-region-id RegionOne

八、Apache服务部署

1、编辑httpd配置文件

vim /etc/httpd/conf/httpd.conf

ServerName controller

2、建立软连接,使apache识别keystone

ln -s /usr/share/keystone/wsgi-keystone.conf /etc/httpd/conf.d/

3、开启Apache服务,设置开机自启动

systemctl enable httpd.service
systemctl start httpd.service

4、声明环境变量

export OS_USERNAME=admin
export OS_PASSWORD=123456
export OS_PROJECT_NAME=admin
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_AUTH_URL=http://controller:35357/v3
export OS_IDENTITY_API_VERSION=3

OpenStack架构----keystone组件(一)

九、创建demo平台管理

1、创建域Domain

openstack domain create --description "Domain" example

2、创建项目Service Project

openstack project create --domain default --description "Service Project" service

3、创建平台demo项目

openstack project create --domain default --description "Demo Project" demo

4、创建demo用户

openstack user create --domain default --password-prompt demo
#输入密码:123456

5、创建用户角色

openstack role create user

OpenStack架构----keystone组件(一)

6、添加用户角色到demo项目和用户

openstack role add --project demo --user demo user

十、验证keystone的操作

1、取消环境变量

unset OS_AUTH_URL OS_PASSWORD

2、admin用户返回的认证token

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 token issue
#密码:123456

OpenStack架构----keystone组件(一)
3、demo用户返回的认证token

openstack --os-auth-url http://controller:5000/v3 \
--os-project-domain-name Default --os-user-domain-name Default \
--os-project-name demo --os-username demo token issue
#密码:123456

4、创建admin-openrc脚本

vim 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=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

5、创建demo-openrc脚本

vim 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=123456
export OS_AUTH_URL=http://controller:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2

6、使用脚本,返回认证token

source ~/admin-openrc
openstack token issue

OpenStack架构----keystone组件(一)

推荐阅读:
  1. OpenStack stein安装(二)keystone
  2. OpenStack 架构及其优势(一)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

openstack 部署 keystone

上一篇:【数据结构】(面试题)使用两个栈实现一个队列(详细介绍)

下一篇:韦东山第11课第004节:挂接 yaffs2格式根文件系统出

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》