一、OpenStack服务概况
服务 | 项目名称 | 描述 |
Dashboard | Horizon | 提供了一个基于Web的自服务本户,与OpenStack底层服务交互。 |
Compute | Nova | 在OpenStack环境中计算实例的生命周期管理。按需响应包括生成、调度、回收虚拟机等操作。 |
Networking | Neutron | 确保为其他OpenStack服务提供网络连接,比如OpenStack计算。为用户提供API定义网络和使用。基于插件的架构其支持众多的网络提供商和技术。 |
存储服务 | ||
Object Storage | Swift | 通过一个RESTful基于HTTP的应用程序接口存储和任意检索的非结构化数据对象。它拥有高容错机制,基于数据复制和可扩展架构。它的实现像是一个文件服务器需要挂碍目录。在此种方式下,它写入对象和文件到多个硬盘中,以确保数据是在集群内跨服务器的多份复制 |
Block Storage | cinder | 为运行实例而提供的持久性块存储。它的可插拔驱动架构的功能有助于创建和管理存储设备。 |
共享服务 | ||
Identity service | Keystone | 为其它OpenStack服务提供认证和授权服务,为所有的OpenStack服务提供一个端点目录 |
Image service | Glance | 存储和检索虚拟机磁盘镜像,OpenStack计算会在实例部署时使用此服务 |
Telemetry | Ceilometer | 为OpenStack云的击飞、基准、扩展性以及统计等目的提供检测和计量 |
高层次服务 | ||
Orchestration | Heat服务 | Orchestration服务支持多样化的综合的云应用 |
二、环境
1、安全
OpenStack服务支持各种各样的安全方式,包括密码password、policy和encryption,支持服务包括数据库服务器,且消息broker至少支持password的安全方式。
密码名称 | 描述 |
数据库密码(不能使用变量) | 数据库的root密码 |
ADMIN_PASS | admin 用户密码 |
CEILOMETER_DBPASS | Telemetry 服务的数据库密码 |
CEILOMETER_PASS | Telemetry 服务的 ceilometer 用户密码 |
CINDER_DBPASS | 块设备存储服务的数据库密码 |
CINDER_PASS | 块设备存储服务的 cinder 密码 |
DASH_DBPASS | Database password for the dashboard |
DEMO_PASS | demo 用户的密码 |
GLANCE_DBPASS | 镜像服务的 glance 用户密码 |
HEAT_DBPASS | Orchestration服务的数据库密码 |
HEAT_DOMAIN_PASS | Orchestration 域的密码 |
HEAT_PASS | Orchestration 服务中``heat``用户的密码 |
KEYSTONE_DBPASS | 认证服务的数据库密码 |
NEUTRON_DBPASS | 网络服务的数据库密码 |
NOVA_DBPASS | 计算服务的数据库密码 |
NOVA_PASS | 计算服务中``nova``用户的密码 |
SWIFT_PASS | 对象存储服务用户``swift``的密码 |
2、网络时间协议(ntp)
3、OpenStack包
1)
、启动OpenStack库
# yum install centos-release-openstack-mitaka
2)、在主机上生成包
# yum upgrade
3)、安装OpenStack客户端
# yum install python-openstackclient
4)、Centos默认启用了SELinux,安装openstack-selinux软件包以便自动管理OpenStack服务的安全策略
# yum install openstack-selinux
4、SQL数据库
1)、安装软件包
# yum install mariadb mariadb-server python2-PyMySQL
2)、创建并编辑
/
etc/my.cnf.d/openstack.cnf,然后完成如下动作:
[mysqld]bind-address = 10.0.0.11
b.在`
`[mysqld]
`` 部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集:
[mysqld]default-storage-engine = innodbinnodb_file_per_tablemax_connections = 4096collation-server = utf8_general_cicharacter-set-server = utf8
5、NoSQL数据库
Telemetry服务使用NoSQL数据库来存储信息,典型地,这个数据库运行在控制节点。向导中使用MongoDB
1)、安装MongoDB包:
# yum install mongodb-server mongodb
2)、编辑/etc/mongod.conf并完成如下动作
a.配置bind_ip使用控制节点管理网卡的IP地址
bind_ip = x.x.x.x
6、消息队列(rabbitmq)
1)、安装包
# yum install rabbitmq-server
2)、启动消息队列服务并将其配置为随系统启动
3)、添加openstack用户
# rabbitmqctl add_user openstack RABBIT_PASS
4)、给openstack用户配置读写权限
rabbitmqctl set_permissios openstack
".*" ".*" ".*"
7、Memcached
认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点.
1)、安装软件包
# yum install memcached python-memcached
2)、启动服务并配置开机自启