开发者社区> 华章计算机> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《OpenStack实战指南》—— 2.1.2 网络节点的安装

简介:
+关注继续查看

本节书摘来自华章出版社《OpenStack实战指南》一 书中的第2章,第2.1节,作者:黄 凯 毛伟杰 顾骏杰 ,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.1.2 网络节点的安装

网络节点主要负责虚拟机的网络控制,包括DHCP、虚拟路由、公网访问虚拟机等。通过软件网桥等方式控制虚拟机的网络,代替传统环境中所需要的交换机、路由器等。在这个测试案例中,使用Open vSwitch作为底层的网络驱动。
1.?系统环境准备
操作系统仍旧使用Ubuntu 12.04 LTS。网络节点需要三个网口,分别连接network-1、network-2、network-3,前两个网络在控制节点安装的时候定义过,而network-3是个新网络,是个私有的网络,IP网段自定义,它需要和所有的计算节点通信,因此,可以和计算节点连在一个交换机上或者VLAN中。
(1)网络IP设置
eth0在前面定义的network-1网络中,这个网络连接Internet。计算节点中的虚拟机出入Internet的流量都从这里经过。
eth1在前面定义的network-2网络中。这个接入管理网络的网口主要负责和controller之间的组件通信,包括所有的数据库连接、RabbitMQ等。
eth2在新定义的网络中,命名为network-3。这个网络和所有的计算节点连接,用于Open vSwitch的GRE隧道,使得虚拟机能和网络节点通信。代码如下:

# cat /etc/network/interfaces
# network-1 Internet
auto eth0
iface eth0 inet static
    address 10.10.101.11
    netmask 255.255.252.0
    network 10.10.100.0
    broadcast 10.10.103..255
    gateway 10.10.100.1
    dns-nameservers 8.8.8.8

# network-2 Management
auto eth1
iface eth1 inet static
    address 10.80.80.11
    netmask 255.255.255.0

# network-3 vm
auto eth2
iface eth2 inet static
    address 10.10.50.1
    network 255.255.255.0

重启网络,命令如下:

# /etc/init.d/networking restart

(2)添加Havana的源
添加Havana的源,代码如下:

# apt-get install -y python-software-properties
# add-apt-repository cloud-archive:havana
# apt-get update -y
# apt-get upgrade -y
# apt-get dist-upgrade -y

更新完系统之后,可以根据实际情况重启服务器。
(3)同步时间
同步时间的命令如下:

# apt-get install -y ntp
# vi /etc/ntp.conf

编辑ntp.conf,在控制节点的IP中加入下面的一行,并且放在所有“server ntp服务器域名”的行之前,或者删除其他关于server ntp服务器的行。

server 10.80.80.10

重启NTP服务,命令如下:

# service ntp restart

打开IP转发的功能,因为网络节点需要把从vm网络来的数据包转发到Internet,其代码如下。

# sysctl net.ipv4.ip_forward=1

写入配置文件,使得重启后仍旧生效,命令如下。

# vi /etc/sysctl.coof
net.ipv4.ip_forward = 1

2.?安装Open vSwitch和Neutron
由于采用Open vSwitch作为Neutron的plugin来实现底层的网络虚拟化,因此需要安装Open vSwitch。在Open vSwitch中添加两个虚拟网络交换机:br-int、br-ex,其代码如下:

# apt-get install -y openvswitch-switch openvswitch-datapath-dkms
# ovs-vsctl add-br br-int
# ovs-vsctl add-br br-ex

在网络节点,需要安装Neutron的大部分组件,这里安装openvswitch-plugin的agent,负责neutron server和plugin之间的相互联系,dhcp-agent负责虚拟网络的DHCP,l3-agent负责虚拟网络的路由和外部连接,另外,还有metadata-agent,其代码如下。

neutron-plugin-openvswitch-agent
neutron-dhcp-agent
neutron-l3-agent
neutron-metadata-agent
    # apt-get -y install neutron-plugin-openvswitch-agent neutron-dhcp-agent
        neutron-l3-agent neutron-metadata-agent

3.?配置Neutron的agent
1)全局配置,代码如下:

# vi /etc/neutron/neutron.conf
[DEFAULT]
debug = True
verbose = True
rabbit_host = 10.80.80.10
# 如果修改过rabbit的guest密码,则一定要修改下面一行
rabbit_password = guest

2)Open vSwitch的plugin配置文件,代码如下:

# vi /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
[OVS]
tenant_network_type = gre
enable_tunneling = True
tunnel_type = gre
tunnel_id_ranges = 1:1000
integration_bridge = br-int
tunnel_bridge = br-tun
local_ip = 10.10.50.1

[securitygroup]
firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver

[database]
connection = mysql://neutronuser:openstack@10.80.80.10/neutron

重启服务,命令如下:

# service neutron-plugin-openvswitch-agent restart

3)对metadata-agent进行配置,命令如下:

# vi /etc/neutron/metadata_agent.ini
[DEFAULT]
debug = True

auth_url = http://10.80.80.10:5000/v2.0
auth_region必须和Keystone中Neutron服务的endpoint一致,默认配置文件里是RegionOne,而Keystone建立endpoint时如果不命名,默认是regionOne,这一个大小写问题曾经让笔者在研究metadata上花了一个下午的时间。
auth_region = regionOne
admin_tenant_name = service
admin_user = neutron
admin_password = openstack

nova_metadata_ip = 10.80.80.10

nova_metadata_port = 8775

metadata_proxy_shared_secret = openstack

重启服务,命令如下:

# service neutron-metadata-agent restart

4)对dhcp-agent进行配置,命令如下:

# vi
[DEFAULT]
debug = True

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_metadata_network = True

重启服务,命令如下:

# service neutron-dhcp-agent restart

5)对l3-agent进行配置,命令如下:

# vi
[DEFAULT]
debug = True

interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
external_network_bridge = br-ex

重启服务,命令如下:

# service neutron-l3-agent restart

使用“neutron agent-list”命令可以验证目前的Neutron服务。记住,运行命令前必须先导入用户凭证。
4.?设置br-ex虚拟网络
前面已经创建了一个br-ex的虚拟交换机,使用命令ifconfig可以看到这个网口。这个虚拟网络是在l3-agent的配置里设置的,简单来说,是用于虚拟机和Internet之间通信的,因此,需要把网络节点上连接Internet的eth0接入到这个br-ex的虚拟交换机上。
运行下面这条命令后, eth0网络会断掉,需确保在配置的时候是通过管理网络接入的,或者是直接在console上执行的。

# ovs-vsctl add-port br-ex eth0

在/etc/network/interfaces中把eth0的网络配置进行修改,如下所示:

auto eth0
iface eth0 inet manual
    up ifconfig $IFACE 0.0.0.0 up
    up ip link set $IFACE promisc on
    down ip link set $IFACE promisc off
    down ifconfig $IFACE down

如果需要让网络节点配置一个可以从这个网络访问的地址,那么可以把原来的eth0的地址配置在br-ex网口上。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
leach协议性能对比仿真,包括死亡节点数,数据传输,网络能量消耗,簇头产生数以及负载均衡度
leach协议性能对比仿真,包括死亡节点数,数据传输,网络能量消耗,簇头产生数以及负载均衡度
0 0
【WSN布局】基于粒子群算法优化无线传感器网络 WSN 节点的位置附matlab代码
【WSN布局】基于粒子群算法优化无线传感器网络 WSN 节点的位置附matlab代码
0 0
m基于GA遗传优化算法的认知中继网络最优中继功率分配和最佳中继节点选择算法matlab仿真
m基于GA遗传优化算法的认知中继网络最优中继功率分配和最佳中继节点选择算法matlab仿真
0 0
PGL图学习之基于UniMP算法的论文引用网络节点分类任务[系列九]
PGL图学习之基于UniMP算法的论文引用网络节点分类任务[系列九]
0 0
云计算搭建全部内容总结,保证可以搭建一个完整的云计算服务器,包括节点安装、实例的分配和网络的配置等内容
云计算搭建全部内容总结,保证可以搭建一个完整的云计算服务器,包括节点安装、实例的分配和网络的配置等内容
0 0
【配电网优化】基于粒子群算法实现GARVER-6节点配电网络直流潮流计算附matlab代码
【配电网优化】基于粒子群算法实现GARVER-6节点配电网络直流潮流计算附matlab代码
0 0
Nat. Mach. Intell. | 基于深度强化学习寻找网络中的关键节点
Nat. Mach. Intell. | 基于深度强化学习寻找网络中的关键节点
0 0
k8s基于flannel VXLAN模式网络无法跨主机ping通其他节点上pod
基于云ECS搭建的k8s,通常网络问题需要从网络配置,路由表、iptables 规则 以及FDB配置去判断问题,另外需要注意的是阿里云有一层企业安全组配置会对网络有影响,遇到配置问题都正常需要从安全组的角度去考虑了
0 0
人人都能成为闪电网络节点:第1章安装系统
介绍了闪电网络部署的基本环境准备
0 0
10亿节点异构网络中,GCN 如何应用?
推荐系统普遍是基于用户偏好的商品或者商品关系来建模学习,这些关系通常可以用网络结构表示,在淘宝这样的复杂场景网络常常是十亿节点和上百亿的边,计算和推理复杂度高挑战大,网络嵌入方法(Network Embedding)能够学习网络中节点的低维度潜在表示,可以用所学表征在低维空间实现相关推荐。本篇论文收录于KDD2019,建议大家收藏阅读哦。
0 0
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
可预期数据中心网络
立即下载
可编程网络视角的网络创新研究
立即下载
思科软件定义访问:实现基于业务意图的园区网络
立即下载