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的唯一架构,我们可以选取自己需要的组件项目,来搭建适合自己的云计算平台。

image_1d7jo3r8q1cl1ep4sksfdr1hv19.png-2060.1kB

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

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

image_1d7jo5dg71f01hil1fkg1fmt1qugm.png-1291kB

概念架构图:

image_1d7jo74731bmd1an31tgerl1ffn13.png-112.6kB

image_1d7jo95111f3n1pedhit1q9e7sc1g.png-288.4kB

image_1d7jo9pdji9tcku20afhpl5j1t.png-53.6kB

逻辑架构图:

image_1d7jobrrk1b7p1eedmgq1ia24m2q.png-392.4kB

image_1d7jocfa61l0815sebap1uvf1rco37.png-1112kB

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

三: openstack的环境初始化

3.1:部署网络

image_1d8l5b7uc1v0hkeur9a1g7v3081k.png-266.9kB

主机网络

image_1d8l5m1o31pnr1pjl12hv1o3o1c0524.png-162.6kB

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

image_1d8l7g4g13ba1hfm17eisli7v72h.png-161.8kB

service chronyd stop 
service chronyd start 
chronyc sources -v 

image_1d8l7p0hcn4l1ucm18ip18ql1nst2u.png-175.2kB

computer1 节点:

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

service chronyd stop 
service chronyd start
chronyc sources -v 

image_1d8l7sheq1ffmlii1dru1aig11q83b.png-108.8kB

image_1d8l7udak1kpe17bqg45gjp1dtt3o.png-120.7kB

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

image_1d8l823eo11lrpcuib31djve6245.png-207.9kB

image_1d8l841mac9118hl115o10tf1mh24i.png-26.3kB

image_1d82k9fmm1ql5pbt2i4794o2a2s.png-116.4kB

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

image_1d8l8ieno3va1mtc1dll10l31pid4v.png-124.5kB

image_1d8l8l56m1t0p9mr1lq1158c13iv6u.png-155.9kB

image_1d8l8nof248v1tvd187o119jmhj7b.png-146kB


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)

image_1d82l25dk5q310g01oj5jsn1epa59.png-175.1kB

image_1d82l2t4p1ncn28d1bkd148i1e1e5m.png-87kB

image_1d82l3jdf15i1me3as2ue5f4u63.png-162.8kB

image_1d82l4ke18gdc7j10u8nb7s426g.png-121kB

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 ".*" ".*" ".*"

image_1d8lbe4ac1hh69c1mkr17fk1knr7u.png-180.3kB

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

image_1d8lbovog1sn71segk511rdk1dvj8b.png-145.8kB

image_1d8lbri0s1o91a4pidd95naqkaa.png-40.3kB

image_1d8lbqi381l7s1abjv01rq1v499e.png-94.7kB

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 控制节点 环境初始化完成 !!!!!!!

image_1d8lc0ifu50hnqq1o4v64dm31c7.png-134.4kB

image_1d8lc3cr71ao51p1d123219721il0ck.png-52.9kB

猜你喜欢

转载自blog.51cto.com/flyfish225/2381179