Seed Administration¶
销毁 Seed VM¶
注意
此步骤将销毁 seed VM 及其数据卷。
要销毁 seed VM
(kayobe) $ kayobe seed vm deprovision
销毁 seed 上的所有服务¶
警告
此步骤将销毁 Kayobe 和 Kolla 部署的所有容器、容器镜像和卷。要销毁与 自定义容器 关联的卷和镜像,您必须配置 post_destroy 和 pre_destroy 钩子以手动执行清理,因为 Kayobe 不会自动清理这些内容。通常只建议在系统上没有重要数据时才运行此命令。
要销毁 seed 服务
(kayobe) $ kayobe seed service destroy --yes-i-really-really-mean-it
可以选择使用标签
(kayobe) $ kayobe seed service destroy --yes-i-really-really-mean-it -kt none -t docker-registry
必须小心设置 kayobe 和 kolla 标签,以避免意外销毁其他服务。
更新软件包¶
可以更新 seed 主机上的软件包。
软件包仓库¶
如果在使用 CentOS 或 Rocky 的自定义 DNF 软件包仓库,则可能需要在运行软件包更新之前更新这些仓库。为此,更新 ${KAYOBE_CONFIG_PATH}/dnf.yml 中的配置并运行以下命令
(kayobe) $ kayobe seed host configure --tags dnf --kolla-tags none
软件包更新¶
要更新一个或多个软件包
(kayobe) $ kayobe seed host package update --packages <package1>,<package2>
要更新所有符合条件的软件包,请使用 *,必要时进行转义
(kayobe) $ kayobe seed host package update --packages "*"
要仅安装已被标记为安全相关的更新
(kayobe) $ kayobe seed host package update --packages "*" --security
请注意,这些命令不会影响安装在容器中的软件包,只会影响安装在主机上的软件包。
如果正在使用超visor 主机,也可以更新 seed 超visor 主机上的软件包
(kayobe) $ kayobe seed hypervisor package update --packages <package1>,<package2>
内核更新¶
如果已更新内核,您可能需要重新启动 seed 主机以启动到新内核。可以使用以下命令执行此操作
(kayobe) $ kayobe seed host command run --command "shutdown -r" --become
检查 Bifrost 容器¶
seed 主机运行独立 Ironic 部署所需的各种服务。所有这些服务都在一个 bifrost_deploy 容器中运行。
通常,在 bifrost 容器中执行 shell 对于诊断操作问题很有帮助
注意
示例显示在使用 Docker 作为容器引擎时的命令。如果使用 Podman,只需将 docker 更改为 sudo podman 即可。
$ docker exec -it bifrost_deploy bash
服务通过 Systemd 运行
(bifrost_deploy) systemctl
日志存储在 /var/log/kolla/ 中,该目录挂载到 kolla_logs Docker 卷。
访问 Seed 服务¶
可以通过 baremetal 命令行界面访问 Ironic 和 Ironic inspector API
(bifrost_deploy) $ export OS_CLOUD=bifrost
(bifrost_deploy) $ baremetal node list
(bifrost_deploy) $ baremetal introspection list
备份与恢复¶
有两种主要方法可以备份和恢复 seed 上的数据。可以备份 Ironic 数据库。或者,如果 seed 服务在 VM 中运行,可以使用虚拟机备份。前者将消耗更少的存储空间。虚拟机备份尚未在此处介绍,备份计划也尚未介绍。任何备份和恢复过程都应提前进行测试。
数据库备份与恢复¶
可以使用许多用于备份 MariaDB 数据库的工具之一来备份数据库。
对于通常大小适中的 seed 数据库来说,一种简单的方法是 mysqldump。以下命令应全部在 seed 上执行。
备份¶
注意
示例显示在使用 Docker 作为容器引擎时的命令。如果使用 Podman,只需将 docker 更改为 sudo podman 即可。
在备份期间保持服务运行是安全的,但为了最大程度的安全,可以选择停止它们
docker exec -it bifrost_deploy systemctl stop ironic ironic-inspector
然后,执行备份
docker exec -it bifrost_deploy \
mysqldump --all-databases --single-transaction --routines --triggers > seed-backup.sql
如果服务在备份之前已停止,请再次启动它们
docker exec -it bifrost_deploy systemctl start ironic ironic-inspector
恢复¶
注意
示例显示在使用 Docker 作为容器引擎时的命令。如果使用 Podman,只需将 docker 更改为 sudo podman 即可。
在恢复数据库之前,应停止 Ironic 和 Ironic Inspector 服务
docker exec -it bifrost_deploy systemctl stop ironic ironic-inspector
然后可以安全地恢复数据库
docker exec -i bifrost_deploy \
mysql < seed-backup.sql
最后,再次启动 Ironic 和 Ironic Inspector 服务
docker exec -it bifrost_deploy systemctl start ironic ironic-inspector
运行命令¶
可以在 seed 主机上运行命令
(kayobe) $ kayobe seed host command run --command "<command>"
例如
(kayobe) $ kayobe seed host command run --command "service docker restart"
如果正在使用超visor 主机,也可以在 seed 超visor 主机上运行命令
(kayobe) $ kayobe seed hypervisor host command run --command "<command>"
要以 root 权限执行命令,请添加 --become 参数。添加 --verbose 参数允许查看命令的输出。