手把手教你打造 SDN 网路 (二) (安装准备)

2019-05-16 16:10:47 浏览数 (1)

下载 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 -

0 人点赞