下载 Ubuntu 16.04
在安装完 Vagrant 和 Virtualbox 就可以开始进行,如果用的是 Windows 建议可以下载 Cmder 这个 Console Emulator 来下指令,使用的是 ubuntu 16.04 我们将会先製做出一个 VM 在这个 VM 裡面安装 OVS 和 Docker
-
$ vagrant box add ubuntu/xenial64
-
$ vagrant init ubuntu/xenial64
-
vagrant init 将会自动产生 Vagrantfile
修改 Vagrantfile
接着修改 Vagrantfile 加入一些 VM 客制化网卡设定,分别代表着使用Am79C973 这张虚拟网卡及开起 Promiscuous mode 这个设定是参照 pipework 使用说明所建议的。
-
config.vm.provider "virtualbox" do |vb|
-
vb.customize ['modifyvm', :id, '--nictype1', 'Am79C973']
-
vb.customize ['modifyvm', :id, '--nicpromisc1', 'allow-all']
-
end
-
config.vm.provision :shell, path: "bootstrap.sh"
最后 bootstrap.sh 是再 VM 启动之后,指定要跑的一个 Shell Script 除安装一些基本工具 vim, tree, htop 和 git 之外,必要的工具 Docker, OpenVswitch, pipework 和 ovs-docekr 也一并安装。这边 OVS 就直接用 apt-get 直接安装,手动编译就另篇讨论以免太多内容模糊焦点,改天会再发一篇编译 OVS 2.7.0 的文,分享一些安装细节及心得。
1.#!/usr/bin/env bash
-
apt-get update
-
apt-get install -y vim tree htop git
-
apt-get install -y openvswitch-switch
-
Install docker-engine
-
apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
-
apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
-
apt-get update
-
apt-get install -y docker-engine
-
Download ovs-docker shell
-
wget https://raw.githubusercontent.com/openvswitch/ovs/master/utilities/ovs-docker -P /usr/local/bin
-
chmod a+rwx /usr/local/bin/ovs-docker
16.# Download pipework
-
wget https://raw.githubusercontent.com/jpetazzo/pipework/master/pipework -P /usr/local/bin
-
chmod a+rwx /usr/local/bin/pipework
20.# -*- mode: ruby -*-
21.# vi: set ft=ruby :
22.Vagrant.configure("2") do |config|
-
config.vm.box = "ubuntu/xenial64"
-
config.vm.provider "virtualbox" do |vb|
-
vb.customize ['modifyvm', :id, '--nictype1', 'Am79C973']
-
vb.customize ['modifyvm', :id, '--nicpromisc1', 'allow-all']
-
end
-
config.vm.provision :shell, path: "bootstrap.sh"
-
end
Vagrantfile 和 bootstrap.sh 必须要放再同一个资料夹内,Vagrant 启动后设置完 VM 进入 OS 就会开始跑 bootstrap.sh
启动 VM
当准备完之后,接著我们就可以透过 Vagrant 的指令来启动VM
$ vagrant up
等待一连串的安装,没有意外的话就可以透过 ssh 进去
$ vagrant ssh
- END -