documentation.suse.com / 使用 Cockpit 管理 SUSE Linux Enterprise Server
SUSE Linux Enterprise Server 16.0

使用 Cockpit 管理 SUSE Linux Enterprise Server

出版日期:2025 年 11 月 04 日
内容

Cockpit 可让您方便地执行许多管理任务。本文从基本系统概览开始,接着介绍存储管理,然后介绍如何使系统保持最新状态。

原因

本文旨在全面概述可从 Cockpit Web 界面执行的任务。

工作量

读完本文平均需要 40 分钟左右的时间。

目标

您将可以使用 Cockpit 来管理系统。

要求

要使用 Cockpit 全面管理系统,您必须拥有 sudo 特权。

1 关于 Cockpit

Cockpit 是一个基于 Web 的图形界面,可让您从一个位置管理大部分管理任务。您不需要为 Cockpit 创建身份凭证,因为默认情况下,Cockpit 使用您登录到服务器时所用的相同身份凭证。Cockpit 使用系统上已存在的 API,而无需向系统添加层。

Cockpit 可让您执行以下任务:

  • 下载容器映像和运行容器

  • 管理服务器存储空间

  • 检查和更改网络设置

  • 管理用户帐户

  • 查看系统日志

  • 检查 systemd 服务并与之交互

  • 切换 SELinux 模式

  • 在 Web 浏览器中使用远程服务器上的终端

2 Cockpit 安装

您可以在系统安装期间使用 Agama 安装 Cockpit,也可以稍后从运行的系统中安装。要验证系统上是否安装了 Cockpit,请运行:

> zypper se -i cockpit

如果未安装 Cockpit,请按照第 2.1 节 “安装 Cockpit”中所述操作。

2.1 安装 Cockpit

如果系统上没有 Cockpit,可以按以下步骤予以安装:

  1. 运行以下命令安装 Cockpit 软件集:

    > sudo zypper in -t pattern cockpit
  2. 如果 Cockpit 实例旨在用作主要实例,则您需要运行以下命令在 systemd 中启用 Cockpit 套接字:

    > sudo systemctl enable --now cockpit.socket

    运行该命令后,服务器将公开默认的 9090 端口,systemd 将启动侦听 9090 端口的 cockpit-ws 服务。

  3. 如果您已启用防火墙,请执行以下步骤:

    1. 打开 Cockpit 的防火墙

      > sudo firewall-cmd --permanent --zone=public --add-service=cockpit
    2. 运行以下命令重新加载防火墙配置:

      > sudo firewall-cmd --reload
  4. 现在,您可以通过在 Web 浏览器中打开以下地址来访问 Cockpit Web 界面:

    https://IP_ADDRESS_OF_MACHINE:9090

2.1.1 Cockpit 插件

Cockpit 使用插件来管理系统。插件包含在安装软件集中。不过,您可能无法看到某些插件,具体取决于您系统上安装的技术。例如,如果系统上不存在 NFS,则相应的 NFS 面板将不可见。

3 访问 Cockpit

Cockpit 允许您直接登录到可公开 9090 端口的每台计算机。此计算机有时称为主服务器。它是运行 cockpit-ws(用于与其他服务器建立连接)的主服务器。Cockpit 默认会同时侦听 HTTP 和 HTTPS 连接。不过,除了本地主机访问等例外情况外,大多数 HTTP 连接都会重定向到 HTTPS。

如果无法在特定计算机上访问该端口,您仍可以使用 Cockpit 来管理该计算机,只需将该计算机用作次服务器即可。有关将服务器添加为次服务器的过程,请参阅过程 2 “将服务器添加为次服务器”

注意
注意:次服务器的数量受到限制

可以从一台主服务器管理的次服务器数量限制为 20 个。如果需要管理更多服务器,请添加其他主服务器或使用其他工具进行群集管理。

3.1 TLS 证书

Cockpit 默认会从目录 /etc/cockpit/ws-certs.d 中加载 .cert.crt 证书。对应的私用密钥必须是一个文件名相同但带有 .key 后缀的单独文件。请确保密钥未加密。

如果在该目录中找不到证书,那么 Cockpit 会生成一个自我签名证书 (0-self-signed.cert) 来建立安全连接。

要了解 Cockpit 使用的是哪个证书,请运行以下命令:

> sudo /usr/libexec/cockpit-certificate-ensure --check

3.2 身份验证

您不需要单独的身份凭证来登录 Cockpit。使用用于登录 SUSE Linux Enterprise Server 的身份凭证即可。不过,如果是新安装系统,默认不允许使用 root 登录。请按照第 3.2.2 节 “允许 root 使用口令登录”中所述允许使用口令进行 root 登录,或是创建一个非特权用户来访问 Cockpit。在从旧版升级的实例上,仍允许 root 登录。在所有情况下,都建议按照第 3.2.1 节 “启用 2FA 授权”中所述添加 2FA 来增强安全性。

非特权用户以受限访问权限登录 Cockpit。要执行管理任务,请单击右上方菜单中的被限制的访问,然后输入 root 口令解锁管理员模式。

3.2.1 启用 2FA 授权

要在 SUSE Linux Enterprise Server 上设置 2FA,您需要有一个可用的 TOTP 应用程序(具体自选)。然后运行命令来配置授权。下面几节详细介绍了如何继续配置 2FA,还提供了当 2FA 失败时的应对说明。

3.2.1.1 提供 TOTP 2FA 的应用程序

SUSE Linux Enterprise Server 支持下列提供 2FA 的应用程序。

