6.9. 使用单个命令部署容器镜像
system-reinstall-bootc
命令提供了一个交互式 CLI,它打包了 bootc install to-existing root
命令。您可以使用 signal 命令将容器镜像部署到 RHEL 云实例中。system-reinstall-bootc
命令执行以下操作:
- 拉取提供的镜像,以设置 SSH 密钥或访问系统。
-
运行
bootc install to-existing-root
命令,并配置了所有绑定挂载和 SSH 密钥。
以下流程将 bootc 镜像部署到 AWS 上的新 RHEL 10 实例中。在启动实例时,请确保选择您的 SSH 密钥或创建新密钥。否则,可以使用默认的实例配置设置。
先决条件
- Red Hat Account 或访问 Red Hat RPMS
- 在 AWS 环境中运行的基于软件包的 RHEL (9.6 / 10.0 或更高)虚拟系统。
- SSH 到软件包系统的功能和权限,并进行"破坏性更改"。
流程
实例启动后,使用您在创建实例时选择的密钥通过 SSH 连接到它:
ssh -i <ssh-key-file> <cloud-user@ip>
$ ssh -i <ssh-key-file> <cloud-user@ip>
Copy to Clipboard Copied! 确保已安装了
system-reinstall-bootc
子软件包:rpm -q system-reinstall-bootc
# rpm -q system-reinstall-bootc
Copy to Clipboard Copied! 如果没有,请安装
system-reinstall-bootc
子软件包:dnf -y install system-reinstall-bootc
# dnf -y install system-reinstall-bootc
Copy to Clipboard Copied! 转换系统以使用 bootc 镜像:
system-reinstall-bootc <image>
# system-reinstall-bootc <image>
Copy to Clipboard Copied! - 您可以使用 Red Hat Ecosystem Catalog 中的容器镜像或从 Containerfile 构建的自定义 bootc 镜像。
- 按"a"键选择要导入到 bootc 镜像的用户。
- 确认您的选择两次,并等待镜像下载完毕。
重启系统:
reboot
# reboot
Copy to Clipboard Copied! 从
/.ssh/known_hosts
文件中删除给定 <ip
> 的存储的 SSH 主机密钥:ssh-keygen -R <ip>
# ssh-keygen -R <ip>
Copy to Clipboard Copied! bootc 系统现在使用一个新的公共 SSH 主机密钥。当尝试使用与本地存储不同的密钥连接到同一 IP 地址时,SSH 将引发警告或拒绝连接,因为主机密钥不匹配。由于这个更改是正常的,可以使用以下命令从
~/.ssh/known_hosts
文件中安全地删除现有主机密钥条目:连接到 bootc 系统:
ssh -i <ssh-key-file> root@<ip>
# ssh -i <ssh-key-file> root@<ip>
Copy to Clipboard Copied!
验证
确认系统操作系统已更改:
bootc status
# bootc status
Copy to Clipboard Copied!