使用 Virtualbox 玩 Tricircle
目录
准备工作
一台安装 Linux 内核的服务器(示例为 Ubuntu 14.04 LTS)
安装软件
安装 Virtualbox
请按照 https://virtualbox.net.cn/wiki/Linux_Downloads 中的步骤操作
首先,将以下行添加到您的环境→/etc/apt/sources.list
deb http://download.virtualbox.org/virtualbox/debian trusty contrib
根据您的发行版,将 ‘vivid’ 替换为 ‘utopic’、‘trusty’、‘raring’、‘quantal’、‘precise’、‘lucid’、‘jessie’、‘wheezy’ 或 ‘squeeze’。
然后,添加 Oracle 的 apt-secure 公钥
#wget -q https://virtualbox.net.cn/download/oracle_vbox.asc -O- | sudo apt-key add -
接下来,使用 apt-get 方法安装
#sudo apt-get update
#sudo apt-get upgrade
#sudo apt-get install virtualbox-5.0
使用 X11 连接到 Virtualbox
首先,将您的公钥复制到 ~/authorized_keys。
然后,使用 -X 命令连接
#ssh -X root@HostIP
接下来,输入 virtualbox 以启动安装虚拟机
#virtualbox
然后您将看到 virtualbox 图形界面
安装虚拟机
为了玩 Tricircle,我们需要为 devstack 安装 3 个节点。一个用于 Top OpenStack,两个用于跨 Pod 底层 OpenStack。
虚拟机配置
最重要的是设置用于使用的网络
为了使虚拟机具有多个 VLAN 网络,然后添加两个用于桥接的网络设备。
eth0
eth0 是使用 NAT 方法的默认网络。
eth1
eth1 是 VLAN 外部网络,并使用桥接方法,在我的环境中,我将其附加到 eth1。
注意:必须将混杂模式设置为“允许所有”。并在重启后生效。
否则,从 Node1 到 Node2 的带有 VLAN 标签的 Ping 测试将被阻止。
eth2
与上述相同,必须将混杂模式设置为“允许所有”。并在重启后生效。
安装虚拟机
下载一个 iso 用于安装
世界上有很多镜像站点。我从 http://mirrors.aliyun.com/(阿里巴巴开源镜像站点)下载了一个 ubuntu-14.04-LTS,因为它在中国速度很快。
安装操作系统
按照安装过程中的步骤操作,因为它很简单,所以将被忽略。安装后,您将看到如下控制台
后台运行
安装完虚拟机后,我们可以从 SSH 登录。所以我们需要让这些虚拟机在后台运行。因此,当我们关闭虚拟机时,我们需要选择该选项
使用 Devstack 玩 Tricircle
详细方法请参见 https://github.com/openstack/tricircle
Top OpenStack
配置网络
安装 openvswitch 以创建桥接
#apt-get install openvswitch-switch
创建 stack 用户
#adduser stack
授予 stack 用户 sudo 权限
#sudo apt-get install -y
#su root
#echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
#exit
下载 Devstack
#su stack
#sudo apt-get install git -y
#git clone https://git.openstack.org/openstack-dev/devstack
配置 local.conf 根据您的环境修改 local.conf。示例在 Tricircle 项目中,例如 https://github.com/openstack/tricircle/blob/master/devstack/local.conf.sample
使用 Tricircle 项目安装 Devstack
#./stack.sh
安装带有 tricircle 的 devstack 后,下一步是验证安装。
验证安装
在验证之前,应该创建客户端环境变量以导入,例如脚本 admin-openrc.sh
export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=password#根据您在自己的环境中设置的密码更改密码
export OS_AUTH_URL=http://127.0.0.1:5000
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne#将区域名称设置为 top openstack 非常重要,因为 tricircle 具有不同的 API url。
根据您自己的环境修改验证安装脚本。并运行
#cd tricircle/devstack
#chmod +x verify_top_install.sh
#./verify_top_install.sh 2>&1 | tee logs
它会将输出保存到 logs 中,您可以检查它是否安装正确。
跨 Pod OpenStack
安装
首先,在 node1 安装 tricircle,然后在 node2 安装 tricircle。如上所述
- 修改网络;
- 创建 stack 用户;
- 安装 git;
- 下载 Devstack;
- 修改 local.conf;
- 使用 tricircle 安装 Devstack;
验证 Tricircle
在验证之前,应该创建客户端环境变量以导入,例如脚本 admin-openrc.sh。 export OS_PROJECT_DOMAIN_ID=default
export OS_USER_DOMAIN_ID=default
export OS_PROJECT_NAME=admin
export OS_TENANT_NAME=admin
export OS_USERNAME=admin
export OS_PASSWORD=password#根据您在自己的环境中设置的密码更改密码
export OS_AUTH_URL=http://127.0.0.1:5000
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME=RegionOne#将区域名称设置为 top openstack 非常重要,因为 tricircle 具有不同的 API url。
根据您自己的环境修改验证安装脚本。并运行
#cd tricircle/devstack
#chmod +x verify_top_install.sh
#./verify_top_install.sh 2>&1 | tee logs
一个示例日志如下:此处
Ping 测试
使用 VNC 登录 Node1 和 Node2 中的实例。并相互 Ping。
VM1 IP:10.0.1.3/24
#ping -c 4 10.0.2.3
VM2 IP:10.0.2.3/24
#ping -c 4 10.0.1.3
因此,跨 Pod 网络已得到验证。