openstack云平台

bian@TOC

一、openstack简介

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

openstack是一个云平台管理的项目,它不是一个软件。也就是说我们可以使用openstack来管理我们一个数据中心大量资源池。它里面包含了很多子项目。

二、基本搭建

官方文档:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/environment.html

1、控制节点环境配置

1.主机网络

我们此处配置的是双网卡:第一块网卡正常桥接、第二块网卡用于虚拟机之间的通信

参考官方文档:gogogo
step1:配置网络接口

[root@server1 ~]# cd /etc/sysconfig/network-scripts/
[root@server1 network-scripts]# cp ifcfg-eth0 ifcfg-eth1
[root@server1 network-scripts]# vim ifcfg-eth1
[root@controller network-scripts]# cat ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none

[root@server1 network-scripts]# ifup eth1

step2:配置域名解析
设置节点主机名为 controller。

编辑 /etc/hosts 文件包含以下内容:
在这里插入图片描述

[root@server1 network-scripts]# hostnamectl set-hostname controller
[root@server1 network-scripts]# logout 
Connection to 172.25.254.1 closed.
[westos@westos_student50 Desktop]$ ssh root@172.25.254.1
root@172.25.254.1's password: 
[root@controller ~]# 

2.网络时间协议文档(同步时间)**

官方文档:网络时间协议文档
在这里插入图片描述

[root@controller ~]# yum install chrony
[root@controller ~]# vim /etc/chrony.conf 
server 172.25.254.50 iburst  同步主机时间

[root@controller ~]# systemctl start chronyd
[root@controller ~]# systemctl is-enabled chronyd  ##该服务默认开机自启
enabled

[root@controller ~]#  chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^? westos_student50.westos.>     0   8     0     -     +0ns[   +0ns] +/-    0ns
[root@controller ~]# date
Mon Apr 11 16:44:18 CST 2022  

顺便再提一嘴:只要涉及到集群,注意两点 一点是时间,(比如证书生效的时间、数据备份的时间)一点是解析!

3.OpenStack包**

在真机上操作:把mitaka解压到apache的发布目录下:

[root@westos_student50 media]# mkdir /var/www/html/openstack
[root@westos_student50 media]# tar xf mitaka.tar -C /var/www/html/openstack

虚拟机上操作:设置网络仓库

[root@controller ~]# cd /etc/yum.repos.d/
[root@controller yum.repos.d]# ls
dvd.repo  redhat.repo
[root@controller yum.repos.d]# vim openstack.repo
[root@controller yum.repos.d]# cat openstack.repo 
[openstack]
name=mitaka
baseurl=http://172.25.254.50/openstack/mitaka  ##设置完检查一下该地址是否能访问到(下图显示没问题)
gpgcheck=0

在这里插入图片描述加粗样式
接下来 完成安装:

(1)升级包:

[root@controller yum.repos.d]# yum upgrade

(2)安装 OpenStack 客户端

yum install python-openstackclient

4.SQL数据库**

参考文档:SQL数据库的配置

安全并配置组件

(1)安装软件包:

yum install mariadb mariadb-server python2-PyMySQL -y

(2)创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作:

[root@controller yum.repos.d]# vim /etc/my.cnf.d/openstack.cnf
[root@controller yum.repos.d]# cat /etc/my.cnf.d/openstack.cnf
[mysqld]
bind-address = 172.25.254.1  ##该值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库:
default-storage-engine = innodb
innodb_file_per_table
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

(3)启动数据库服务,并将其配置为开机自启:

systemctl enable --now mariadb.service

(4)为了保证数据库服务的安全性,运行mysql_secure_installation脚本。特别需要说明的是,为数据库的root用户设置一个适当的密码。

 mysql_secure_installation 

在这里插入图片描述

5.消息队列**

消息队列:它主要用来暂存生产者生产的消息,供后续其他消费者来消费。

(1)安装包

 yum install rabbitmq-server

(2)启动消息队列服务并设置开机自启

systemctl enable --now rabbitmq-server.service

该服务监听的端口是25672
在这里插入图片描述

(3)添加 openstack 用户

rabbitmqctl add_user openstack openstack  ## 为方便操作 设置密码和用户都为一串字符

(4)给openstack用户配置写和读权限:

rabbitmqctl set_permissions openstack ".*" ".*" ".*"

查看上述读写权限的划分:

[root@controller yum.repos.d]# rabbitmq-plugins list
[root@controller yum.repos.d]# rabbitmq-plugins enable rabbitmq_management 

在这里插入图片描述
在这里插入图片描述
下图展示了openstack用户的权限:
在这里插入图片描述

6.Memcached**

(1)安装软件包并设置开机自启

yum install memcached python-memcached -
systemctl enable --now memcached.service

(2)编辑/etc/sysconfig/memcached

在这里插入代码片

下面是原先的内容:
在这里插入图片描述
修改后的内容:
在这里插入图片描述

systemctl restart memcached.service

在这里插入图片描述

三、认证服务(keystone)

1.浅识keystone

对于keystone的基本知识,可以参考这里,keystone详解

keystone是OpenStack的核⼼组件之⼀,为OpenStack⼤家族中的其他组件提供统⼀的⾝份认证服务,包括⾝份认证、令牌发放和校验服务列表、定义⽤户权限等。OpenStack中所有服务的授权和认证都需要经过keystone,因此keystone是OpenStack中第⼀个需要安装的核⼼组件。

keystone的具体功能如下:
管理⽤户及其权
限维护各种服务的endpoint
认证和鉴权

2.先决条件

(1)根据下列步骤创建数据库

[root@controller yum.repos.d]# mysql -p ##用数据库连接客户端以 root 用户连接到数据库服务器

## 创建用户 对``keystone``数据库授予恰当的权限,使本地和远程都可以连接数据库 (注意密码规范 做一个记录表 别到最后忘了密码)
MariaDB [(none)]> CREATE DATABASE keystone;
Query OK, 1 row affected (0.00 sec)

## 将keystone数据库的所有权限授予本地用户keystone,登陆密码是keystone
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
    ->   IDENTIFIED BY 'keystone';  
Query OK, 0 rows affected (0.00 sec)

## 将keystone数据库的所有权限授予远程用户keystone,登陆密码是keystone
MariaDB [(none)]> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
    ->   IDENTIFIED BY 'keystone';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> bye  #退出数据库客户端。

(2)生成一个随机值在初始的配置中作为管理员的令牌。

 o
  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值