支持云存储的应用程序
  • PSONO - 适用于 Firefox 浏览器、Chrome 浏览器、Docker、iOS 系统、Android 系统

  • Google Authenticator - 适用于 Android 系统、iOS 系统及 Wear OS

  • Okta Verify - 适用于 Android 系统、iOS 系统、macOS 系统及 Windows 系统

仅支持本地存储的应用程序
3.2.1.2 设置 2FA

每个用户都可以配置自己的 2FA,也可以由 root 为系统中的任何普通用户配置 2FA。要从正在运行的系统中为用户设置 2FA,请按如下所示操作。

  1. 运行以下命令:

    > sudo /sbin/jeos-config otp
  2. 用上面提到的任一 TOTP 应用程序扫描二维码。

  3. 输入 OTP 码确认该过程。

3.2.1.3 恢复访问权限

设置 2FA 并非强制要求。不过,一旦设置,则必须通过第二重验证才能登录 Cockpit。如果无法使用第二重验证,可以对其进行更改或将其禁用。即便未通过第二重验证,您也仍可使用 SSH 或是直接从控制台登录计算机。登录后,您可以采取以下两种方法:

更改第二重验证

使用 sudoroot 身份或使用自己的用户名运行以下命令:

> sudo /sbin/jeos-config otp
禁用 2FA

从受影响用户的主目录中去除文件 .pam_oath_usersfile

3.2.2 允许 root 使用口令登录

警告
警告:使用口令进行 root 登录很不安全

出于安全原因,强烈建议您不要允许使用口令进行 root 登录。

在新安装的 SLES 中,出于安全考虑,默认禁止使用口令进行 root 登录。要允许使用口令进行 root 登录,请执行以下步骤:

  1. 打开 /etc/cockpit/disallowed-users 文件。

  2. 从文件中去除 root

3.3 直接登录到主服务器

只要您可以直接通过网络访问 9090 端口,就可以使用身份凭证直接登录到服务器。为此,请按照过程 1 “登录到主服务器”操作。

注意
注意:无需 Cockpit 的专用身份凭证

默认情况下,访问由 /usr/lib/pam.d/cockpit 中特定于 Cockpit 的 PAM 堆栈控制。默认配置允许使用系统上任何本地帐户所用的相同用户名和口令登录。

过程 1︰ 登录到主服务器
  1. 在浏览器中打开以下地址,进入 Cockpit 登录页面:

    https://IP_ADDRESS_OF_MACHINE:9090
  2. 输入身份凭证。

3.4 登录到次服务器

如果您的计算机无法直接访问 9090 端口,您可以将此计算机用作次服务器。确保在该计算机上安装了 Cockpit。

可通过两种方式登录到次服务器:可以直接登录到次服务器,或使用主服务器。

3.4.1 直接登录到次服务器

可以在不事先登录到主服务器的情况下登录到任何次服务器。如果您没有主服务器的身份凭证,此解决方案可能很有用。主服务器将用作网桥,您将使用 SSH 连接到次服务器。

要连接到次服务器,请执行以下步骤:

  1. 在浏览器中打开以下地址,进入 Cockpit 登录页面:

    https://IP_ADDRESS_OF_MACHINE:9090
  2. 填写次服务器的身份凭证。

  3. 在登录屏幕上展开其他选项

  4. 填写次服务器的 IP 地址。

  5. 单击登录继续。

  6. 如果您是第一次尝试登录,系统会要求您校验指纹。校验后,单击接受和连接

3.4.2 从主服务器访问次服务器

如果您有主服务器的身份凭证,则可以从主服务器访问次服务器。必须先按过程 2 “将服务器添加为次服务器”中所述添加次服务器。

过程 2︰ 将服务器添加为次服务器
  1. 使用具有系统管理员角色的帐户登录到主服务器。

  2. 单击左上角的 USERNAME@HOSTNAME

  3. 单击添加新主机

  4. 填写主机标识和(可选)用于登录到服务器的用户名。可为计算机指派颜色。填写完详细信息后,单击添加

  5. 校验要添加的服务器上的指纹。如果指纹匹配,或者您尚未设置 SSH 连接,请单击信任并添加主机继续。

  6. 填写口令,并根据需要选中自动登录。Cockpit 将为用户生成新的 SSH 密钥,下一次您会自动登录。

3.5 切换到管理模式

默认情况下,普通用户可以使用受限访问权限登录到 Cockpit。在这种情况下,用户无法执行管理用户帐户、更新系统等管理任务。

要切换到管理员权限,请执行以下步骤:

  1. 单击被限制的访问按钮。

  2. 填写 root 口令。

  3. 单击认证进行确认。

要关闭管理模式,请执行以下步骤:

  1. 单击管理员模式

  2. 要确认,请单击被限制的访问

4 使用 Cockpit 配置服务器

使用 Cockpit 的概览部分,您可以对默认服务器配置或手动安装期间提供的配置进行更改。在此部分,您可以更改主机名、系统日期或时区。

4.1 更改服务器主机名

要更改主机名,请执行以下步骤:

过程 3︰ 更改主机名
  1. 导航到概览页面。

  2. 配置部分,单击编辑

  3. 填写以下信息:

    • 易读主机名 - 用户定义的自由格式主机名

    • 实际主机名 - 设备在网络中的名称

4.2 更改系统时间或时区

要更改系统时间或时区,请执行以下步骤:

