手动安装 #手动安装 在 Ubuntu 14.04 amd64 上可以使用我们提供的安装脚本进行安装。 我们推荐在一个新安装的 Ubuntu 电脑上进行安装,需要的最小硬件配置为:1GB 内存,20GB 硬盘剩余空间,双核心 CPU。 还需要注意的是,如果你计划安装多节点的 Flynn 集群,为了保证集群的健壮性,至少需要三个 Flynn 节点。 *注意: 如果你使用`Linode`的 VPS 进行安装,必须使用原生的 Linux 内核(不能使用 `Linode` 的内核)才能支持`AUFS`文件系统。参见[这里](https://www.linode.com/docs/tools-reference/custom-kernels-distros/run-a-distributionsupplied-kernel-with-pvgrub),了解如何切换内核。* ##安装 下载并运行安装脚本: $ sudo bash < <(curl -fsSL https://dl.flynn.io/install-flynn) 此脚本需要以 root 权限运行,如果在运行之前,你想先看看脚本的内容,可以将上述命令分成两步: $ curl -fsSL -o /tmp/install-flynn https://dl.flynn.io/install-flynn ... take a look at the contents of /tmp/install-flynn ... $ 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`,集群环境最少需要三个节点,在单节点环境下,不需要运行这个命令。 $ sudo flynn-host init --init-discovery https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902 在其余节点上使用上面生成的`token` 进行配置: $ sudo flynn-host init --discovery https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902 接下来启动 flynn-host 服务: $ sudo start flynn-host 可以使用下面的命令查看服务运行状态: $ sudo status flynn-host 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 别名的泛解析。 例如: demo.localflynn.com. A 192.168.84.42 demo.localflynn.com. A 192.168.84.43 demo.localflynn.com. A 192.168.84.44 *.demo.localflynn.com. CNAME demo.localflynn.com. *如果你使用单节点 Flynn,不想进行 DNS 的配置,可以使用[xip.io](http://xip.io/)提供的域名泛解析服务。* 将集群域名设置为`CLUSTER_DOMAIN`,作为参数启动 Flynn,同时在参数里还要提供节点数量和上面创建的 Token。 $ sudo \ CLUSTER_DOMAIN=demo.localflynn.com \ flynn-host bootstrap \ --min-hosts 3 \ --discovery https://discovery.flynn.io/clusters/53e8402e-030f-4861-95ba-d5b5a91b5902 *注意:在集群环境下,只需要在一个节点上执行上面的命令即可。在需要的情况下会自动同步到各节点。* Flynn Layer 1 的启动过程中会打开所有依赖 Layer 0 API 的服务。日志的最后包含使用[命令行接口](https://flynn.io/docs/cli)的配置。 如果在上面的步骤中出现了问题,可以在网上提交或者寻找社区帮助。 现在,你已经成功的安装并运行 Flynn。可以参见上面的[使用文档](https://flynn.io/docs)来部署你的应用。