为 Neutron 准备物理基础设施(II) - 每天5分钟玩转 OpenStack(76)

本节将按照上一节的规划安装配置控制节点和计算节点。

控制节点 devstack-controller

步骤如下

安装 Ubuntu 14.04

此处省略 256 个字

配置网卡

编辑 /etc/network/interfaces eth0 配置 IP 192.168.104.10,并激活 eth1 和 eth2

安装 devstack

local.conf 内容如下

[[local|localrc]]

MULTI_HOST=true

HOST_IP=192.168.104.10 # management & api network

LOGFILE=/opt/stack/logs/stack.sh.log

# Credentials

ADMIN_PASSWORD=admin

MYSQL_PASSWORD=secret

RABBIT_PASSWORD=secret

SERVICE_PASSWORD=secret

SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# enable neutron-ml2-vlan

disable_service n-net enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn

Q_AGENT=linuxbridge

ENABLE_TENANT_VLANS=True

TENANT_VLAN_RANGE=3001:4000

PHYSICAL_NETWORK=default

LOG_COLOR=False

LOGDIR=$DEST/logs

SCREEN_LOGDIR=$LOGDIR/screen

值得注意的是我们通过 enable_service 指定安装若干服务

enable_service q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron,q-lbaas,q-fwaas,q-vpn

q-agt
core agent,包括 linux bridge agent 和 open vswich agent

q-dhcp
dhcp agent

q-l3
l3 agent,提供 routing 服务

q-meta
neutron metadata agent

q-lbaas
load balance agent

q-fwass
firewall 服务

q-vpn
vpn agent,提供 VPN as a Service

另外,为了加快安装速度,还可以加上下面的配置使用国内的 devstack 镜像站点

# use TryStack git mirror
GIT_BASE=http://git.trystack.cn
NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git
SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git

以 stack 用户身份执行 ./stack 安装 devstack

计算节点 devstack-compute1

步骤如下

安装 Ubuntu 14.04

此处又省略若 256 个字

配置网卡

编辑 /etc/network/interfaces
eth0 配置 IP 192.168.104.11,并激活 eth1

安装 devstack

local.conf 内容如下

[[local|localrc]]
MULTI_HOST=true

HOST_IP=192.168.104.11 # management & api network

# Credentials

ADMIN_PASSWORD=admin
MYSQL_PASSWORD=secret
RABBIT_PASSWORD=secret
SERVICE_PASSWORD=secret
SERVICE_TOKEN=abcdefghijklmnopqrstuvwxyz

# Service information

SERVICE_HOST=192.168.104.10
MYSQL_HOST=$SERVICE_HOST
RABBIT_HOST=$SERVICE_HOST
GLANCE_HOSTPORT=$SERVICE_HOST:9292
Q_HOST=$SERVICE_HOST
KEYSTONE_AUTH_HOST=$SERVICE_HOST
KEYSTONE_SERVICE_HOST=$SERVICE_HOST

CEILOMETER_BACKEND=mongodb

DATABASE_TYPE=mysql

ENABLED_SERVICES=n-cpu,q-agt,neutron

Q_AGENT=linuxbridge
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=3001:4000
PHYSICAL_NETWORK=default

# vnc config

NOVA_VNC_ENABLED=True
NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"
VNCSERVER_LISTEN=$HOST_IP
VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN

LOG_COLOR=False

LOGDIR=$DEST/logs
SCREEN_LOGDIR=$LOGDIR/screen

计算节点只需要指定安装 nova-compute 和 neutron core agent

ENABLED_SERVICES=n-cpu,q-agt,neutron

以 stack 用户身份执行 ./stack 安装 devstack

至此,我们已经完成了 Neutron 实验环境的搭建工作,后面将深入讨论如何用 linux bridge 和 open vswitch 实现 neutron 网络。

时间: 2024-10-10 14:56:54

为 Neutron 准备物理基础设施(II) - 每天5分钟玩转 OpenStack(76)的相关文章

Neutron 物理部署方案 - 每天5分钟玩转 OpenStack(68)

前面我们讨论了 Neutron 的架构,本节讨论 Neutron 的物理部署方案:不同节点部署不同的 Neutron 服务组件. 方案1:控制节点 + 计算节点 在这个部署方案中,OpenStack 由控制节点和计算节点组成. 控制节点部署的服务包括:neutron server, core plugin 的 agent 和 service plugin 的 agent. 计算节点部署 core plugin 的agent,负责提供二层网络功能. 这里有两点需要说明: 1. core plugi

Neutron 默认安全组规则 - 每天5分钟玩转 OpenStack(115)