过程 4︰ 更改系统时间或时区
  1. 导航到概览页面。

  2. 单击系统时间值。

  3. 在弹出窗口中,可更改以下设置:

    • 时区 - 在手动安装期间设置的值;如果使用的是原始映像,请将时区设置为 UTC。

    • 设置时间 - 默认情况下,NTP 用于时间同步。可以手动设置时间;如果您定义了备用 NTP 服务器,则可以使用这些 NTP 服务器进行时间同步。

5 过滤 Cockpit 日志

可根据以下条件过滤日志:

注意
注意:过滤条件搭配使用

更改任何时间、优先级或标识符条件时,仍会应用其他条件。例如,如果将时间条件更改为最近 24 小时,则优先级和标识符条件将保持不变。

5.1 根据时间过滤

要根据特定时间过滤日志,可从以下值中进行选择:

当前启动

仅显示当前引导的日志。单击继续按钮可以连续刷新当前显示的日志。

以前启动

显示与上次引导相关的日志。

最近 24 小时

显示过去 24 小时内记录的日志。

最近 7 天

显示过去 7 天内记录的日志。

5.2 根据优先级过滤

使用标准的 syslog 严重性级别(从最严重到最不严重排序):

仅限紧急情况

系统不可用。这是一种系统崩溃状态。

警报及更高级别

此日志需要您立即采取措施。

严重及更高级别

主系统发生故障。您应该立即纠正问题。

错误及更高级别

不属于紧急错误,但应在指定时间内予以处理。

警告及更高级别

本身不属于错误,但表示“如果不采取行动,可能会发生错误”。

通知及更高级别

不属于错误的非寻常事件。无需立即采取措施。

信息及更高级别

正常运行状态下的消息,用于确认系统运行正常。

调试及更高级别

这些消息仅用于调试系统。

5.3 日志过滤器

在此处可根据以下准则微调日志视图:

自从

将显示指定日期或之后的日志。可通过以下方式指定时间:

  • 使用 YYYY-MM-DD 格式的绝对日期

  • 使用以下任意字词:yesterdaytodaytomorrownow

  • 通过在值前面添加 - 或 + 前缀并指定单位来使用相对时间。可使用以下单位:secondssminutesminhourshdaysdweekswmonthsm,以及 yearsy

直到

将显示指定日期或之前的日志。可通过以下方式指定时间:

  • 使用 YYYY-MM-DD 格式的绝对日期

  • 使用以下任意字词:yesterdaytodaytomorrownow

  • 通过在值前面添加 - 或 + 前缀并指定单位来使用相对时间。可使用以下单位:secondssminutesminhourshdaysdweekswmonthsm,以及 yearsy

引导

输入一个整数:0 表示当前引导,-1 表示上次引导,1 表示首次引导,2 表示第二次引导,依此类推。

单元

指定要显示的日志的 systemd 单元。使用以下格式之一:

  • _SYSTEMD_UNIT=NAME.service

  • COREDUMP_UNIT=NAME.service

  • UNIT=NAME.service

自由形式搜索

输入要在日志消息中查找的字符串。您还可以使用与 PERL 兼容的正则表达式。或者,可以根据采用 FIELD=VALUE 格式的消息日志字段过滤消息。例如,指定 CODE_LINE=349 会显示包含此值的日志。

6 使用 Cockpit 管理存储

存储页面中,可以监控驱动器上的流量、将系统重新分区、管理 NFS 挂载、查看存储日志,以及创建 RAID 或 LVM。

6.1 监控磁盘上的数据流

存储页面上的图表显示了读取和写入到设备的数据流。图表中的每个设备带有不同的颜色。将鼠标悬停在显示的数据流峰值上可识别设备名称。

Cockpit 存储
图 1︰ 数据流视图

6.2 管理文件系统

文件系统视图中,可以创建分区表,以及格式化或挂载文件系统。您可以根据名称挂载点对挂载的分区进行排序。

6.2.1 使用 Cockpit 格式化分区

要格式化分区,请执行以下步骤:

过程 5︰ 格式化分区
  1. 导航到存储页面。

  2. 文件系统视图中,单击要格式化的分区。

  3. 单击相应分区说明旁边的格式化,打开格式化窗口。

  4. 输入分区的唯一名称。

  5. 挂载点中,指定要将分区挂载到的目录。挂载点是必填字段。

  6. 类型中,选择文件系统类型。对于 / 分区,必须选择 Btrfs。

  7. 根据需要配置加密:

    “密码”和“确认”

    输入密码以解锁加密的分区。

    存储密码

    密码将存储在 /etc/luks-keys 中,下次引导时,系统不会再要求您输入密码。

    加密选项

    您可以传递支持的加密选项中所述的一系列选项。

  8. 选择挂载选项。在自定义挂载选项文本字段中,可以输入一系列逗号分隔的选项。有关常用选项,请参见文件系统独立挂载选项。这些选项在 /etc/fstab 文件的 options 部分中使用。

6.2.2 使用 Cockpit 挂载分区

注意
注意:必须格式化分区

在尝试挂载分区或磁盘之前,首先需要将设备格式化。有关详细信息,请参见过程 5 “格式化分区”

要挂载分区,请执行以下步骤:

  1. 导航到存储页面。

  2. 文件系统视图中,单击要挂载的设备。

  3. 单击挂载打开挂载文件系统窗口。

  4. 指定挂载点

  5. 自定义挂载选项文本字段中选择挂载选项,可以输入一系列逗号分隔的选项。有关常用选项,请参见文件系统独立挂载选项。这些选项在 /etc/fstab 文件的 options 部分中使用。

  6. 选择必须挂载分区的引导阶段。

  7. 单击挂载继续。

