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