下载 Ubuntu 16.04
在安装完 Vagrant 和 Virtualbox 就可以开始进行,如果用的是 Windows 建议可以下载 Cmder 这个 Console Emulator 来下指令,使用的是 ubuntu 16.04 我们将会先製做出一个 VM 在这个 VM 裡面安装 OVS 和 Docker
1. $ vagrant box add ubuntu/xenial64
2. $ vagrant init ubuntu/xenial64
3. # vagrant init 将会自动产生 Vagrantfile
修改 Vagrantfile
接着修改 Vagrantfile 加入一些 VM 客制化网卡设定,分别代表着使用Am79C973 这张虚拟网卡及开起 Promiscuous mode 这个设定是参照 pipework 使用说明所建议的。
1. config.vm.provider "virtualbox" do |vb|
2. vb.customize ['modifyvm', :id, '--nictype1', 'Am79C973']
3. vb.customize ['modifyvm', :id, '--nicpromisc1', 'allow-all']
4. end
5. 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
2. apt-get update
3. apt-get install -y vim tree htop git
4. apt-get install -y openvswitch-switch
5.
6. # Install docker-engine
7. apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
8. apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
9. apt-get update
10. apt-get install -y docker-engine
11.
12. # Download ovs-docker shell
13. wget https://raw.githubusercontent.com/openvswitch/ovs/master/utilities/ovs-docker -P /usr/local/bin
14. chmod a rwx /usr/local/bin/ovs-docker
15.
16.# Download pipework
17. wget https://raw.githubusercontent.com/jpetazzo/pipework/master/pipework -P /usr/local/bin
18. chmod a rwx /usr/local/bin/pipework
19.
20.# -*- mode: ruby -*-
21.# vi: set ft=ruby :
22.Vagrant.configure("2") do |config|
23. config.vm.box = "ubuntu/xenial64"
24. config.vm.provider "virtualbox" do |vb|
25. vb.customize ['modifyvm', :id, '--nictype1', 'Am79C973']
26. vb.customize ['modifyvm', :id, '--nicpromisc1', 'allow-all']
27. end
28. config.vm.provision :shell, path: "bootstrap.sh"
29. end
Vagrantfile 和 bootstrap.sh 必须要放再同一个资料夹内,Vagrant 启动后设置完 VM 进入 OS 就会开始跑 bootstrap.sh
启动 VM
当准备完之后,接著我们就可以透过 Vagrant 的指令来启动VM
$ vagrant up
等待一连串的安装,没有意外的话就可以透过 ssh 进去
$ vagrant ssh
- END -