6.3 管理 NFS 挂载点

存储页面下的 NFS 挂载视图中,可以添加、编辑或删除 NFS 挂载。

6.3.1 添加 NFS 挂载点

要添加 NFS 挂载点,请执行以下步骤:

  1. 导航到存储页面。

  2. 从三线菜单中,选择新的 NFS 挂载视图。

  3. 指定以下值:

    服务器地址

    提供 NFS 服务器的 IP 地址或名称。

    服务器上的路径

    选择 NFS 服务器上可挂载的可用路径。

    本地挂载点

    在本地系统上指定该路径将要挂载到的目录。

    挂载选项

    检查以下任一选项:

    • 引导时挂载 - 每次启动或重启系统后自动挂载该路径。

    • 只读挂载 - 您将无法对 NFS 路径中的数据进行更改。

    • 自定义挂载选项是一系列逗号分隔的 mount 命令选项。

6.3.2 编辑现有的 NFS 挂载点

要编辑 NFS 挂载,请执行以下步骤:

  1. 导航到存储页面。

  2. NFS 挂载视图中,单击要编辑的 NFS 挂载。

  3. 在随即显示的屏幕上,单击编辑并按 NFS 挂载详细信息中所述指定详细信息。

6.4 使用 Cockpit 管理 RAIDS

使用 Cockpit,可以创建或修改不同级别的软件 RAID。

6.4.1 使用 Cockpit 创建 RAID

注意
注意:足够数量的磁盘

确保有足够数量的可用磁盘(根据 RAID 级别)。

要创建软件 RAID,请执行以下步骤:

过程 6︰ 创建 RAID
  1. 导航到存储页面。

  2. 设备视图的三线菜单中选择创建 RAID 设备选项。

  3. 输入 RAID 的以下参数:

    名称

    输入 RAID 的唯一名称。

    RAID 级别

    选择一个 RAID 级别。

    区块大小

    区块的大小,以 KB 为单位。区块是指在单次读/写操作期间,读取或写入到阵列中每个数据磁盘的最小数据量。

    磁盘

    选择应包含在 RAID 中的磁盘。所需磁盘数量取决于所选的 RAID 级别。

  4. 单击创建确认参数。该 RAID 随即会出现在设备部分。

6.4.2 修改 RAID

使用 Cockpit 的存储插件可以停止或删除 RAID。在这里,您还可以在阵列中去除或添加磁盘。

要修改现有 RAID,请执行以下步骤:

  1. 导航到存储页面。

  2. 单击设备中的 RAID 打开 RAID 详细信息视图。

  3. 在详细视图中,您可以停止或删除 RAID、添加或去除磁盘,以及格式化设备。

    对于某些 RAID 级别,您可以打开 Bitmap 选项,以便仅在磁盘暂时断开连接后才同步更改。如果 Bitmap 处于关闭状态,则会同步磁盘上的所有数据。

注意
注意:去除或添加磁盘

对阵列的磁盘编号进行任何更改后,系统将执行重新同步,这可能需要一段时间。请记住,每个 RAID 级别都有最低数量的磁盘要求,因此,Cockpit 不允许去除特定 RAID 级别所需的磁盘。

6.5 管理卷组和 LVM

6.5.1 创建卷组

要创建磁盘的卷组,请执行以下步骤:

  1. 单击存储

  2. 设备中的三线菜单下,选择创建 LVM2 卷组

  3. 输入卷组名称。

  4. 选择要包含在卷组中的磁盘。

  5. 单击创建确认数据。该卷组随即会显示在设备视图中。

6.5.2 创建逻辑块卷

如果您有卷组,可以基于该卷组创建逻辑块卷。为此,请执行如下操作:

  1. 导航到存储页面。

  2. 设备中,单击要使用的卷组。

  3. 单击创建新逻辑卷

  4. 指定逻辑卷名称。选择块设备以及要使用的大小。

  5. 选择文件系统的块设备

  6. 选择要使用的大小。

  7. 单击创建确认详细信息。

  8. 单击格式化并按步骤 4 中所述填写详细信息,以格式化块卷。

6.5.3 创建精简逻辑卷

如果您有卷组,可以如下所述创建精简逻辑卷:

过程 7︰ 创建精简逻辑卷
  1. 导航到存储页面。

  2. 设备中单击该卷组。

  3. 在卷组详细信息中,单击创建新逻辑卷

  4. 指定逻辑卷名称。

  5. 选择精简分配的卷池。

  6. 选择要使用的大小。

  7. 单击创建确认详细信息。

  8. 单击创建Thin卷以创建精简卷。

  9. 输入一个唯一的名称。

  10. 选择卷的大小。

  11. 单击创建确认精简卷配置。

  12. 您可以再次单击创建Thin卷并重复上述步骤,创建特定卷组的多个卷。

  13. 单击格式化并按步骤 4 中所述填写详细信息,以格式化卷。

6.5.4 管理逻辑卷

要对现有逻辑卷执行任何管理任务,请执行以下步骤:

  1. 导航到存储页面。

  2. 文件系统视图中,单击该逻辑卷。

  3. 在这里,您可以对现有逻辑卷执行以下操作:

    取消激活/激活

    在三点菜单中,选择取消激活激活

    挂载

    可以通过单击挂载并填写挂载点和选项来挂载卷。

    缩小/增长

    请注意,缩小/增长功能不适用于部分文件系统。

    在展开的卷详细信息中,单击缩小增长

    删除

    在三点菜单中,选择删除

