在ExScale上配置Fedora CoreOS

本指南介绍如何在上配置新的Fedora CoreOS(FCOS)实例 ExScale 云托管。

先决条件

在配置FCOS计算机之前,建议使用包含您的自定义设置的Ignition配置文件。如果您没有,请参见 生成Ignition文件

如果您不想使用Ignition入门,可以使用 加力支撑 并通过云提供商提供SSH密钥,然后从那里继续。

您还需要拥有Exscalale帐户的访问权限。 寄存器 如果你没有的话。

将FCOS镜像上载为自定义模板

Exscalale提供了官方的FCOS模板,但它们目前已过时。目前,我们建议您创建自己的模板。跟踪修复此问题的进度 #1166

Exscalale提供 自定义模板 能够上传任何云图。要创建自定义模板,您首先需要下载并解压缩图像。

使用以下命令下载并解压缩QCOW2镜像 CoreOS-安装程序
STREAM="stable"
coreos-installer download -d -s "${STREAM}" -p exoscale -f qcow2.xz

或者,QCOW2图像可以从 下载页面 并手动解压。

接下来,您可以 注册自定义模板 。这可以从 门户网站Exscalale CLI 。任何一种选择都需要将未压缩的图像上传到公共位置,并在注册期间提供URL和MD5校验和。一种选择是使用Exscalale提供的对象存储来托管图像。

上载到对象存储并创建自定义模板
# Set the version and calcuate the checksum
FCOS_VERSION='...'
FILE="fedora-coreos-${FCOS_VERSION}-exoscale.x86_64.qcow2"
CHECKSUM=$(md5sum $FILE | cut -d " " -f 1)

# Upload to object storage
BUCKET='newbucket'
exo storage mb "sos://${BUCKET}"
exo storage upload --acl public-read $FILE "sos://${BUCKET}/image-import/"

# Create the template using given URL and CHECKSUM
URL=$(exo storage show "sos://${BUCKET}/image-import/$FILE" --output-template "{{.URL}}")
TEMPLATE="fedora-coreos-${FCOS_VERSION}"
exo compute instance-template register --boot-mode=uefi $TEMPLATE $URL $CHECKSUM

然后,您可以使用以下命令查看模板 exo compute instance-template show --visibility=private $TEMPLATE

启动一个VM实例

您可以使用Exscalale设置FCOS实例 门户网站 或通过 Exscalale CLI

您需要至少使用版本 v1.54.0 Exscalale CLI的。

警告:请勿使用 --cloud-init-compress 参数添加到CLI。它会导致将Ignition配置压缩传递给实例并 Ignition不能容忍这一点

使用Exscalale CLI启动新实例
NAME='worker'
TYPE='standard.medium'
DISK='10' # in GiB
SSHKEY='mykey'
TEMPLATE=$TEMPLATE # template name set above
exo compute instance create $NAME \
    --disk-size $DISK \
    --ssh-key $SSHKEY \
    --template $TEMPLATE \
    --template-visibility private \
    --cloud-init "path/to/ignition-file.ign"
如果只需要SSH访问,而不需要进一步的定制,则不需要传递任何Ignition文件,并且可以省略 --cloud-init 争论。

现在您可以通过以下方式找到实例的IP地址 exo compute instance show $NAME 并通过SSH进入实例。如果您没有更改默认设置,则用户名为 coressh core@$IP 应该行得通。