Neutron 为 instance 提供了两种管理网络安全的方法: 安全组(Security Group)和虚拟防火墙. 安全组的原理是通过 iptables 对 instance 所在计算节点的网络流量进行过滤. 虚拟防火墙则由 Neutron Firewall as a Service(FWaaS)高级服务提供. 其底层也是使用 iptables,在 Neutron Router 上对网络包进行过滤. 这两种安全方案我们都会讨论,本章先重点学习安全组. 默认安全组 每个 Project(租

Neutron 架构 - 每天5分钟玩转 OpenStack(67)

前面我们讨论了 Neutron 的基本概念,今天我们开始分析 Neutron 的架构. Neutron 架构 与 OpenStack 的其他服务的设计思路一样,Neutron 也是采用分布式架构,由多个组件(子服务)共同对外提供网络服务. Neutron 由如下组件构成: Neutron Server对外提供 OpenStack 网络 API,接收请求,并调用 Plugin 处理请求. Plugin处理 Neutron Server 发来的请求,维护 OpenStack 逻辑网络的状态, 并调用

为 Neutron 准备物理基础设施(I) - 每天5分钟玩转 OpenStack(75)

前面讨论了 Neutron 的架构和基础知识,接下来就要通过实验深入学习和实践了. 第一步就是准备实验用的物理环境,考虑如下几个问题: 需要几个节点? 如何分配节点的角色? 节点上部署哪些服务? 配几个网卡? 物理网络如何连接? 1 控制节点 + 1 计算节点 的部署方案 我们的目的是通过实验学习 Neutron 的各种特性. 为了达到这个目的,实验环境应尽量贴近典型的部署方案:但同时,由于是个人学习使用,受物理条件的限制需要尽量利用有限的资源,所以我们采用下面的部署方案: Q:需要几个节点?

详解 ML2 Core Plugin(II) - 每天5分钟玩转 OpenStack(72)

上一节我们讨论了 ML2 Plugin 解决的问题,本节将继续研究 ML2 的架构. ML2 对二层网络进行抽象和建模,引入了 type driver 和 mechansim driver. 这两类 driver 解耦了 Neutron 所支持的网络类型(type)与访问这些网络类型的机制(mechanism),其结果就是使得 ML2 具有非常好的弹性,易于扩展,能够灵活支持多种 type 和 mechanism. Type Driver Neutron 支持的每一种网络类型都有一个对应的 ML

Neutron Vlan Network 原理- 每天5分钟玩转 OpenStack(92)

前面我们陆续学习了 Neutron local network,flat network 和 DHCP 服务,从本节将开始讨论 vlan network. vlan network 是带 tag 的网络,是实际应用最广泛的网络类型.下图是 vlan100 网络的示例. 1. 三个 instance 通过 TAP 设备连接到名为 “brqXXXX” linux bridge. 2. 在物理网卡 eth1 上创建了 eth1.100 的 vlan interface,eth1.100 连接到 brq

Neutron Router 工作原理 - 每天5分钟玩转 OpenStack(142)

上一节我们创建了 router 连通了 vlan100 和 vlan101, 今天分析router是如何工作的.首先查看控制节点的网络结构发生了什么变化: br-int 上多了两个 port: 1. qr-d295b258-45,从命名上可以推断该 interface 对应 router_100_101 的 interface (d295b258-4586),是 subnet_172_16_100_0 的网关. 2. qr-2ffdb861-73,从命名上可以推断该 interface 对应 r

实践 Neutron 前的两个准备工作 - 每天5分钟玩转 OpenStack(78)

上一节配置了 linux-bridge mechanism driver,本节再做两个准备工作: 1. 检视初始的网络状态.2. 了解 linux bridge 环境中的各种网络设备. 初始网络状态 我们首先考察实验环境最初始的网络状态.随着学习的深入,我们会对网络不断进行新的配置,大家也将看到网络一步一步发生的变化. 在我们的实验环境中,当前节点上只存在物理网卡设备 ethX,还没有 bridge 和 tap,状态如下: 控制节点 计算节点 了解 linux bridge 环境中的各种网络设备

两张图总结 Neutron 架构 - 每天5分钟玩转 OpenStack(74)

前面我们详细讨论了 Neutron 架构,包括 Neutron Server,Core 和 Service Agent.现在用两张图做个总结.先看第一张: 与 OpenStack 其他服务一样,Neutron 采用的是分布式架构,包括 Neutorn Server.各种 plugin/agent.database 和 message queue. Neutron server 接收 api 请求. plugin/agent 实现请求. database 保存 neutron 网络状态. mess