7 使用 Cockpit 管理网络

单击网络后,可以查看系统上的流量、管理防火墙及网络接口或查看网络日志。

7.1 管理防火墙规则和区域

Cockpit 允许您创建新区域或更新现有区域。在防火墙设置中,可以向区域添加服务或允许访问端口。

注意
注意:Cockpit 服务是必需的

请不要从默认防火墙区域中去除 Cockpit 服务,因为这可能会阻止 Cockpit 服务,导致您从服务器断开连接。

7.1.1 添加防火墙区域

公共区域是默认的防火墙区域。要添加新区域,请执行以下步骤:

过程 8︰ 添加新的防火墙区域
  1. 导航到网络页面。

  2. 单击编辑规则和区域

  3. 单击添加区域

  4. 选择信任级别。网络连接的每个信任级别都有一组预定义的包含服务(Cockpit 服务包含在所有信任级别中)。

  5. 定义区域内允许的地址。选择以下值之一:

    • 整个子网,表示允许子网中的所有地址。

    • 范围 - 一系列包含路由前缀的 IP 地址(用逗号分隔),例如 192.0.2.0/24, 2001:db8::/32。

  6. 单击添加区域继续。

7.1.2 将允许的服务和端口添加到区域

可如下所述将服务添加到现有的防火墙区域:

过程 9︰ 将服务添加到防火墙区域
  1. 导航到网络页面。

  2. 单击编辑规则和区域

  3. 单击添加服务

  4. 要添加服务,请选中服务,然后从列表中选择所需服务。

  5. 要允许自定义端口,请选中自定义端口并指定 UDP 和/或 TCP 端口值。可为此端口指派标识符。

  6. 要确认更改,请相应地单击添加服务添加端口

7.2 关于网络绑定

绑定接口用于将多个网络接口组合成一个绑定。根据模式的不同(后文将会介绍),网络绑定可以提高网络吞吐量和带宽,从而提升性能。网络绑定还可以通过保持总体连接来提高容错能力,即使某些绑定的接口停止工作。

7.2.1 管理绑定

7.2.1.1 添加绑定
警告
警告:创建绑定时使用 DHCP 可能会导致与 Cockpit 的连接中断

如果您尝试创建网络绑定时存在以下情况,当 Cockpit 的 IP 地址发生变化时,您与 Cockpit 的连接将会中断:

  • 在运行 Cockpit 的服务器上使用 DHCP

  • 当前使用的网络接口添加了到新的网络绑定中

要添加绑定,请执行以下步骤:

  1. 导航到网络页面。

  2. 单击添加绑定

  3. 指定绑定接口的以下参数:

    名称

    输入接口的唯一名称。

    接口

    选择应分组到绑定中的网络接口。

    MAC

    可以选择底层接口的特定 MAC 地址,也可以使用以下任一选项:

    永久的

    如果设备具有 MAC 地址,则使用永久硬件地址。

    保留

    在绑定激活期间,MAC 地址不会更改。

    随机

    每次尝试连接时创建一个随机 MAC 地址。

    稳定

    创建经过哈希处理的 MAC 地址。

    模式

    保留默认模式,或选择以下任一模式:

    轮循

    将来自第一个可用接口的数据包传输到最后一个接口。该模式提供容错和负载平衡。

    已启用的备用接口

    绑定中只有一个接口处于活动状态。如果活动接口发生故障,则激活备用接口。

    XOR

    使用传输哈希策略进行平衡。默认设置为模设备计数。要选择其他策略,请在选项字段中指定 xmit_hash_policy 选项。

    广播

    在所有接口上传输任何内容。

    自适应传输负载均衡

    一种不需要任何特殊交换机支持的通道绑定。外发流量根据每个接口上的当前负载进行分配。

    自适应负载均衡

    包括自适应传输负载均衡和接收负载均衡,不需要特殊的交换机支持。

    此参数仅适用于已启用的备用接口模式。可以选择特定的接口用作主接口,而绑定中的其他接口用作次接口。

    链路监控

    选择链路监控的类型。

    监控间隔

    指定特定链路监控器执行检查的间隔。值以毫秒为单位。

    链路启用延时

    定义在激活链路后,经过多长时间(以毫秒为单位)禁用绑定。该值应为监控间隔值的倍数,否则系统会将其舍入为最接近的值。仅适用于 MII 链路监控器。

    链路断开延时

    定义在检测到链路故障后,经过多长时间(以毫秒为单位)禁用绑定。该值应为监控间隔值的倍数,否则系统会将其舍入为最接近的值。仅适用于 MII 链路监控器。

    监控目标

    指定要监控的主机 IP 地址列表。仅适用于 ARP 链路监控器。

  4. 单击应用继续。

7.2.1.2 修改绑定

要修改绑定,请执行以下步骤:

  1. 导航到网络页面。

  2. 单击特定绑定名称打开细节。

  3. 可修改以下绑定参数:

    绑定

    从列表中选择 MAC 地址。

    自动连接

    默认情况下,绑定会自动连接。取消选中该框会禁用自动连接。

    IPv4 和 IPv6

    单击编辑后,可以设置 IP 地址,并配置特定的 DNS、DNS 搜索域和路由。

    MTU

    单击编辑后,可以指定特定的最大传输单元值(以字节为单位)。

    绑定

    单击编辑后,可以编辑创建绑定接口时指定的参数。

7.3 管理网桥

网桥是基于多个网络创建单个聚合网络的设备。

7.3.1 创建网桥

警告
警告:创建网桥时使用 DHCP 可能会导致与 Cockpit 的连接中断

