Chinaunix首页 | 论坛 | 博客
  • 博客访问: 484150
  • 博文数量: 158
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 904
  • 用 户 组: 普通用户
  • 注册时间: 2016-10-10 11:17
文章分类

全部博文(158)

文章存档

2018年(74)

2017年(84)

我的朋友

分类: 高性能计算

2018-08-08 10:51:45

一、实验环境 
centos7.2 
控制节点: hostname; controller 
ip:172.25.6.2 
需要大内存,最小4G左右。 培训机构-学领未来
计算节点:hostname:server2 
ip : 172.25.6.1 
内存可小点,1G左右即可。 
二、配置两个节点。 
1.添加网卡 
2.编写 /etc/sysconfig/network-scripts/ifcfg-eth1 
这里写图片描述 
3.启动eth1网卡。 
ifup eth1 
这里写图片描述
4.时间同步 
yum install -y chrony 
vim /etc/chrony.conf 
这里写图片描述
5.启动chronyd服务。 
systemctl enable chronyd 
systemctl start chronyd 
6.检测时间是否同步 
chronyc sources -v 
这里写图片描述
7.编写/etc/hosts 文件,配置解析。 
这里写图片描述 
8.配置yum源。 
将安装openstack所需的安装包,下载在/root/mitaka 目录中 
这里写图片描述 
9.yum源更新 
yum update 
这里写图片描述 
以下操作在控制节点。 
一、安装 OpenStack 客户端 
yum install -y python-openstackclient 
二、安装配置数据库 
大多数 OpenStack 服务使用 SQL 数据库来存储信息。 典型地,数据库运行在控制节点上。 
1.安装数据库。 
yum install mariadb mariadb-server python2-PyMySQL -y 
2.创建并编辑 /etc/my.cnf.d/openstack.cnf,然后完成如下动作: 
在 [mysqld] 部分,设置 bind-address值为控制节点的管理网络IP地址以使得其它节点可以通过管理网络访问数据库,在[mysqld] 部分,设置如下键值来启用一起有用的选项和 UTF-8 字符集. 
这里写图片描述 
3.启动数据库服务,并将其配置为开机自启 
systemctl enable mariadb 
systemctl start mariadb 
4.为了保证数据库服务的安全性,运行mysql_secure_installation脚本。为数据库的root用户设置一个适当的密码。 
这里写图片描述
5、登陆数据库,创建数据库。 
1.在配置 OpenStack 身份认证服务前。 
创建 keystone 数据库。CREATE DATABASE keystone; 
对keystone数据库授予恰当的权限 
这里写图片描述
2.创建 glance 数据库:CREATE DATABASE glance; 
对glance数据库授予恰当的权限: 
这里写图片描述
3.创建 nova_api 和 nova 数据库,对数据库进行正确的授权. 
这里写图片描述
4.创配置OpenStack网络(neutron)服务之前,你必须为其创建一个数据库,建 neutron 数据库,允许 neutron 数据库合适的访问权限。 
这里写图片描述
5.安装和配置块存储服务之前,你必须创建数据库,创建 cinder 数据库,允许 cinder数据库合适的访问权限 
这里写图片描述
OpenStack 使用 message queue 协调操作和各服务的状态信息。消息队列服务一般运行在控制节点上。OpenStack支持好几种消息队列服务包括 RabbitMQ, Qpid, 和 ZeroMQ。不过,大多数发行版本的OpenStack包支持特定的消息队列服务 
三、安装 RabbitMQ 消息队列服务 
1.安装rabbit-server 
yum install rabbitmq-server -y

2.启动消息队列服务并将其配置为随系统启动 
这里写图片描述
3.添加 openstack 用户 
这里写图片描述 
4.给openstack用户配置写和读权限 
这里写图片描述
5.打开rabbitmq消息队列管理器 
rabbitmq-plugins enable rabbitmq_management 
这里写图片描述
6.过滤5672端口查看是否已打开。 
这里写图片描述
7.在浏览器上访问172.25.6.2:15672打开rabbitmq图形管理器。 
这里写图片描述 
登陆:用户,密码:guest 
查看openstack用户是否创建成功及其权限。 
这里写图片描述 
这里写图片描述 
四、memcache安装与配置。 
认证服务认证缓存使用Memcached缓存令牌。缓存服务memecached运行在控制节点。在生产部署中,我们推荐联合启用防火墙、认证和加密保证它的安全。 
1.安装软件包 
yum install memcached python-memcached -y 
2.启动Memcached服务,并且配置它随机启动 
这里写图片描述
3.更改memcache配置文件 /etc/sysconfig/memcache 
这里写图片描述 
4.重新启动Memcached服务,查看memcache的服务端口。 
这里写图片描述
五、认证服务的配置。 
1.生成一个随机值在初始的配置中作为管理员的令牌 
openssl rand -hex 10 
这里写图片描述 
使用带有mod_wsgi的Apache HTTP服务器来服务认证服务请求,端口为5000和35357 
2.安装openstack-keystone httpd mod_wsgi 
yum install -y openstack-keystone httpd mod_wsgi 
3.编辑文件 /etc/keystone/keystone.conf 并完成如下动作:

