Equinix Metal 平台允许用户使用外部 iPXE 脚本文件来配置节点。我们将演示如何通过从用户的 Github 存储库启动 iPXE 脚本来创建 Harvester 集群。
注意:由于已知证书问题,Equinix 上的 ipxe 目前不支持https://release.rancher.com,你可以构建自己的 Web 服务器或使用其他方法下载相关工件。
我已经提前讲 harvester 的ipxe 安装工件上传到了 https://github.com/kingsd041/harvester/releases/tag/v1.1.1
修改 iPXE 脚本
将 https://github.com/harvester/ipxe-examples fork 到自己的 repo,然后修改 iPXE 脚本:
#!ipxe
dhcp
iflinkwait -t 5000 && echo Detected link on ${ifname}
set version v1.1.1
set base https://github.com/kingsd041/harvester/releases/download/${version} # ipxe on Equinix currently does not support `https://release.rancher.com`, you can build your own web server or use other methods to download related artifacts.
kernel ${base}/harvester-${version}-vmlinuz-amd64 ip=dhcp net.ifnames=1 rd.cos.disable rd.noverifyssl root=live:${base}/harvester-${version}-rootfs-amd64.squashfs harvester.install.management_interface.interfaces="hwAddr:${net0/mac}" harvester.install.management_interface.method=dhcp harvester.install.management_interface.bond_options.mode=balance-tlb harvester.install.management_interface.bond_options.miimon=100 console=ttyS1,115200 harvester.install.automatic=true boot_cmd="echo include_ping_test=yes >> /etc/conf.d/net-online" harvester.install.config_url=https://metadata.platformequinix.com/userdata
initrd ${base}/harvester-${version}-initrd-amd64
boot
然后将修改的内容上传到自己的 report 中,本例使用的 repo 是:https://github.com/kingsd041/ipxe-examples
参数说明可参考:https://github.com/harvester/ipxe-examples
在 Equinix 上创建服务器
Choose your operating system
选择 custom_ipxe
,并设置 IPXE Script URL
为:https://raw.githubusercontent.com/kingsd041/ipxe-examples/main/equinix/ipxe-install
Configure IPs
使用默认即可,如果你已经在 Equinix 申请了公网 IP,或者有这方面的需求,可参考 配置弹性 IP 去操作
User data
可参考 ipxe-examples 来设置:
#cloud-config
scheme_version: 1
token: token
os:
ssh_authorized_keys:
- ssh-rsa ...
password: p@ssword # replace with a your password
ntp_servers:
- 0.suse.pool.ntp.org
- 1.suse.pool.ntp.org
install:
mode: create
device: /dev/sda
iso_url: https://releases.rancher.com/harvester/master/harvester-master-amd64.iso
tty: ttyS1,115200n8
vip: 10.70.245.136
vip_mode: static
vip 可以任意填,我填的是 Equinix 中已经设置好的 Private IPv4 的网段地址,方便后续注册集群使用。
查看安装日志
可按照 Equinix 中提供的功能去查看安装日志,这里也可以看见 ipxe 安装 harvest 的日志: