没有主机?用笔记本一样玩转数人云

酷炫的数人云已经上线了,有没有去体验一把呢?

一步一步来,注册,登陆,创建集群,添加主机。。。等等,添加主机?没有主机怎么办?

没问题,现在就来告诉你,怎么用自己的 MAC 或 PC 玩转数人云!

方法一:在笔记本上安装一个虚拟主机

数人云是可以运行在所有的64位Linux操作系统上的,所以如果您想使用一台主机试用数人云,只需要在笔记本上安装一个虚拟主机就可以了。

方法二:直接申请免费资源

如果您需要多个主机来做测试,请与我们联系:申请免费主机资源


安装虚拟主机

在个人电脑上玩数人云,需要创建虚拟主机,并添加到通过数人云所创建的集群中。这里我要用 Vagrant 来创建虚拟机主机。

Vagrant是一个让你可以方便设置你想要的虚拟机的便携式工具,它底层支持 VirtualBox、VMware 甚至AWS作为虚拟机系统。下面,我将使用 VirtualBox 来进行说明。第一步需要先安裝 Vagrant 和 VirtualBox。

1. 安装VirtualBox

VirtualBox 是 Oracle 开源的虚拟化系统,它支持多个平台,所以你可以到官方网站:https://www.virtualbox.org/wiki/Downloads/ 下载适合你平台的 VirtualBox 最新版本并安装,它的安装过程都很傻瓜化,一步一步执行就可以完成安装了。

2. 安装Vagrant

最新版本的Vagrant已经无法通过 gem 命令来安装,因为依赖库太多了,所以目前无法使用gem来安装,目前网络上面很多教程还是类似这样的命令,那些都是错误的。目前唯一安装的办法就是到官方网站下载打包好的安装包:http://www.vagrantup.com/downloads.html 他的安装过程和VirtualBox的安装一样都是傻瓜化安装,一步一步执行就可以完成安装。

备注:请下载最新的Vagrant。

要想检测安装是否成功,可以打开终端命令行工具,输入 vagrant,看看程序是不是已经可以运行了。如果不行,请检查一下$PATH里面是否包含vagrant 所在的路径。

3. 创建虚拟机

当我们安装好 VirtualBox 和 Vagrant 后,我们要开始考虑在VM上使用什么操作系统了,一个打包好的操作系统在 Vagrant 中称为 Box,即 Box 是一个打包好的操作系统环境,目前网络上什么都有,所以你不用自己去制作操作系统或者制作Box:vagrantbox.es 上面有大家熟知的大多数操作系统,你只需要下载就可以了,下载主要是为了安装的时候快速,当然 Vagrant 也支持在线安装。

3.1 建立开发环境目录

我的开发机是 Mac,所以我建立了如下的开发环境目录,读者可以根据自己的系统不同建立一个目录就可以:

/Users/mymac/vagrant
3.2 下载 box

前面讲的 box 实际上它是一个zip包,包含了 Vagrant 的配置信息和 VirtualBox 的虚拟机镜像文件.我们这一次的实战使用一个 box: https://github.com/jose-lpa/packer-ubuntu_14.04/releases/download/v2.0/ubuntu-14.04.box ,这个 box 基于 Ubuntu 14.04,并且已经配置好了 Docker 环境。

当然你也可以选一个自己团队在用的系统,例如 CentOS、Debian 等,我们可以通过上面说的地址下载开源爱好者们制作好的 box。

3.3 添加 box

添加 box 的命令如下:

vagrant box add base 远端的box地址或者本地的box文件名

vagrant box add 是添加box的命令;base 是 box 的名称,可以是任意的字符串,base 是默认名称,主要用来标识一下你添加的 box ,后面的命令都是基于这个标识来操作的。

我在开发机上面是这样操作的,首先进入我们的开发环境目录 /Users/mymac/vagrant,执行如下的命令

sudo vagrant box add base https://github.com/jose-lpa/packer-ubuntu_14.04/releases/download/v2.0/ubuntu-14.04.box

