标签(空格分隔): openstack系列前端
- 一: openstack的介绍以及组件
- 二: openstack的架构
- 三: openstack的环境初始化
OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合做研发并发起的,以Apache许可证受权的自由软件和开放源代码项目。 OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工做。OpenStack支持几乎全部类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack经过各类互补的服务提供了基础设施即服务(IaaS)的解决方案,每一个服务提供API以进行集成。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与我的都将OpenStack做为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文但愿经过提供必要的指导信息,帮助你们利用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是由一系列具备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/
主机名配置 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
配置好时间同步服务器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
在 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
全部节点配置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
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)
yum install rabbitmq-server systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service rabbitmqctl add_user openstack openstack rabbitmqctl set_permissions openstack ".*" ".*" ".*"
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
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 控制节点 环境初始化完成 !!!!!!!