Openstack 云计算: Openstack Rocky部署一 : 系统环境初始化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openstack 云计算: Openstack Rocky部署一 : 系统环境初始化相关的知识,希望对你有一定的参考价值。

Openstack 云计算(二): Openstack Rocky部署一 : 系统环境初始化

标签(空格分隔): openstack系列


  • 一: openstack的介绍以及组件
  • 二: openstack的架构
  • 三: openstack的环境初始化

一: openstack的介绍以及组件

1.1: openstack的介绍

OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。
OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。
OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。

1.2:openstack的组件

OpenStack包含了许多组件。有些组件会首先出现在孵化项目中,待成熟以后进入下一个OpenStack发行版的核心服务中。同时也有部分项目是为了更好地支持OpenStack社区和项目开发管理,不包含在发行版代码中,主要组件如下:

Compute (Nova) 计算服务
Identity Service (Keystone) 认证服务
Image Service (Glance) 镜像服务
Networking (Neutron) 网络服务
Dashboard (Horizon) 仪表板
Object Storage (Swift) 对象存储
Block Storage (Cinder) 块存储
Orchestration (Heat) 编排
Telemetry (Ceilometer) 监控
Database Service (Trove) 数据库服务
Data Processing (Sahara) 数据处理

二:Openstack的架构

   OpenStack是由一系列具有RESTful接口的Web服务所实现的,是一系列组件服务集合。如下图为OpenStack的概念架构,我们看到的是一个标准的OpenStack项目组合的架构。这是比较典型的架构,但不代表这是OpenStack的唯一架构,我们可以选取自己需要的组件项目,来搭建适合自己的云计算平台。

技术图片

OpenStack项目并不是单一的服务,其含有子组件,子组件内由模块来实现各自的功能,如下图为OpenStack的逻辑架构。通过消息队列和数据库,各个组件可以相互调用,互相通信。这样的消息传递方式解耦了组件、项目间的依赖关系,所以才能灵活地满足我们实际环境的需要,组合出适合我们的架构。每个项目都有各自的特性,大而全的架构并非适合每一个用户,譬如Glance在最早的A、B版本中并没有实际出现应用,Nova可以脱离镜像服务独立运行。当用户的云计算规模大到需要管理多种镜像时,才需要像Glance这样的组件。OpenStack的成长是在生产环境中不断被检验,然后再将需求反馈给社区,由社区来实现的一个过程,可以说OpenStack并非脱离实际的理想化开源社区项目,而是与生产实际紧密结合的,可以复制应用的云计算方案。

    OpenStack 本身是一个分布式系统,不但各个服务可以分布部署,服务中的组件也可以分布部署。 
这种分布式特性让 OpenStack 具备极大的灵活性、伸缩性和高可用性。

技术图片

概念架构图:

技术图片

技术图片

技术图片

逻辑架构图:

技术图片

技术图片

以上参考:
   http://ken.pepple.info/openstack/2012/09/25/openstack-folsom-architecture/
   https://ilearnstack.com/2013/04/23/introduction-to-openstack-2/

三: openstack的环境初始化

3.1:部署网络

技术图片

主机网络

技术图片

3.2: 环境初始化

主机名配置
10.0.0.11   controller
10.0.0.31   computer1
10.0.0.41   block1
10.0.0.51   object1
10.0.0.52   object2
controller 节点 
两张网卡: 
   ens33: 10.0.0.11 用作内部通讯
   ens37: 172.17.100.6  用作上网网卡

computer1 节点 (上网下包用 10.0.0.11)
   两张网卡:
   ens33: 10.0.0.31  网关指向 10.0.0.11.
   ens37: dhcp 自动获得 

block1节点
   一张网卡: 
     ens33: 10.0.0.41   网关指向 10.0.0.11

object1      
     一张网卡:
     ens33:10.0.0.51  网关指向 10.0.0.11

object2 
      一张网卡:
      ens33:10.0.0.52 网关指向 10.0.0.11

3.3: 配置chronyd时间服务器


配置好时间同步服务器chronyd 
controller 节点: 同步 ntp1.aliyun.com
其它节点同步 controller 
所用节点执行命令:
timedatectl set-timezone Asia/Shanghai
使用 上海时间
----

vim /etc/chronyd.conf

技术图片

service chronyd stop 
service chronyd start 
chronyc sources -v 

技术图片

computer1 节点:

vim /etc/chronyd.conf
--
server controller iburst
--

service chronyd stop 
service chronyd start
chronyc sources -v 

技术图片

技术图片

3.4 配置controller 节点的路由转发

在 controller 配置好ip路由地址转发

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source  172.17.100.6

service iptables save 

vim /etc/sysctl.conf 

net.ipv4.ip_forward = 1

sysctl -p

技术图片

技术图片

技术图片

3.5 配置节点的openstack rocky的yum 源

所有节点配置openstack rocky 的 yum 源
yum install epel*
yum install centos-release-openstack-rocky
yum install https://rdoproject.org/repos/rdo-release.rpm
yum upgrade
yum install python-openstackclient openstack-selinux -y

技术图片

技术图片

技术图片


3.6 controller 节点 准备mariadb数据库

controller 节点准备mariadb 数据库

yum install mariadb mariadb-server mysql-python python2-PyMySQL -y

vim  /etc/my.cnf.d/openstack.cnf
----
[mysqld]
bind-address = 0.0.0.0
default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
init-connect = ‘SET NAMES utf8‘
----
service mariadb start

chkconfig mariadb on 

mysql_secure_installation
       ----(设置mariadb 的 root密码为 flyfish225)

技术图片

技术图片

技术图片

技术图片

3.7 controller 节点准备 消息队列 rabbitmq-server

 yum install rabbitmq-server
 systemctl enable rabbitmq-server.service
 systemctl start rabbitmq-server.service
 rabbitmqctl add_user openstack openstack
 rabbitmqctl set_permissions openstack ".*" ".*" ".*"

技术图片

3.8 controller 节点 准备 Memcached

yum install memcached python-memcached

vim /etc/sysconfig/memcached
---
OPTIONS="-l 127.0.0.1,::1,controller"
---

systemctl enable memcached.service
systemctl start memcached.service

技术图片

技术图片

技术图片

3.9 控制节点准备ETCD 服务器

yum install etcd
---
#[Member]
ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://10.0.0.11:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_NAME="controller"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.0.11:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.0.11:2379"
ETCD_INITIAL_CLUSTER="controller=http://10.0.0.11:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER_STATE="new"
---

systemctl enable etcd
systemctl start etcd

至此 openstack rocky 控制节点 环境初始化完成 !!!!!!!

技术图片

技术图片

以上是关于Openstack 云计算: Openstack Rocky部署一 : 系统环境初始化的主要内容,如果未能解决你的问题,请参考以下文章

云计算之OpenStack概述

openstack成长之旅 - 1 云计算及openstack介绍

云计算与 OpenStack - 每天5分钟玩转 OpenStack(14)

Openstack 云计算: Openstack Rocky部署一 : 系统环境初始化

openstack云计算:Openstack rocky 部署三 nova计算节点部署

开源云平台“Openstack”