在OpenStack上配置Fedora CoreOS

本指南介绍如何在上配置新的Fedora CoreOS(FCOS)节点 OpenStack云环境,私有或公共(如 VEXXHOST )。

以下步骤针对OpenStack Victoria版本进行了测试。

先决条件

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

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

您还需要能够访问OpenStack环境和正常运行的 OpenStack`CLI 。 通常情况下,您将 配置客户端 通过使用 `clouds.yaml 文件或通过环境变量。如果你是白手起家,这是 环境可能需要网络、SSH密钥对、安全组等。准备好了。请查阅 OpenStack文档 了解更多信息。

下载OpenStack映像

Fedora CoreOS被设计为自动更新,每个流有不同的时间表。 选择相关流后,请下载、验证并解压缩最新版本 OpenStack图像:

有关FCOS流产品的更多信息,请参阅 更新数据流
STREAM='stable'
coreos-installer download --decompress -s $STREAM -p openstack -f qcow2.xz

或者,您也可以从 下载页面 。 按照该页面上的说明验证下载,然后将其解压缩。

将映像上传到OpenStack

在OpenStack中创建FCOS映像
FILE=fedora-coreos-XX.XXXXXXXX.X.X-openstack.x86_64.qcow2
IMAGE=${FILE:0:-6} # pull off .qcow2
openstack image create --disk-format=qcow2 --min-disk=10 --min-ram=2 --file=$FILE $IMAGE
如果您要上载 aarch64 然后添加磁盘映像 --property architecture=aarch64
通过列出映像来监视映像创建进度
openstack image list --name=$IMAGE

启动一个VM实例

现在您已经在您的帐户中创建了映像,您可以启动一个虚拟机 举个例子。中指定几条信息 命令,如实例味道、网络信息、SSH密钥等…​

您还需要之前创建的Ignition配置。就是这里 在示例命令中表示为 ./example.ign ,这表明 当前目录中名为的文件 example.ign

启动一个VM实例
OPENSTACK_NETWORK=private
OPENSTACK_KEYPAIR=mykeypair # optional
OPENSTACK_FLAVOR=v1-standard-2
INSTANCE_NAME=myinstance # choose a name
openstack server create            \
     --key-name=$OPENSTACK_KEYPAIR \
     --network=$OPENSTACK_NETWORK  \
     --flavor=$OPENSTACK_FLAVOR    \
     --image=$IMAGE                \
     --user-data ./example.ign     \
     $INSTANCE_NAME
指定 --key-name 如果您在Ignition配置中提供SSH密钥,则为可选。
使用监控实例创建进度 openstack server show $INSTANCE_NAME

接下来,如果您希望从外部通过SSH进入实例 OpenStack环境下,可以为实例分配公网IP:

创建并分配浮动IP
OPENSTACK_NETWORK=public
openstack floating ip create $OPENSTACK_NETWORK

FLOATING_IP=1.1.1.1  # from just created floating IP
openstack server add floating ip $INSTANCE_NAME $FLOATING_IP

现在,您应该能够使用IP地址通过SSH连接到实例 与浮动IP关联。如果您没有更改默认设置, 用户名为 coressh core@$FLOATING_IP 应该行得通。