裸机
Deis集群可以在任何CoreOS能运行的地方开通,包括你自己的硬件。
请在阅读本文时,获取源码并参考contrib/bare-metal中的脚本。
为了让CoreOS运行在基础硬件上,你需要通过PXE或iPXE启动——这将完全在内存中启动一台CoreOS机器。然后,你可以将CoreOS安装到硬盘中。
- 重要说明
- Deis需要CoreOS 472.0.0或更新版本。
检查系统需求
请在选择运行Deis的机器规格时参考“系统需求”中的资源要求。
生成SSH密钥
deisctl工具使用SSH通道与远程主机进行通讯。如果你没有SSH密钥,以下命令将生成一个名为deis的密钥对:
$ ssh-keygen -q -t rsa -f ~/.ssh/deis -N '' -C deis
自定义user-data
生成新的发现URL
发现URL将节点的地址和元数据保存在一个唯一的标识下,以此协助etcd实例连接在一起。在仓库根目录下运行以下命令来生成一个带有新的发现URL的contrib/coreos/user-data文件:
$ make discovery-url
user-data中包含了必要的脚本,因此不要在未运行make discovery-url前开通Deis集群。
SSH密钥
将第一步生成的SSH密钥里的公钥部分添加到user-data文件中:
ssh_authorized_keys:
- ssh-rsa AAAAB3... deis
更新$private_ipv4
裸机上的CoreOS无法准确的检测$private_ipv4。请使用该节点的(私有)IP地址替换在user-data文件中它出现的所有位置。
添加环境
由于CoreOS无法检测私有和公有IP地址,/etc/environment在启动时未被写入。请将其加入到user-data文件的write_files部分:
- path: /etc/environment
permissions: 0644
content: |
COREOS_PUBLIC_IPV4=<你的公有IP>
COREOS_PRIVATE_IPV4=<你的私有IP>
安装CoreOS到硬盘中
假设你已经启动裸机服务器进入CoreOS,你现在可以进行硬盘安装。
为安装程序提供配置文件
将user-data保存到你的裸机里。本示例假定你将配置保存到/tmp/config文件。
开始安装
coreos-install -C alpha -c /tmp/config -d /dev/sda
这将安装最新的CoreOS Alpha版本到硬盘中。要指定CoreOS版本,请在安装命令后添加-V参数,比如-V 494.0.0。
等安装完成后,重启你的服务器。一旦主机上线,你就可以通过deis的ssh密钥作为核心用户登录。
配置DNS
参考“配置DNS”获取正确设置Deis相关DNS记录的更多信息。
安装Deis平台
现在你已经完成了集群开通,请参考“安装Deis平台”开始平台安装。
已知问题
主机名是localhost
如果在安装到硬盘后后你的主机名是localhost,则请在安装前在user-data中设置hostname:
hostname: your-hostname
hostname千万不要使用域名全称!
名称解析缓慢
有些DNS服务器和防火墙存在glibc并行发送IPv4和IPv6地址请求的问题。解决办法是在/etc/resolv.conf里设置single-request选项。这可在安装CoreOS到硬盘时通过user-data文件完美解决。
- path: /etc/resolv.conf
permissions: 0644
content: |
nameserver 8.8.8.8
nameserver 8.8.4.4
domain your.domain.name
options single-request