手动安装

在 Ubuntu 14.04 amd64 上可以使用我们提供的安装脚本进行安装。

我们推荐在一个新安装的 Ubuntu 电脑上进行安装,需要的最小硬件配置为:1GB 内存,20GB 硬盘剩余空间,双核心 CPU。

还需要注意的是,如果你计划安装多节点的 Flynn 集群,为了保证集群的健壮性,至少需要三个 Flynn 节点。

注意:如果你使用Linode的 VPS 进行安装,必须使用原生的 Linux 内核(不能使用 Linode 的内核)才能支持AUFS文件系统。参见这里,了解如何切换内核。

安装

下载并运行安装脚本:

  1. $ sudo bash < <(curl -fsSL https://dl.flynn.io/install-flynn)

此脚本需要以 root 权限运行,如果在运行之前,你想先看看脚本的内容,可以将上述命令分成两步:

  1. $ curl -fsSL -o /tmp/install-flynn https://dl.flynn.io/install-flynn
  2. ... take a look at the contents of /tmp/install-flynn ...
  3. $ sudo bash /tmp/install-flynn

此安装脚本将会执行如下任务:

1.安装 Flynn 运行时依赖的环境。2.下载,校验并且安装flynn-host程序。3.下载,校验每个Flynn组件的文件系统映像。4.在系统里安装Upstart作业,来控制flynn-host服务。

有些文件系统映像非常大(几百MB的数量级),因此上面第三步的运行会需要一定的时间。

多节点安装

在集群环境下,需要在每个节点上重复上述的安装步骤。

启动

启动之前先确认 Flynn 集群各节点之间的网络通信是否正常(所有的 TCP 和 UDP通信),还需要在集群的防火墙上放行如下端口:

  • 80 (HTTP)
  • 443 (HTTPS)
  • 3000 到 3500 (用户自定义的 TCP 服务,可选)
    注意:在 Flynn 系统中,基于安全考虑,需要配置防火墙来防止外界访问内部的管理 API。

接下来需要在所有的节点上启动 flynn-host 服务来配置集群 Layer 0。此进程在各节点间使用Raft协议来进行 Leader 的选举,需要各节点的服务正确运行。

如果启动了多个节点,集群会使用一个token来同步s配置各节点。使用flynn-host init 命令生成和使用token

在第一个节点上使用 —init-discovery参数生成一个新的token,集群环境最少需要三个节点,在单节点环境下,不需要运行这个命令。

  1. $ sudo flynn-host init --init-discovery
  2. https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902

在其余节点上使用上面生成的token 进行配置:

  1. $ sudo flynn-host init --discovery https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902

接下来启动 flynn-host 服务:

  1. $ sudo start flynn-host

可以使用下面的命令查看服务运行状态:

  1. $ sudo status flynn-host
  2. flynn-host start/running, process 4090

如果服务状态是 stop/waiting,表示服务的启动不成功。可以打开日志文件(/var/log/upstart/flynn-host.log)查找具体原因,并尝试重新启动。

Bootstrap Flynn

flynn-host成功运行后,就可以使用flynn-host bootstrap启动 Flynn。现在你需要在 DNS 上为每个节点的 IP 配置对应的 A 记录,同时使用通配符配置集群域 CNAME 别名的泛解析。

例如:

  1. demo.localflynn.com. A 192.168.84.42
  2. demo.localflynn.com. A 192.168.84.43
  3. demo.localflynn.com. A 192.168.84.44
  4. *.demo.localflynn.com. CNAME demo.localflynn.com.

如果你使用单节点 Flynn,不想进行 DNS 的配置,可以使用xip.io提供的域名泛解析服务。

将集群域名设置为CLUSTER_DOMAIN,作为参数启动 Flynn,同时在参数里还要提供节点数量和上面创建的 Token。

  1. $ sudo \
  2. CLUSTER_DOMAIN=demo.localflynn.com \
  3. flynn-host bootstrap \
  4. --min-hosts 3 \
  5. --discovery https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902

注意:在集群环境下,只需要在一个节点上执行上面的命令即可。在需要的情况下会自动同步到各节点。

Flynn Layer 1 的启动过程中会打开所有依赖 Layer 0 API 的服务。日志的最后包含使用命令行接口的配置。

如果在上面的步骤中出现了问题,可以在网上提交或者寻找社区帮助。

现在,你已经成功的安装并运行 Flynn。可以参见上面的使用文档来部署你的应用。

原文: http://doc.oschina.net/flynn?t=54095