在``[DEFAULT]``部分,定义初始管理令牌的值: 
	
  • 1
  • 2

这里写图片描述 
在 [database] 部分,配置数据库访问: 
这里写图片描述 
在[token]部分,配置Fernet UUID令牌的提供者。 
这里写图片描述 
4.初始化身份认证服务的数据库 
su -s /bin/sh -c “keystone-manage db_sync” keystone 
5.初始化Fernet keys: 
keystone-manage fernet_setup –keystone-user keystone –keystone-group keystone 
六、配置 Apache HTTP 服务器 
1.编辑/etc/httpd/conf/httpd.conf 文件,配置ServerName 选项为控制节点: 
这里写图片描述 
2.用下面的内容创建文件 /etc/httpd/conf.d/wsgi-keystone.conf

Listen 5000
Listen 35357


    WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-public
    WSGIScriptAlias / /usr/bin/keystone-wsgi-public
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    
        Require all granted
    



    WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
    WSGIProcessGroup keystone-admin
    WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    ErrorLogFormat "%{cu}t %M"
    ErrorLog /var/log/httpd/keystone-error.log
    CustomLog /var/log/httpd/keystone-access.log combined

    
        Require all granted
    

	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

3.启动 Apache HTTP 服务并配置其随系统启动: 
systemctl enable httpd.service 
systemctl start httpd.service 
4.查看5000,35357端口是否开启。 
这里写图片描述 
七、创建服务实体和API端点 
身份认证服务提供服务的目录和他们的位置。每个你添加到OpenStack环境中的服务在目录中需要一个 service 实体和一些 API endpoints 。 
默认情况下,身份认证服务数据库不包含支持传统认证和目录服务的信息。你必须使用keystone-install 章节中,用命令openssl rand -hex 10为身份认证服务创建的临时身份验证令牌用来初始化的服务实体和API端点。 
你必须使用–os-token参数将认证令牌的值传递给openstack 命令。类似的,你必须使用–os-url 参数将身份认证服务的 URL传递给 openstack 命令或者设置OS_URL环境变量. 
1.配置认证令牌 
export OS_TOKEN=ADMIN_TOKEN 
将ADMIN_TOKEN替换为你在 keystone-install章节中生成的认证令牌. 
export OS_TOKEN=038f89801f2403ff0980 
2.配置端点URL: 
export OS_URL=
3.配置认证 API 版本 
export OS_IDENTITY_API_VERSION=3 
在你的Openstack环境中,认证服务管理服务目录。服务使用这个目录来决定您的环境中可用的服务 
4.创建服务实体和身份认证服务 
这里写图片描述 
5.身份认证服务管理了一个与您环境相关的 API 端点的目录。服务使用这个目录来决定如何与您环境中的其他服务进行通信。 
OpenStack使用三个API端点变种代表每种服务:admin,internal和public。默认情况下,管理API端点允许修改用户和租户而公共和内部APIs不允许这些操作。在生产环境中,处于安全原因,变种为了服务不同类型的用户可能驻留在单独的网络上。对实例而言,公共API网络为了让顾客管理他们自己的云在互联网上是可见的。管理API网络在管理云基础设施的组织中操作也是有所限制的。内部API网络可能会被限制在包含OpenStack服务的主机上。此外,OpenStack支持可伸缩性的多区域。