安装过程的信息:

Box file was not detected as metadata. Adding it directly...
Adding box 'base' (v0) for provider:
Downloading: http://files.vagrantup.com/lucid64.box
Box download is resuming from prior download progress
Successfully added box 'base' (v0) for 'virtualbox'!

box 中的镜像文件被放到了:/Users/mymac/.vagrant.d/boxes/,如果在 Windows 系统中应该是放到了:
C:\Users\当前用户名\.vagrant.d\boxes\ 目录下。

备注:通过 vagrant box add 这样的方式安装远程的 box,可能很慢,所以建议大家先下载 box 到本地再执行这样的操作。

3.4 初始化

初始化的命令如下:

vagrant init

如果你添加的box名称不是base,那么需要在初始化的时候指定名称,例如

vagrant init "CentOS 6.3 x86_64 minimal"

初始化过程的信息:

A `Vagrantfile` has been placed in this directory.
You are now ready to `vagrant up` your first virtual environment!
Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant.

这样就会在当前目录生成一个 Vagrantfile 的文件,里面有很多配置信息,默认的配置可以开箱即用。

3.5 启动虚拟机

启动虚拟机的命令如下:

vagrant up

启动过程的信息:

Bringing machine 'default' up with 'virtualbox' provider...
default: Importing base box 'base'...
default: Matching MAC address for NAT networking...
default: Setting the name of the VM: vagrant_default_1448125851882_1574
default: Clearing any previously set network interfaces...
default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Forwarding ports...
default: 22 => 2222 (adapter 1)
default: Booting VM...
default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default:
default: Vagrant insecure key detected. Vagrant will automatically replace
default: this with a newly generated keypair for better security.
default:
default: Inserting generated public key within guest...
default: Removing insecure key from the guest if it's present...
default: Key inserted! Disconnecting and reconnecting using new SSH key...
default: Machine booted and ready!
default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 4.3.16
default: VirtualBox Version: 5.0
default: Mounting shared folders...
default: /vagrant => /Users/mymac/vagrant
3.6 连接到虚拟机

上面已经启动了虚拟机,之后我们就可以通过 ssh 来连接到虚拟机了。比如在我的开发机中可以像这样来连接:

vagrant ssh

连接到虚拟机后的信息如下:

Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-45-generic x86_64)

 * Documentation:  https://help.ubuntu.com/
Last login: Thu Feb 12 10:37:57 2015 from 10.0.2.2

这样我们就可以像连接到一台服务器一样进行操作了。

Windows 机器不支持这样的命令,必须使用第三方客户端来进行连接,例如 putty、Xshell4 等.

putty 为例:

主机地址: 127.0.0.1

端口: 2222

用户名: vagrant

密码: vagrant

3.7 Vagrantfile配置

在我们的开发目录下有一个文件 Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH 配置、Vagrant 的一些基础配置。Vagrant 是使用 Ruby 开发的,所以它的配置语法也是 Ruby 的。这里需要对虚拟机的网络进行配置。

网络设置

Vagrant 有两种方式来进行网络连接,一种是 host-only(主机模式),意思是主机和虚拟机之间的网络互访,而不是虚拟机访问 Internet 的技术,其他人访问不到你的虚拟机。另一种是 Bridge(桥接模式),该模式下的 VM 就像是局域网中的一台独立的主机,也就是说需要 VM 到你的路由器要 IP,这样的话局域网里面其他机器就可以访问它了。我们设置为 host-only 模式,在 Vagrantfile 中添加如下配置:

config.vm.network "public_network", ip: "192.168.1.120"

修改完 Vagrantfile 的配置后,记得要用 vagrant reload 命令来重启VM之后才能使用 VM 更新后的配置。

就这样,我们已经在个人电脑中完成了虚拟机的制作。

在虚拟机上使用数人云:

参考:

玩转数人云:两步发布2048游戏应用

玩转数人云:10分钟建立wordpress集群网站