openSUSE:ALP/Workgroups/SysMngmnt/ContainerizedYaST

跳转到:导航搜索

目标

ALP 系统管理工作组进行了一些研究,并创建了一份包含研究结论以及 2022 年 9 月第一个 ALP 原型计划和承诺的文件:conclusion.md

作为结果的一部分,工作组正在开发一个在容器中运行的 YaST 实验原型。系统不需要任何 YaST 包,甚至不需要 Ruby,所有内容都包含在容器中。

状态

更新时间:2022-10-20

  • 完成
    • 许多 YaST 客户端已经适应在容器化环境中运行:AddOn、Bootloader、CheckMedia、Firewall、Host、iSCSIClient、Kdump、Keyboard、Language、Journal、LAN、NTPClient、Proxy、ReleaseNotes、Remote、ServicesManager(虽然它在正常系统上运行速度更快)、SWSingle、SWSource、Timezone、Users、Vendor、Messages
    • 几个模块已适应在事务系统中工作,尽管目前有些客户端仅在 ALP 的非事务变体中工作
    • 记录了关于在事务系统中进行软件安装的挑战和决策
    • 实现了当需要安装某些软件包时对事务系统的初始处理
    • 记录了如何执行容器化的 YaST,请参阅下一节,其中甚至包含在没有图形环境或 YaST 的系统上远程执行图形 YaST 的提示
    • 为 openQA 提供容器中的 libyui-rest-api(请参阅下面的用法部分中的 *-test-api 容器)
  • 计划中
    • 对文档进行小规模重组(以及现在已过时的 yast-in-container 仓库)
    • 修复一些在容器化和/或事务系统中无法正常工作的问题
    • 加速服务管理器
    • 尝试其他方法以进一步减小容器镜像的大小
  • 有关更多(分散)详细信息,请参阅博客文章:2022-07-192022-08-022022-08-232022-09-062022-09-222022-10-20

用法

有五个“官方”YaST 容器,所有容器都可在 SUSE:ALP:Workloads 仓库中找到。

该仓库,顾名思义,旨在为在 ALP 之上执行的容器化工作负载提供服务。但对于 YaST 而言,无论您是在 ALP、最新的 SLE、最新的 Leap 还是 openSUSE Tumbleweed 上运行它,该仓库都是容器化 YaST 的官方来源。

管理容器

有几个具有不同用户界面 (UI) 的容器。

  • yast-mgmt-ncurses - 基本容器镜像,包含带有文本模式 (ncurses) 用户界面的 YaST
  • yast-mgmt-qt - 此镜像添加了图形 (Qt) 用户界面,如果不可用,则回退到文本模式
  • yast-mgmt-web - 通过在 VNC 服务器中公开标准的图形 (Qt) UI 并使用 Javascript VNC 客户端在浏览器中渲染屏幕来添加 Web 访问

测试容器

这些容器旨在自动测试容器化的 YaST 本身。它们应由 openQA 或其他自动化测试使用。

请勿在生产环境中使用这些容器!使用测试 API 存在一些安全后果!

  • yast-mgmt-ncurses-test-api - 添加了用于在 openQA 测试中控制基于文本的界面的 REST API,不应在生产系统中使用
  • yast-mgmt-qt-test-api - 等效于前一个,但带有图形 Qt 界面

运行容器

可以通过以下方式在任何受支持的系统上执行容器化的 YaST

 podman container runlabel run registry.opensuse.org/suse/alp/workloads/tumbleweed_containerfiles/suse/alp/workloads/yast-mgmt-ncurses:latest

将“ncurses”替换为“qt”、“web”、“ncurses-test-api”或“qt-test-api”以享受替代版本。

路由有点冗余,将来可能会更改,但这不在 YaST 团队的控制范围内。

说明

使用 SSH X 转发的图形用户界面

您可以使用 yast-mgmt-qt 镜像远程或使用本地 X 服务器。SSH X 转发需要在远程机器上安装 xauth 包。该软件包未安装在默认的 ALP 系统中,您需要手动安装它。

 transactional-update pkg install xauth
 reboot

如果您从 SSH 会话运行此命令,则需要重新登录以激活 X 转发。要使用 SSH X 转发,请将“-X”SSH 选项添加到命令行。