创建认证服务的 API 端点: 
这里写图片描述 
这里写图片描述
这里写图片描述 
八、创建域、项目、用户和角色 
1.创建域default: 
openstack domain create –description “Default Domain” default 
这里写图片描述
2.在你的环境中,为进行管理操作,创建管理的项目、用户和角色 
。创建 admin 项目: 
openstack project create –domain default –description “Admin Project” admin 
这里写图片描述 
。创建 admin 用户: 
openstack user create –domain default –password-prompt admin 
这里写图片描述 
。创建 admin 角色: 
openstack role create admin 
这里写图片描述 
。添加admin 角色到 admin 项目和用户上 
openstack role add –project admin –user admin admin 
3.创建service项目: 
openstack project create –domain default –description “Service Project” service 
这里写图片描述 
4.创建 demo 项目和用户 
。创建demo 项目: 
openstack project create –domain default –description “Demo Project” demo 
这里写图片描述
。创建demo 用户: 
openstack user create –domain default –password-prompt demo 
这里写图片描述 
。创建 user 角色: 
openstack role create user 
这里写图片描述 
。 添加 user角色到demo 项目和用户: 
openstack role add –project demo –user demo user 
九、验证认证服务。* 
在安装其他服务之前确认身份认证服务的操作。 
1.重置OS_TOKEN和OS_URL 环境变量: 
unset OS_TOKEN OS_URL 
2.作为 admin 用户,请求认证令牌: 
openstack –os-auth-url  –os-project-domain-name default –os-user-domain-name default –os-project-name admin –os-username admin token issue 
这里写图片描述 
3.作为demo 用户,请求认证令牌: 
openstack –os-auth-url  –os-project-domain-name default –os-user-domain-name default –os-project-name demo –os-username demo token issue 
这里写图片描述 
十、创建 OpenStack 客户端环境脚本 
创建 admin 和 demo 项目和用户创建客户端环境变量脚本,接下来的部分会引用这些脚本,为客户端操作加载合适的的凭证。 
1.编辑文件 admin-openrc 并添加如下内容 
这里写图片描述 
2.编辑文件 demo-openrc 并添加如下内容

export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=demo
export OS_USERNAME=demo
export OS_PASSWORD=demo
export OS_AUTH_URL=
export OS_IDENTITY_API_VERSION=3
export OS_IMAGE_API_VERSION=2
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

使用脚本 
使用特定租户和用户运行客户端,你可以在运行之前简单地加载相关客户端脚本. 
1. source admin-openrc 
2. 列出用户:openstack user list 
这里写图片描述 
3.列出service项目:openstack service list 
这里写图片描述 
4. openstack project list 
这里写图片描述 
4.列出已创建的role: openstack role list 
这里写图片描述 
5.openstack endpoint list 
这里写图片描述 
十一、镜像服务 
镜像服务 (glance) 允许用户发现、注册和获取虚拟机镜像。它提供了一个 REST API,允许您查询虚拟机镜像的 metadata 并获取一个现存的镜像。您可以将虚拟机镜像存储到各种位置,从简单的文件系统到对象存储系统—-例如 OpenStack 对象存储, 并通过镜像服务使用。 
一、安装和配置镜像服务之前,你必须创建服务凭证和API端点。 
1.创建服务凭证 
。获得 admin 凭证来获取只有管理员能执行的命令的访问权限:

source admin-openrc
	
  • 1

。创建 glance 用户:

openstack user create --domain default --password-prompt glance
	
  • 1

这里写图片描述
。添加 admin 角色到 glance 用户和 service 项目上。

openstack role add --project service --user glance admin
	
  • 1

。创建glance服务实体

openstack service create --name glance  --description "OpenStack Image" image
	
  • 1

这里写图片描述

2.创建镜像服务的 API 端点:

openstack endpoint create --region RegionOne image public 
	
  • 1

这里写图片描述

openstack endpoint create --region RegionOne image public 
	
  • 1

这里写图片描述

openstack endpoint create --region RegionOne image admin 
	
  • 1

这里写图片描述

二、安全并配置组件 
1.安装软件包 
yum install -y openstack-glance 
2.编辑文件 /etc/glance/glance-api.conf 并完成如下动作: 
。在 [database] 部分,配置数据库访问 
这里写图片描述 
。在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问 
这里写图片描述 
这里写图片描述 
。在 [glance_store] 部分,配置本地文件系统存储和镜像文件位置 
这里写图片描述 
3.编辑文件 /etc/glance/glance-registry.conf并完成如下动作: 
。在 [database] 部分,配置数据库访问: 
这里写图片描述 
。在 [keystone_authtoken] 和 [paste_deploy] 部分,配置认证服务访问: 
这里写图片描述 
这里写图片描述 
4.写入镜像服务数据库: 
su -s /bin/sh -c “glance-manage db_sync” glance 
这里写图片描述
5.启动镜像服务、配置他们随机启动 
systemctl enable openstack-glance-api.service openstack-glance-registry.service 
systemctl start openstack-glance-api.service openstack-glance-registry.service 
这里写图片描述 
三、验证操作 
1.获得 admin 凭证来获取只有管理员能执行的命令的访问权限:source admin-openrc 
2.下载源镜像:

wget 
	
  • 1

3.使用 QCOW2 磁盘格式, bare 容器格式上传镜像到镜像服务并设置公共可见,这样所有的项目都可以访问它:

openstack image create "cirros" \
  --file cirros-0.3.4-x86_64-disk.img \
  --disk-format qcow2 --container-format bare \
  --public
	
  • 1
  • 2
  • 3
  • 4

这里写图片描述
4.确认镜像的上传并验证属性:openstack image list 
这里写图片描述 
十二、计算服务 
安装与配置控制节点 
在安装和配置 Compute 服务前,你必须创建服务证书以及 服务API 端点。 
一、创建服务证书 
1.获得 admin 凭证来获取只有管理员能执行的命令的访问权限: source admin-openrc 
2.创建 nova 用户

openstack user create --domain default   --password-prompt nova
	
  • 1

这里写图片描述 
3.给 nova 用户添加 admin 角色:

openstack role add --project service --user nova admin
	
  • 1

4.创建 nova 服务实体:

openstack service create --name nova  --description "OpenStack Compute" compute
	
  • 1

这里写图片描述 
二、创建 Compute 服务 API 端点

openstack endpoint create --region RegionOne \
  compute public %\(tenant_id\)s
	
  • 1
  • 2

这里写图片描述

openstack endpoint create --region RegionOne \
  compute internal %\(tenant_id\)s
	
  • 1
  • 2

这里写图片描述

openstack endpoint create --region RegionOne \
  compute admin %\(tenant_id\)s
	
  • 1
  • 2

这里写图片描述

三、安装并配置组件 
1.安装软件

yum install -y openstack-nova-api openstack-nova-conductor \
  openstack-nova-console openstack-nova-novncproxy \
  openstack-nova-scheduler
	
  • 1
  • 2
  • 3

