openstack部署概要

在openstack官方看了部署手册:http://docs.openstack.org/juno/install-guide/install/yum/content/

花了三天时间在公司的刀片上搭了个环境,系统是centos7,部署了controller、compute、network、block storage4个节点,顺利导入windows、linux虚机镜像,这里就把部署中的一些重要步骤罗列供下次使用参考(详细命令参考官网非常详细)

一、Identity service   -------Keystone

 

1.    basic environment

(1)3 node      controller/compute/network

(2)network configure   同一个网段并且修改主机名 

(3)NTP service        确保Node的时间统一

(4)openstack packages   在线安装

(5)mysql database     本地数据库

(6) RabbitMQ          消息队列

2.    identity service   (类似权限系统)

Keystone是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证、令牌的发放和校验、服务列表、用户权限的定义等等。

(1)database access    建立keystone库

(2)install and configure components    安装配置keystone组件

(3)create tenant/user/roles     建立租户/用户/角色

  最后role关联user

Tenant/租户:类似用户组的概念,一个租户可以容纳多个用户

User/用户:用于身份认证,一个用户可以关联多个租户组

Role/角色:关联“用户-租户对”映射关系的元数据

Token/令牌:用于验证上述用户是否合法

Endpoint/断点:服务实例(RRL入口)

(4)create the service entity and api endpoint

 

                             Service –role-tenant-role   关系图


 

 

二、Image Service   -------Glance

(1)create the database

(2)source the admin credential   

(3)create the service credential   (keystone)

(4)create the image service api endpoint

(5)install and configure the image service components

 

API:处理来自compute 和 keystone的请求

Registry:处理镜像的metadata

Store adapter:镜像本身的存储


 

三、Compute Service ------nova(新星)

 The main modules are implemented in Python.

(1)create database

(2) source the admin credential

(3) To create the service credentials  (keystone)

(4) Create the Compute service API endpoints

(5)install and configure compute controller components

a.controller node configure   

1.database access

2.rabbitMQ access

3.keystone_authtoken

4.set controller ip

5. set VNC proxy

6.set glance

7.set troubleshooting

8.populate the compute database;

9Start the Compute services and configure them to start when the system boots

              b.compute node configure

                     1.install the packages

                     2.edit the nova.conf          RabbitMQ/Keystone/Ip/vnc remote access

                     3. Determine supports hardware acceleration for virtual machine

                  If not:  configure libvirt to use QEMU instead of KVM.


 

 

四、networking   ------Neutron

1.configure controller

reate advanced virtual network topologies including services such as firewallsload balancers, and virtual private networks (VPNs)

(1)      create a database, service credentials, and API endpoints.

(2)      Config networking server compenent

(3)      Configure Neutron.conf

(4)      Configure modular layer2 (ML2) 2层模块  “flat,GRE” network type drivers

(5)      Reconfigure compute to manage networks through networking

(6)      Initialization scripts expect a symbolic link plugin.ini and ml2_conf.ini

 

2.install and configure network node

The network node primarily handles internal and external routing and DHCP services for virtual networks.

(1)  config kernel networking parameters

(2)  install the networking components

(3)  configure the networking common components

The Networking common component configuration includes the authentication mechanism(认证机制), message broker(消息代理), and plug-in.

      Neutron.conf

(4)  configure the modular layer2(ML2)plug-in

The ML2 plug-in uses the Open vSwitch (OVS) mechanism (agent) to build the virtual networking framework for instances.

(5)  Configure the layer-3 L3 agent

The layer-3 agrent provides routing services for virtual networks

(6)  Configure the DHCP agent

The dhcp agent provides dhcp services for virtual networks

(7)  Configure the metadata agent

The metadata agent provides configuration information such as credentioals to instacnes

(8)  Verbose:冗长的用于故障排错的服务,基本上所有的服务都要设置

(9)  Configure the open vswitch service

add the external bridge、add port to the external bridge that connects to the physical external network in interface

3.    install and configure compute node

the compute node handles connectivity and security groups for instance

(1)  configure the kenerl networking parameters

(2)  install the networking components

(3)  configure the networking common components

datebase、keystone_authtoken、ML2 plug-in router

(4)  configure the open vswitch ovs service

4.    create initial networks(controller node)

(1)  create external network      network address translation(NAT)

(2)  create subnet on the external network(set floating ip address range,disable dhcp)

(3)  tenant network

create the subnet,  create a router on the tenant network and attach the external

 

五、Horizon  --dashboard

1.    install the dashboard components

(1)  install the packages

(2)  configure the dashboard