如果您尝试创建网桥时存在以下情况,当 Cockpit 的 IP 地址发生变化时,您与 Cockpit 连接的将会中断:

  • 在运行 Cockpit 的服务器上使用 DHCP

  • 当前使用的网络接口添加到了新的网桥中

要创建网桥,请执行以下步骤:

  1. 导航到网络页面。

  2. 接口视图中,单击添加网桥

  3. 指定以下内容:

    名称

    指定网桥的唯一名称。

    端口

    选择要包含在网桥中的接口。

    生成树协议 (STP)

    STP 是用于以太网的网络协议,每当网络交换机与多个链路连接时,该协议就会通过设置首选链路来防止出现网桥环路。除非此首选链路发生故障,否则会将其用于所有以太网流量。如果发生故障,将改用冗余链路。有关 STP 的详细信息,请参见 STP

    如果您启用了 STP 协议,可以编辑以下设置:

    STP 优先级

    优先级越低,交换机成为根交换机的概率就越大。

    STP 转发延迟

    指定在侦听和学习状态下花费的时间(以秒为单位)。默认值为 15 秒,但您可以使用 4 到 30 秒之间的任意值。

    STP hello 时间

    指定在端口上发送每个网桥协议数据单位 (BDPU) 的间隔时间(以秒为单位)。默认值为 2 秒,但建议的范围为 1 到 10 秒。

    STP 最大消息有效期

    指定在网桥端口保存其配置 BPDU 信息之前经过的最长时间。

7.3.2 修改或删除现有网桥

要修改或删除网桥,请执行以下步骤:

  1. 导航到网络页面。

  2. 接口视图中,单击网桥名称打开相应详细信息。

  3. 在这里,您可以通过单击删除来删除网桥,或者通过更改以下任何详细信息来修改网桥:

    通用

    默认情况下,网桥会自动连接。要禁用自动连接,请取消选中该选项。

    IPv4 和 IPv6

    单击编辑后,可以设置 IP 地址,并配置特定的 DNS、DNS 搜索域和路由。

    网桥

    可以单击编辑来编辑网桥的所有参数。

7.4 使用 Cockpit 管理 VLAN

虚拟局域网是一个逻辑子网,用于将不同物理 LAN 中的设备分组到一起。

7.4.1 创建虚拟局域网

要添加 VLAN,请执行以下步骤:

  1. 导航到网络页面。

  2. 接口视图中,单击添加 VLAN

  3. 填写 VLAN 细节:

    选择父网络接口。

    VLAN ID

    指定 1–4094 范围内的 ID。

    名称

    输入 VLAN 的名称。

7.4.2 修改或删除现有 VLAN

要修改或删除现有的 VLAN,请执行以下步骤:

  1. 导航到网络页面。

  2. 接口视图中,单击 VLAN 名称。

  3. 单击删除来删除 VLAN,或更改任何 VLAN 详细信息:

    选择父网络接口。

    VLAN ID

    指定 1–4094 范围内的 ID。

    名称

    输入 VLAN 的名称。

8 使用容器

首次登录到 Cockpit 后,需要启动 Podman。将默认复选框保持选中状态可在每次引导时自动启动 Podman。

Podman 容器页面中,可以从注册表拉取映像,以及管理容器。还可以通过在过滤器字段中输入过滤准则来过滤视图。

8.1 管理容器映像

注意
注意:默认情况下未启用 openSUSE 注册表和 Docker Hub

默认安装中未配置 openSUSE 注册表和 Docker Hub。要从这些注册表下载容器映像,需要将注册表添加到 /etc/containers/registries.conf 文件中,如下所示:

unqualified-search-registries = ["registry.suse.com", "registry.opensuse.org", "docker.io"]

映像视图中,您可以下载、更新或删除已拉取的映像。每个功能都可在三点菜单下找到。单击菜单后,会看到以下选项:

  • 下载新映像过程 10 “下载新映像”中介绍了下载映像的步骤。

  • 拉取所有映像:Cockpit 会拉取已下载容器映像的新版本。

  • 删除所有未使用的映像:系统会去除所有未被任何容器使用的映像。

过程 10︰ 下载新映像
  1. Podman 容器 › 映像视图中,打开三点菜单,然后选择下载新映像

  2. 选择所有者以定义谁能查看下载的映像。如果选择系统,则只有拥有管理员权限的用户才能查看映像。以用户所有者身份下载的映像对普通用户可见,同时对拥有管理员权限的所有其他用户可见。

  3. 选择首选的映像注册表,或选择All registries继续。

  4. 定义标签。默认值为 latest

  5. 搜索字段中填写映像名称或说明开始搜索。

    Cockpit 会根据输入的名称、注册表和标记建议可能的映像。

  6. 选择所需的映像,然后单击下载

8.2 使用 Cockpit 管理容器

8.2.1 从映像运行新容器

注意
注意:运行容器时需要有映像

要运行容器,需要有一个容器映像。可以使用 Podman 或 Cockpit 拉取映像。使用 Cockpit 时,您可以按照过程 10 “下载新映像”中所述提前拉取映像,也可以按照下面所述直接通过创建容器表单拉取映像。