2.编辑/etc/nova/nova.conf文件并完成下面的操作: 
。在[DEFAULT]部分,只启用计算和元数据API,配置 “RabbitMQ” 消息队列访问,配置认证服务访问: 
这里写图片描述 
。在[api_database]和[database]部分,配置数据库的连接: 
这里写图片描述 
这里写图片描述 
。在“[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列访问: 
这里写图片描述 
。在 “[keystone_authtoken]” 部分,配置认证服务访问: 
这里写图片描述 
。在 [DEFAULT] 部分,使用 Networking 服务

[DEFAULT]
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
	
  • 1
  • 2
  • 3

。在[vnc]部分,配置VNC代理使用控制节点的管理接口IP地址 : 
这里写图片描述 
。在 [glance] 区域,配置镜像服务 API 的位置: 
这里写图片描述 
。在 [oslo_concurrency] 部分,配置锁路径: 
这里写图片描述 
3.同步Compute 数据库:

su -s /bin/sh -c "nova-manage api_db sync" nova
su -s /bin/sh -c "nova-manage db sync" nova
	
  • 1
  • 2

四、完成安装,启动 Compute 服务并将其设置为随系统启动:

systemctl enable openstack-nova-api.service 
  openstack-nova-consoleauth.service openstack-nova-scheduler.service 
  openstack-nova-conductor.service openstack-nova-novncproxy.service
systemctl start openstack-nova-api.service 
  openstack-nova-consoleauth.service openstack-nova-scheduler.service 
  openstack-nova-conductor.service openstack-nova-novncproxy.service
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

安装与配置计算节点 
一、安装并配置组件 
1.安装软件 
yum install -y openstack-nova-compute 
2.编辑/etc/nova/nova.conf文件并完成下面的操作: 
。在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置RabbitMQ消息队列的连接:

[DEFAULT]
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = 172.25.6.2
rabbit_userid = openstack
rabbit_password = openstack
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

。在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:

[DEFAULT]
auth_strategy = keystone

[keystone_authtoken]
auth_uri = 
auth_url = 
memcached_servers = 172.25.6.2:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = nova
password = nova
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

。在 [DEFAULT] 部分,使用 Networking 服务:

[DEFAULT]
use_neutron = True
firewall_driver = nova.virt.firewall.NoopFirewallDriver
	
  • 1
  • 2
  • 3

。在[vnc]部分,启用并配置远程控制台访问:

[vnc]
enabled = True
vncserver_listen = 0.0.0.0
vncserver_proxyclient_address = 172.25.6.2
novncproxy_base_url = 
	
  • 1
  • 2
  • 3
  • 4
  • 5

。在 [glance] 区域,配置镜像服务 API 的位置:

[glance]
api_servers = 
	
  • 1
  • 2

。在 [oslo_concurrency] 部分,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/nova/tmp
	
  • 1
  • 2

。在 [libvirt] 区域做出如下的编辑

[libvirt]
virt_type = qemu
	
  • 1
  • 2

二、完成安装,启动计算服务及其依赖,并将其配置为随系统自动启动:

systemctl enable libvirtd.service openstack-nova-compute.service
systemctl start libvirtd.service openstack-nova-compute.service
	
  • 1
  • 2

验证操作 
1.获得 admin 凭证来获取只有管理员能执行的命令的访问权限:source admin-openrc 
2.列出服务组件,以验证是否成功启动并注册了每个进程:

openstack compute service list
	
  • 1

这里写图片描述
Networking 服务 
安装并配置控制节点 
一、创建服务凭证 
1.获得 admin 凭证来获取只有管理员能执行的命令的访问权限 
source admin-openrc 
2.创建neutron用户:

openstack user create --domain default --password-prompt neutron
	
  • 1

这里写图片描述
3.添加admin 角色到neutron 用户:

openstack role add --project service --user neutron admin
	
  • 1

4.创建neutron服务实体:

openstack service create --name neutron  --description "OpenStack Networking" network
	
  • 1

这里写图片描述 
二、创建网络服务API端点。

openstack endpoint create --region RegionOne  network public 
	
  • 1

这里写图片描述

openstack endpoint create --region RegionOne  network internal 
	
  • 1

这里写图片描述

openstack endpoint create --region RegionOne  network admin 
	
  • 1

这里写图片描述
三、安装并配置网络组件 
1.安装组件

yum install -y openstack-neutron openstack-neutron-ml2  openstack-neutron-linuxbridge ebtables
	
  • 1

2.配置服务组件 
Networking 服务器组件的配置包括数据库、认证机制、消息队列、拓扑变化通知和插件. 
编辑/etc/neutron/neutron.conf 文件并完成如下操作: 
。在 [database] 部分,配置数据库访问:

[database]
connection = mysql+pymysql://neutron:neutron@172.25.6.2/neutron
	
  • 1
  • 2

。在[DEFAULT]部分,启用ML2插件并禁用其他插件:

[DEFAULT]
core_plugin = ml2
service_plugins =
	
  • 1
  • 2
  • 3

。在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接

[DEFAULT]
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = openstack
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

。在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:

[DEFAULT]
auth_strategy = keystone

[keystone_authtoken]
auth_uri = 
auth_url = 
memcached_servers = 172.25.6.2:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

。在[DEFAULT]和[nova]部分,配置网络服务来通知计算节点的网络拓扑变化:

[DEFAULT]
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True

[nova]
auth_url = 
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = nova
password = nova
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

。在 [oslo_concurrency] 部分,配置锁路径:

oslo_concurrency]
lock_path = /var/lib/neutron/tmp
	
  • 1
  • 2

3.配置 Modular Layer 2 (ML2) 插件 
ML2插件使用Linuxbridge机制来为实例创建layer-2虚拟网络基础设施 
编辑/etc/neutron/plugins/ml2/ml2_conf.ini文件并完成以下操作: 
。在[ml2]部分,启用flat和VLAN网络:

[ml2]
type_drivers = flat,vlan
	
  • 1
  • 2

。在[ml2]部分,禁用私有网络:

[ml2]
tenant_network_types =
	
  • 1
  • 2

。在[ml2]部分,启用Linuxbridge机制:

[ml2]
mechanism_drivers = linuxbridge
	
  • 1
  • 2

。在[ml2] 部分,启用端口安全扩展驱动:

[ml2]
extension_drivers = port_security
	
  • 1
  • 2

。在[ml2_type_flat]部分,配置公共虚拟网络为flat网络

[ml2_type_flat]
flat_networks = provider
	
  • 1
  • 2

。在 [securitygroup]部分,启用 ipset 增加安全组规则的高效性:

[securitygroup]
enable_ipset = True
	
  • 1
  • 2

4.配置Linuxbridge代理 
Linuxbridge代理为实例建立layer-2虚拟网络并且处理安全组规则。 
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作: 
。在[linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:

[linux_bridge]
physical_interface_mappings = provider:eth0
	
  • 1
  • 2

eth0为为底层的物理公共网络接口。 
。在[vxlan]部分,禁止VXLAN覆盖网络:

[vxlan]
enable_vxlan = False
	
  • 1
  • 2

。在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver:

securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
	
  • 1
  • 2
  • 3

5.配置DHCP代理 
编辑/etc/neutron/dhcp_agent.ini文件并完成下面的操作: 
。在[DEFAULT]部分,配置Linuxbridge驱动接口,DHCP驱动并启用隔离元数据,这样在公共网络上的实例就可以通过网络来访问元数据

[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
	
  • 1
  • 2
  • 3
  • 4

四、配置元数据代理 
编辑/etc/neutron/metadata_agent.ini文件并完成以下操作: 
。在[DEFAULT] 部分,配置元数据主机以及共享密码

[DEFAULT]
nova_metadata_ip = 172.25.6.2
metadata_proxy_shared_secret = westos
	
  • 1
  • 2
  • 3

四、为计算节点配置网络服务 
编辑/etc/nova/nova.conf文件并完成以下操作: 
。在[neutron]部分,配置访问参数,启用元数据代理并设置密码:

[neutron]
url = 
auth_url = 
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron

service_metadata_proxy = True
metadata_proxy_shared_secret = westos
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

五、完成安装 
1.网络服务初始化脚本需要一个超链接 /etc/neutron/plugin.ini 指向ML2插件配置文件/etc/neutron/plugins/ml2/ml2_conf.ini。如果超链接不存在,使用下面的命令创建它:

ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
	
  • 1

2.同步数据库:

su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
	
  • 1

这里写图片描述
3.重启计算API 服务:

systemctl restart openstack-nova-api.service
	
  • 1

4.当系统启动时,启动 Networking 服务并配置它启动。

systemctl enable neutron-server.service 
  neutron-linuxbridge-agent.service neutron-dhcp-agent.service 
  neutron-metadata-agent.service
systemctl start neutron-server.service 
  neutron-linuxbridge-agent.service neutron-dhcp-agent.service 
  neutron-metadata-agent.service
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

这里写图片描述
安装和配置计算节点 
一、安装组件

yum install -y openstack-neutron-linuxbridge ebtables ipset
	
  • 1

二、配置通用组件 
Networking 通用组件的配置包括认证机制、消息队列和插件。 
编辑/etc/neutron/neutron.conf 文件并完成如下操作: 
。在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息队列的连接:

[DEFAULT]
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = 172.25.6.2
rabbit_userid = openstack
rabbit_password = openstack
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

。在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置认证服务访问:

[DEFAULT]
auth_strategy = keystone

[keystone_authtoken]
auth_uri = 
auth_url = 
memcached_servers = 172.25.6.2:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = neutron
password = neutron
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

。在 [oslo_concurrency] 部分,配置锁路径:

[oslo_concurrency]
lock_path = /var/lib/neutron/tmp
	
  • 1
  • 2

三、在计算节点上配置网络组件 
1.配置Linuxbridge代理 
编辑/etc/neutron/plugins/ml2/linuxbridge_agent.ini文件并且完成以下操作: 
。在 [linux_bridge]部分,将公共虚拟网络和公共物理网络接口对应起来:

[linux_bridge]
physical_interface_mappings = provider:eth0
	
  • 1
  • 2

。在[vxlan]部分,禁止VXLAN覆盖网络:

[vxlan]
enable_vxlan = False
	
  • 1
  • 2

。在 [securitygroup]部分,启用安全组并配置 Linuxbridge iptables firewall driver

[securitygroup]
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver
	
  • 1
  • 2
  • 3

四、为计算节点配置网络服务 
编辑/etc/nova/nova.conf文件并完成下面的操作: 
。在[neutron] 部分,配置访问参数:

[neutron]
url = 
auth_url = 
auth_type = password
project_domain_name = default
user_domain_name = default
region_name = RegionOne
project_name = service
username = neutron
password = neutron
	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

五、完成安装 
1.重启计算服务

systemctl restart openstack-nova-compute.service
	
  • 1

2.启动Linuxbridge代理并配置它开机自启动:

systemctl enable neutron-linuxbridge-agent.service
systemctl start neutron-linuxbridge-agent.service
	
  • 1
  • 2

验证Networking服务 
1.获得 admin 凭证来获取只有管理员能执行的命令的访问权限: 
source admin-opensrc 
2.列出加载的扩展来验证neutron-server进程是否正常启动:

neutron ext-list
	
  • 1

这里写图片描述
3.列出代理以验证启动 neutron 代理是否成功:

neutron agent-list
	
  • 1

这里写图片描述
启动一个实例 
一、创建提供者网络 
1.在控制节点上,加载 admin 凭证来获取管理员能执行的命令访问权限: 
source admin-openrc 
2.创建网络

neutron net-create --shared --provider:physical_network provider  --provider:network_type flat provider
	
  • 1

这里写图片描述
3.在网络上创建一个子网:

neutron subnet-create --name provider  --allocation-pool start=172.25.6.10,end=172.25.6.100   --dns-nameserver 114.114.114.114 --gateway 172.25.6,2 provider 172.25.6.0/24
	
  • 1

二、创建m1.nano规格的主机 
默认的最小规格的主机需要512 MB内存。对于环境中计算节点内存不足4 GB的,我们推荐创建只需要64 MB的m1.nano规格的主机。若单纯为了测试的目的,请使用m1.nano规格的主机来加载CirrOS镜像

openstack flavor create --id 0 --vcpus 1 --ram 64 --disk 1 m1.nano
	
  • 1

这里写图片描述
三、生成一个键值对 
1.导入租户demo的凭证 
source demo-openrc 
2.生成和添加秘钥对:

ssh-keygen -q -N ""
	
  • 1
openstack keypair create --public-key ~/.ssh/id_rsa.pub mykey
	
  • 1

这里写图片描述
3.验证公钥的添加:

openstack keypair list
	
  • 1

这里写图片描述 
四、增加安全组规则 
默认情况下, default安全组适用于所有实例并且包括拒绝远程访问实例的防火墙规则。对诸如CirrOS这样的Linux镜像,推荐至少允许ICMP (ping) 和安全shell(SSH)规则。 
1.添加规则到 default 安全组。 
。允许 ICMP (ping):

openstack security group rule create --proto icmp default
	
  • 1

这里写图片描述
。允许安全 shell (SSH) 的访问:

openstack security group rule create --proto tcp --dst-port 22 default
	
  • 1

这里写图片描述
五、启动一个实例 
在公有网络上创建实例 
1.确定实例选项 
启动一台实例,您必须至少指定一个类型、镜像名称、网络、安全组、密钥和实例名称 
。在控制节点上,获得 admin 凭证来获取只有管理员能执行的命令的访问权限 
source admin-openrc 
。列出可用类型

openstack flavor list
	
  • 1

这里写图片描述
。列出可用镜像

openstack image list
	
  • 1

这里写图片描述 
。列出可用网络

openstack network list
	
  • 1

这里写图片描述
。列出可用的安全组:

openstack security group list
	
  • 1

这里写图片描述
2.启动实例

openstack server create --flavor m1.nano --image cirros \
  --nic net-id=b3aa7c84-0902-43f2-91ac-77445fbf2cde --security-group default --key-name mykey provider-instance
	
  • 1
  • 2

这里写图片描述
3.检查实例的状态:

openstack server list
	
  • 1

这里写图片描述
3.使用虚拟控制台访问实例 
获取你实例的 Virtual Network Computing (VNC) 会话URL并从web浏览器访问它:

openstack console url show provider-instance
	
  • 1

这里写图片描述
在浏览器中输入上面所获得的网址,访问登陆云主机: 
这里写图片描述 
查看云主机ip 
这里写图片描述 
4.验证能否远程访问实例 
。验证控制节点或者其他公有网络上的主机能否ping通实例: 
这里写图片描述
。在控制节点或其他公有网络上的主机使用 SSH远程访问实例: 
这里写图片描述


阅读(1606) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~