要运行新容器,请执行以下步骤:

  1. 导航到 Podman 容器页面。

  2. 如果您提前拉取了映像:

    1. 映像视图中,单击显示映像

    2. 单击要使用的映像旁边的创建容器

  3. 如果您没有映像,请单击容器视图中的创建容器

  4. 创建容器窗口中,如下所述输入容器详细信息。请注意,某些选项仅供系统管理员使用。

    详情选项卡中输入以下详细信息:

    所有者

    选择该容器是否仅对拥有 sudo 特权的用户可见(选择系统即会如此)。如果选择用户,则该容器对特权用户和普通用户可见。

    名称

    为容器指定唯一名称。

    映像

    如果您没有映像,系统会启用此字段。当您开始键入映像名称后,Cockpit 会显示已配置注册表中的映像的名称。

    拉取最新的映像

    如果您是基于已下载的映像创建容器,该复选框将处于可用状态。如果选择此选项,则会在启动容器之前拉取最新版本的映像。

    命令

    可以指定要在容器中运行的命令。

    使用终端

    选择可以使用终端访问容器的选项。如果未选择此选项,则容器将处于分离状态。

    内存限制

    可以通过选中该框并指定限制来限制容器的最大内存消耗量。

    CPU 份额

    指定容器使用的 CPU 时间权重。默认权重为 1024。仅当容器承受高负载时,该权重才适用。如果一个容器中的任务处于空闲状态,则其他容器可以使用该容器的 CPU 时间。

    如果您有四个容器,其中两个容器的 CPU 份额为 512,另外两个容器的 CPU 份额为 1024。在这种情况下,承受高负载时,CPU 份额较低的容器只能获得 16.5% 的 CPU 时间,而 CPU 份额为 1024 的容器将获得 33% 的 CPU 时间。

    集成选项卡中,可以输入以下参数:

    端口映射

    单击添加端口映射按钮后,指定主机 IP 地址、要将容器端口映射到的主机端口、容器端口,然后选择协议。如果您未设置主机 IP 地址或将值设置为 0.0.0.0,则端口将绑定到所有主机 IP 地址。如果您省略主机端口,将使用随机端口进行映射。

    此字段将容器中的路径映射到主机上的路径。填写主机路径和容器路径,然后选择 SELinux 标签。

    SELinux 的私有标签定义了只能从特定的容器访问卷。共享标签表示所有容器都可以访问卷。

    环境变量

    要在容器中定义环境变量,请单击添加变量并填写。可以通过添加更多行来输入多个变量。

    健康检查选项卡中,可以设置触发命令检查容器状态的时间段。填写以下参数:

    命令

    指定要触发的、用来检查容器状态的命令。

    间隔

    指定检查间隔(以秒为单位)。

    超时

    在将间隔视为失败之前要等待的最长时间(以秒为单位)。

    开始期间

    容器启动之后,不执行健康检查的时间间隔。

    重试

    指定在将容器视为健康状况不良之前可以执行检查的次数。

    当不健康时

    选择在将容器视为健康状况不良后要执行的操作。

  5. 要创建容器,请单击创建创建并运行以创建并启动容器。

8.2.2 对运行中容器的进一步操作

可以通过三点菜单执行以下操作:

  • 删除容器

  • 暂停容器

  • 提交对容器执行的更改,例如,将软件包安装到容器

  • 创建容器检查点 - 将容器的状态写入磁盘并停止容器

  • 通过常规的重启操作(这会停止容器内运行的进程)或强制重启操作(这会终止进程,可能会丢失数据)来重启容器

  • 通过常规的停止强制停止检查点操作停止容器。使用检查点时,会将容器中所有进程的状态写入磁盘,下次启动后,容器将恢复到停止前的相同状态点。

展开容器详细信息后,可以在控制台选项卡中访问容器的终端,并在其他选项卡中查看其信息。

8.3 Pod 管理

8.3.1 创建 Pod

Cockpit 允许您创建 Pod,然后您又可以在 Pod 中创建容器。要创建 Pod,请执行以下步骤:

  1. 导航到 Podman 容器页面。

  2. 单击创建 pod

  3. 填写 Pod 细节:

    名称

    输入 Pod 的唯一名称。

    所有者

    指定 Pod 是仅对拥有 root 特权的用户可见,还是对普通用户也可见。

    端口映射

    单击添加端口映射后,可以将 Pod 端口映射到主机端口。指定容器端口,并指派所需的主机端口和 IP 地址。如果主机 IP 地址未设置或设置为 0.0.0.0,则端口将绑定到所有主机 IP 地址。如果省略主机端口号,则会为映射指派随机端口号。

    单击添加卷后,可以将主机上的目录映射到容器的卷。选择主机路径,输入容器中的路径,然后选择 SELinux 标签。

  4. 单击创建确认创建 Pod。

8.3.2 在 Pod 中创建容器

重要
重要:无法将现有容器添加到 Pod

规划时请记住,Pod 中只能运行新容器。无法将已创建的、但尚未在 Pod 下运行的容器添加到任何 Pod。

要在 Pod 中创建容器,请执行以下步骤:

  1. 导航到 Podman 容器页面。

  2. 在所需的 Pod 组中,单击在 pod 中创建容器

  3. 按照第 8.2.1 节 “从映像运行新容器”中所述填写容器细节。请记住,新容器的所有者与特定 Pod 的所有者相同。

9 使用 Cockpit 进行用户管理

在 Cockpit 账户屏幕中,可以管理用户帐户和组。

注意
注意:用户管理功能仅供服务器管理员使用

只有拥有管理员权限的用户才能编辑其他用户。

使用 Cockpit 账户屏幕可执行以下任务:

9.1 修改现有用户帐户

要修改用户帐户,请执行以下步骤:

  1. 导航到账户页面。

  2. 单击要修改的帐户。

  3. 在用户细节视图中,可执行以下操作:

    删除用户

    单击删除可从系统中去除用户。

    终止用户的会话

    单击终止会话可从系统中注销特定的用户。

    管理帐户访问权限

    可以设置帐户的失效日期。默认设置是永不失效。

    可以禁止用户使用其口令登录。在这种情况下,用户必须使用不同的身份验证方法。

    管理用户的口令

    单击设置密码可为帐户设置新的口令。

    如果您单击强制更改,用户在下次登录时必须更改口令。

    单击编辑可设置口令是否失效或何时失效。

    添加 SSH 密钥

    可以添加 SSH 密钥,以便通过 SSH 进行无口令身份验证。单击添加密钥,粘贴 SSH 公共密钥的内容,然后单击添加进行确认。

9.2 使用 Cockpit 创建用户帐户

要将新用户添加到系统,请执行以下步骤:

  1. 导航到账户页面。

  2. 单击创建新账户打开可添加新用户的窗口。

  3. 填写用户帐户细节。可以在家目录下拉菜单中为用户分配不同的主目录。如果您未指定目录,则会使用标准的 /home/USERNAME 路径。

    如果您选择不允许密码验证,则用户必须使用一种无需填写口令的身份验证方法,例如 SSH 登录。

  4. 单击创建确认帐户。

  5. 要为帐户添加 SSH 密钥,需要按照第 9.1 节 “修改现有用户帐户”中所述修改帐户。

9.3 创建用户组

本主题介绍如何创建用户组。

要创建用户组,请执行以下步骤:

  1. 导航到帐户页面。

  2. 单击创建新组

  3. 输入组的唯一名称,并指定设置或保留默认设置。

    注意
    注意

    无法重写现有的组 ID。小于 1000 的组 ID 通常是为系统帐户、服务等保留的。如果创建的组的 ID 小于 1000,则以后无法使用 Cockpit 删除该组。

10 使用 Cockpit 管理服务

以下各节介绍如何启动、停止和重启服务、目标、套接字、计时器或路径。

10.1 管理 systemd 单元

要管理 systemd 单元,请执行以下步骤:

  1. 单击服务页面。

  2. 选择相应的选项卡(系统服务目标套接字计时器路径)。

  3. 单击要管理的单元。

  4. 在单元细节中,可以查看该单元与其他 systemd 单元的关系、该单元的状态,或者可以执行三点菜单中提供的以下操作:

    • 启动未运行的单元

    • 重启正在运行的单元

    • 停止正在运行的单元

    • 不允许运行 - 这会永久停止服务,包括其所有依赖项。请记住,依赖服务可能已由其他单元使用,禁止该单元可能会导致系统出现严重问题。

10.2 创建新的计时器

systemd 计时器可帮助您自动执行重复性任务。systemd 计时器可以控制 systemd 服务的触发和事件的处理。

注意
注意:覆盖现有的计时器

默认的 systemd 计时器集存储在 /usr/lib/systemd 中。如果您使用已存在的名称创建计时器,则不会重写默认单元文件,但会在 /etc/systemd/system/ 中创建新的单元文件,而该文件会覆盖默认单元文件。要将计时器恢复为默认计时器,请删除 /etc/systemd/system/ 中的计时器单元文件。

如果您尝试创建的计时器已在 /etc/systemd/system/ 目录中存在,则会重写单元文件,并且之前的更改将会丢失。

要使用 Cockpit 创建 systemd 计时器,请执行以下步骤:

  1. 导航到服务

  2. 计时器选项卡中,单击创建定时器

  3. 填写细节:

    名称

    将在单元名称以及服务单元名称中使用的计时器名称。例如,指定名称 example 会创建以下单元文件:/etc/systemd/system/example.timer/etc/systemd/system/example.service

    说明

    可以提供计时器的简短说明。

    命令

    触发计时器时要调用的命令。

    触发器

    可以在每次重引导计算机时或者在特定的时间触发计时器。对于系统引导后选项,可以定义服务调用的延时。对于在指定时间选项,可以指定何时应调用服务。

11 SELinux 模式和策略

使用 SELinux 工具可以在 SELinux 模式之间切换,并查看 SELinux 策略的当前修改内容。

重要
重要:缺少 SELinux 模块

只有在系统上启用了 SELinux 时,SELinux Cockpit 模块才可见。如果您无法访问该模块,则表示 SELinux 可能已被禁用。要检查是否已启用 SELinux ,请运行以下命令:

> sestatus

SUSE Linux Enterprise Server 上,SELinux 默认处于强制模式。要暂时切换到宽松模式,请单击带有 Enforcing 标签的按钮。请注意,更改只能保留到下次引导前。如果您需要对模式执行永久更改,请编辑配置文件 /etc/selinux/config

系统改变会列出对默认 SELinux 策略执行的所有修改。如果您要导出修改并将其重用于不同的服务器,请单击查看自动化脚本。在新窗口中,可以复制外壳脚本或者可应用于其他服务器的 Ansible 配置文件。

11.1 解决 SELinux 访问问题

SELinux 页面中,可以查看审计日志中的拒绝访问消息。除此之外,Cockpit 还提供了解决拒绝访问错误的可能方法。为此,请执行以下步骤:

  1. 导航到 SELinux 页面。

  2. SELinux 访问控制错误中,展开拒绝访问错误的详细信息。

  3. 要查看审计日志记录,请单击审计日志

  4. 要查看可能的解决方案,请单击方案。可以通过单击采用该解决方案来直接通过 Cockpit 实施某些解决方案。