使用 Cockpit 管理 SUSE Linux Micro
- 内容
Cockpit 可让您方便地执行许多管理任务。本文从基本系统概览开始,接着介绍存储管理,然后介绍如何使系统保持最新状态。
- 原因
本文旨在全面概述可从 Cockpit Web 界面执行的任务。
- 工作量
用户必须花费的工作量
- 目标
您将可以使用 Cockpit 来管理系统。
- 要求
要使用 Cockpit 全面管理系统,您必须拥有
root
访问权限或sudo
特权。
1 关于 Cockpit #
Cockpit 是一个基于 Web 的图形界面,可让您从一个位置管理大部分管理任务。您不需要为 Cockpit 创建身份凭证,因为默认情况下,Cockpit 使用您登录到服务器时所用的相同身份凭证。Cockpit 使用系统上已存在的 API,而无需向系统添加层。
Cockpit 可让您执行以下任务:
下载容器映像和运行容器
更新服务器
检查和更改网络设置
管理用户帐户
查看系统日志
检查
systemd
服务并与之交互在 Web 浏览器中使用远程服务器上的终端
2 安装 Cockpit #
2.1 简介 #
Cockpit 包含在提供的 default
类型的预构建映像中。在 base
类型的预构建映像中,Cockpit 并未安装,因此您必须按照第 2.3 节 “安装 Cockpit”中所述予以安装。
2.2 Cockpit 插件 #
在 default
类型的映像中,Cockpit 包含全套插件,但您可能无法看到某些插件,具体取决于您系统上安装的技术。例如,如果系统上不存在 NFS,则相应的 NFS 面板将不可见。
2.3 安装 Cockpit #
如果系统上没有 Cockpit,可以按以下步骤予以安装:
运行以下命令安装 Cockpit 软件集:
#
transactional-update pkg install -t pattern cockpit
重引导您的计算机以切换到最新快照。
如果 Cockpit 实例旨在用作主要实例,则您需要运行以下命令在
systemd
中启用 Cockpit 套接字:#
systemctl enable --now cockpit.socket运行该命令后,服务器将公开默认的 9090 端口,
systemd
将启动侦听 9090 端口的cockpit-ws
服务。如果您已启用防火墙,请执行以下步骤:
打开 Cockpit 的防火墙
#
firewall-cmd --permanent --zone=public --add-service=cockpit运行以下命令重新加载防火墙配置:
#
firewall-cmd --reload
现在,您可以通过在 Web 浏览器中打开以下地址来访问 Cockpit Web 界面:
https://IP_ADDRESS_OF_MACHINE:9090
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 Micro 的身份凭证即可。不过,如果是新安装系统,默认不允许使用 root
登录。请按照第 3.2.2 节 “允许 root
使用口令登录”中所述允许使用口令进行 root
登录,或是创建一个非特权用户来访问 Cockpit。在从旧版升级的实例上,仍允许 root
登录。在所有情况下,都建议按照第 3.2.1 节 “启用 2FA 授权”中所述添加 2FA 来增强安全性。
非特权用户以受限访问权限登录 Cockpit。要执行管理任务,请单击右上方菜单中的root
口令解锁管理模式。
3.2.1 启用 2FA 授权 #
要在 SUSE Linux Micro 上设置 2FA,您需要有一个可用的 TOTP 应用程序(具体自选)。然后运行命令来配置授权。下面几节详细介绍了如何继续配置 2FA,还提供了当 2FA 失败时的应对说明。
3.2.1.1 提供 TOTP 2FA 的应用程序 #
SUSE Linux Micro 支持下列提供 2FA 的应用程序。
- 使用云存储空间
PSONO - 适用于 Firefox、Chrome、Docker、iOS、Android
Google Authenticator - 适用于 Android、iOS 和 Wear OS
Okta Verify - 适用于 Android、iOS、macOS 和 Windows
- 仅使用本地存储空间
Yubico Authenticator - 使用硬件密钥
KeePassXC - 适用于 Linux 桌面、Windows 和 macOS
KeePassDX - 适用于 Android
FreeOTP Plus - 适用于 Android
FreeOTP - 适用于 iOS
3.2.1.2 设置 2FA #
每个用户都可以配置自己的 2FA,也可以由 root
为系统中的任何普通用户配置 2FA。要从正在运行的系统中为用户设置 2FA,请按如下所示操作。
运行以下命令:
>
sudo
/sbin/jeos-config otp
用上面提到的任一 TOTP 应用程序扫描二维码。
输入 OTP 码确认该过程。
3.2.1.3 恢复访问权限 #
设置 2FA 并非强制要求。不过,一旦设置,则必须通过第二重验证才能登录 Cockpit。如果无法使用第二重验证,可以对其进行更改或将其禁用。即便未通过第二重验证,您也仍可使用 SSH 或是直接从控制台登录计算机。登录后,您可以采取以下两种方法:
- 更改第二重验证
使用
sudo
以root
身份或使用自己的用户名运行以下命令:>
sudo
/sbin/jeos-config otp- 禁用 2FA
从受影响用户的主目录中去除文件
.pam_oath_usersfile
。
3.2.2 允许 root
使用口令登录 #
root
登录很不安全
出于安全原因,强烈建议您不要允许使用口令进行 root
登录。
在新安装的 SUSE Linux Micro 中,出于安全考虑,使用口令进行 root
登录默认处于禁用状态。要允许使用口令进行 root
登录,请执行以下步骤:
打开
/etc/cockpit/disallowed-users
文件。从文件中去除
root
。
3.3 直接登录到主服务器 #
只要您可以直接通过网络访问 9090 端口,就可以使用身份凭证直接登录到服务器。为此,请按照过程 1 “登录到主服务器”操作。
默认情况下,访问由 /usr/lib/pam.d/cockpit
中特定于 Cockpit 的 PAM 堆栈控制。默认配置允许使用系统上任何本地帐户所用的相同用户名和口令登录。
在浏览器中打开以下地址,进入 Cockpit 登录页面:
https://IP_ADDRESS_OF_MACHINE:9090
输入身份凭证。
3.4 登录到次服务器 #
如果您的计算机无法直接访问 9090 端口,您可以将此计算机用作次服务器。请注意,计算机上必须已安装 Cockpit。
可通过两种方式登录到次服务器:可以直接登录到次服务器,或使用主服务器。
3.4.1 直接登录到次服务器 #
可以在不事先登录到主服务器的情况下登录到任何次服务器。如果您没有主服务器的身份凭证,此解决方案可能很有用。主服务器将用作网桥,您将使用 SSH 连接到次服务器。
要连接到次服务器,请执行以下步骤:
在浏览器中打开以下地址,进入 Cockpit 登录页面:
https://IP_ADDRESS_OF_MACHINE:9090
填写次服务器的身份凭证。
在登录屏幕上展开
。填写次服务器的 IP 地址。
单击
以继续。如果您是第一次尝试登录,系统会要求您校验指纹。校验后,单击
。
3.4.2 从主服务器访问次服务器 #
如果您有主服务器的身份凭证,则可以从主服务器访问次服务器。请记住,必须先按过程 2 “将服务器添加为次服务器”中所述添加次服务器。
使用具有系统管理员角色的帐户登录到主服务器。
单击左上角的 USERNAME@HOSTNAME。
单击
。填写主机标识和(可选)用于登录到服务器的用户名。可为计算机指派颜色。填写完细节后,单击
。校验要添加的服务器上的指纹。如果指纹匹配,或者您尚未设置 SSH 连接,请单击
以继续。填写口令,并根据需要选中
。Cockpit 将为用户生成新的 SSH 密钥,下一次您会自动登录。
3.5 切换到管理模式 #
默认情况下,普通用户可以使用受限访问权限登录到 Cockpit。在这种情况下,用户无法执行管理用户帐户、更新系统等管理任务。
要切换到管理访问权限,请执行以下步骤:
单击
按钮。填写
root
口令。单击
以确认。
要关闭管理模式,请执行以下步骤:
单击
。要确认,请单击
。
4 使用 Cockpit 配置服务器 #
使用 Cockpit 的
部分,您可以对默认服务器配置或手动安装期间提供的配置执行更改。在此部分,您可以更改主机名,或者更改系统日期或时区。4.1 更改服务器主机名 #
要更改主机名,请执行以下步骤:
导航到
页面。在
部分,单击 。填写以下信息:
- 用户定义的自由格式主机名
- 网络中设备的名称
4.2 更改系统时间或时区 #
要更改系统时间或时区,请执行以下步骤:
导航到
页面。单击
值。在弹出窗口中,可更改以下设置:
- 在手动安装期间设置的值;如果使用的是原始映像,请将时区设置为 UTC。
- 默认情况下,NTP 用于时间同步。可以手动设置时间;如果您定义了备用 NTP 服务器,则可以使用这些 NTP 服务器进行时间同步。
4.3 更改加密策略 #
要更改加密策略,请执行以下步骤:
导航到
页面。单击
旁边的 。在弹出窗口中,单击以下策略类型之一:
- 默认值
此策略允许使用 TLS 1.2 和 TLS 1.3 协议,以及 IKEv2 和 SSH2。接受长度至少为 2048 位的 Diffie-Hellman 参数。该级别提供至少 112 位的安全性,不过,仍允许 DNSSEC 中的 SHA-1 签名(这种签名仍很普遍)。
- DEFAULT:SHA1
是允许使用 SHA-1 算法的
default
的子策略。- LEGACY
此策略可确保与传统系统保持最大兼容性。此策略不太安全,但提供对 TLS 1.0、TLS 1.1 和 SSH2 或更高版本协议的支持。允许使用 DSA、3DES 和 RC4 算法,同时接受大于 1023 位的 RSA 和 Diffie-Hellman 参数。该级别提供至少 64 位的安全性。
- LEGACY:AD-SUPPORT
是实现 Active Directory 互操作性的
LEGACY
的子策略。- FIPS
符合 FIPS 140-2 要求的级别。此策略由
fips-mode-setup
工具在内部使用,该工具可将系统切换到 FIPS 140-2 合规性模式。该级别提供至少 112 位的安全性。- FIPS:OSPP
FIPS 的子策略,实施进一步的通用准则限制。
- FUTURE
一个保守的安全级别,被认为可以承受任何未来短期内的攻击。此级别不允许在签名算法中使用 SHA-1。该级别还可以根据 256 位对称加密要求,为后量子加密支持做好一定的(但不是完全的)准备。接受大于 3071 位的 RSA 和 Diffie-Hellman 参数。此级别提供至少 128 位的安全性。
要应用更改,请单击
。
5 过滤 Cockpit 日志 #
可根据以下准则过滤日志:
时间。有关细节,请参见 第 5.1 节 “根据时间过滤”。
优先级。有关细节,请参见 第 5.2 节 “根据优先级过滤”。
标识符。可以过滤特定服务、守护程序或进程的日志。可用标识符是根据设置的过滤器从当前显示的日志分析的。
自由格式过滤器。有关细节,请参见 第 5.3 节 “日志过滤器”。
请记住,更改任何时间、优先级或标识符准则时,仍会应用其他准则。例如,如果将时间准则更改为
,则优先级和标识符准则将保持不变。5.1 根据时间过滤 #
要根据特定时间过滤日志,可从以下值中进行选择:
- 当前引导
仅显示当前引导的日志。使用
按钮可以连续刷新当前显示的日志。- 上次引导
显示与上次引导相关的日志。
- 过去 24 小时
显示过去 24 小时内记录的日志。
- 过去 7 天
显示过去 7 天内记录的日志。
5.2 根据优先级过滤 #
使用标准的 syslog
严重性级别(从最严重到最不严重排序):
- 仅限紧急情况
系统不可用。这是一种恐慌状态。
- 警报及更高级别
此日志需要您立即采取措施。
- 严重及更高级别
主系统发生故障。您应该立即纠正问题。
- 错误及更高级别
并非紧急错误,但应在特定时间内予以处理。
- 警告及更高级别
并非错误,但表明如果不采取任何措施,可能会发生错误。
- 通知及更高级别
不属于错误的非寻常事件。无需立即采取措施。
- 信息及更高级别
用于确认系统工作正常的一般操作消息。
- 调试及更高级别
这些消息仅用于调试系统。
5.3 日志过滤器 #
在此处可根据以下准则微调日志视图:
- 自从
将显示指定日期或之后的日志。可通过以下方式指定时间:
使用 YYYY-MM-DD 格式的绝对日期
使用以下任意字词:
yesterday
、today
、tomorrow
和now
通过在值前面添加 - 或 + 前缀并指定单位来使用相对时间。可使用以下单位:
seconds
或s
、minutes
或min
、hours
或h
、days
或d
、weeks
或w
、months
或m
,以及years
或y
。
- 直到
将显示指定日期或之前的日志。可通过以下方式指定时间:
使用 YYYY-MM-DD 格式的绝对日期
使用以下任意字词:
yesterday
、today
、tomorrow
和now
通过在值前面添加 - 或 + 前缀并指定单位来使用相对时间。可使用以下单位:
seconds
或s
、minutes
或min
、hours
或h
、days
或d
、weeks
或w
、months
或m
,以及years
或y
。
- 引导
输入整数:0 表示当前引导,-1 表示上次引导,1 表示首次引导,2 表示第二次引导,依此类推
- 单元
指定要显示的日志的
systemd
单元。使用以下格式之一:_SYSTEMD_UNIT=NAME.service
COREDUMP_UNIT=NAME.service
UNIT=NAME.service
- 自由格式搜索
输入要在日志消息中查找的字符串。也可以使用PERL-compatible regular expressions。或者,可以根据采用 FIELD=VALUE 格式的消息日志字段过滤消息。例如,指定
CODE_LINE=349
会显示包含此值的日志。
6 使用 Cockpit 管理存储 #
在
页面中,可以监控驱动器上的流量、将系统重新分区、管理 NFS 挂载点、查看存储日志,以及创建 RAID 或 LVM。6.1 监控磁盘上的数据流 #
页面上的图表显示了读取和写入到设备的数据流。图表中的每个设备带有不同的颜色。将鼠标悬停在显示的数据流峰值上可识别设备名称。
6.2 管理文件系统 #
在
视图中,可以创建分区表,以及格式化或挂载文件系统。可以根据 或 对挂载的分区进行排序。6.2.1 使用 Cockpit 格式化分区 #
要格式化分区,请执行以下步骤:
导航到
页面。在
视图中,单击要格式化的分区。单击特定分区说明旁边的
打开格式化窗口。输入分区的唯一名称。
在
中,指定要将分区挂载到的目录。请记住, 字段是必填的。在
中,选择文件系统类型。对于/
分区,必须选择 Btrfs。根据需要配置加密:
- “通行口令”和“确认”
输入通行口令以解锁加密的分区。
- 存储通行口令
通行口令将存储在
/etc/luks-keys
中,下次引导时,系统不会再要求您输入通行口令。- 加密选项
可以传递supported encrypted options中所述的选项列表。
选择File system Independent Mount Options。这些选项在
。在 文本字段中,可以输入逗号分隔的选项列表。有关常用选项,请参见/etc/fstab
文件的options
部分中使用。
6.2.2 使用 Cockpit 挂载分区 #
要挂载分区,请执行以下步骤:
导航到
页面。在
视图中,单击要挂载的设备。单击
打开 窗口。指定
。在File system Independent Mount Options。这些选项在
文本字段中选择挂载选项,可以输入逗号分隔的选项列表。有关常用选项,请参见/etc/fstab
文件的options
部分中使用。选择必须挂载分区的引导阶段。
单击
继续。
6.3 管理 NFS 挂载点 #
在
页面下的 视图中,可以添加、编辑或删除 NFS 挂载点。6.3.1 添加 NFS 挂载点 #
要添加 NFS 挂载点,请执行以下步骤:
导航到
页面。从三线菜单中,选择
视图。指定以下值:
- 服务器地址
提供 NFS 服务器的 IP 地址或名称。
- 服务器上的路径
选择 NFS 服务器上可挂载的可用路径。
- 本地装入点
在本地系统上指定该路径将要挂载到的目录。
- 挂载选项
检查以下任一选项:
– 每次启动或重启动系统后自动挂载路径。
– 您将无法对 NFS 路径中的数据执行更改。
是逗号分隔的mount
命令选项列表。
6.3.2 编辑现有的 NFS 挂载点 #
要编辑 NFS 挂载点,请执行以下步骤:
导航到
页面。在
视图中,单击特定的 NFS 挂载。在下一屏幕上,单击NFS mount details中所述指定细节。
并按
6.4 使用 Cockpit 管理 RAIDS #
使用 Cockpit,可以创建或修改不同级别的软件 RAID。
6.4.1 使用 Cockpit 创建 RAID #
确保有足够数量的可用磁盘(根据 RAID 级别)。
要创建软件 RAID,请执行以下步骤:
导航到
页面。在
视图的三线菜单中选择 选项。输入 RAID 的以下参数:
- 名称
输入 RAID 的唯一名称。
- RAID 级别
选择一个 RAID 级别。有关 RAID 级别的更多细节,请参见 RAID levels。
- 区块大小
区块的大小,以 KB 为单位。区块是指在单次读/写操作期间,读取或写入到阵列中每个数据磁盘的最小数据量。
- 磁盘
选择应包含在 RAID 中的磁盘。所需磁盘数量取决于所选的 RAID 级别。
单击
确认参数。该 RAID 随即会出现在 部分。
6.4.2 修改 RAID #
使用 Cockpit 的
插件可以停止或删除 RAID。在这里,您还可以在阵列中去除或添加磁盘。要修改现有 RAID,请执行以下步骤:
导航到
页面。单击
中的 RAID 打开 RAID 细节视图。在详细视图中,您可以停止或删除 RAID、添加或去除磁盘,以及格式化设备。
对于某些 RAID 级别,您可以打开
选项,以便仅在磁盘暂时断开连接后才同步更改。如果 处于关闭状态,则会同步磁盘上的所有数据。
对阵列的磁盘编号进行任何更改后,系统将执行重新同步,这可能需要一段时间。请记住,每个 RAID 级别都需要最少数量的磁盘,因此,Cockpit 不允许去除特定 RAID 级别所需的磁盘。
6.5 管理卷组和 LVM #
6.5.1 创建卷组 #
要创建磁盘的卷组,请执行以下步骤:
单击
。在
中的三线菜单下,选择 。输入卷组名称。
选择要包含在卷组中的磁盘。
使用
确认数据。该卷组随即会显示在 视图中。
6.5.2 创建逻辑块卷 #
如果您有卷组,可以基于该卷组创建逻辑块卷。为此,请执行如下操作:
导航到
页面。在
中,单击要使用的卷组。单击
指定逻辑卷名称。选择块设备,并选择要使用的大小。
选择
。选择要使用的大小。
单击
确认细节。单击步骤 4 中所述填写细节来格式化块卷。
,并按
6.5.3 创建精简逻辑卷 #
如果您有卷组,可以如下所述创建精简逻辑卷:
6.5.4 管理逻辑卷 #
要对现有逻辑卷执行任何管理任务,请执行以下步骤:
导航到
页面。在
视图中,单击该逻辑卷。在这里,您可以对现有逻辑卷执行以下操作:
- 停用/激活
在三点菜单中,选择
或 。- 挂载
可以通过单击
并填写挂载点和选项来挂载卷。- 收缩/扩展
请注意,收缩/扩展功能不适用于部分文件系统。
在有关卷的扩展细节中,单击
或 。- 删除
在三点菜单中,选择
。
7 使用 Cockpit 管理网络 #
单击
后,可以查看系统上的流量、管理防火墙、管理网络接口或查看网络日志。7.1 管理防火墙规则和区域 #
Cockpit 允许您创建新区域或更新现有区域。在防火墙设置中,可以向区域添加服务或允许访问端口。
请不要从默认防火墙区域中去除 Cockpit 服务,因为这可能会阻止 Cockpit 服务,导致您从服务器断开连接。
7.1.1 添加防火墙区域 #
是默认的防火墙区域。要添加新区域,请执行以下步骤:
导航到
页面。单击
。单击
。选择
。网络连接的每个信任级别都有一组预定义的包含服务(Cockpit 服务包含在所有信任级别中)。定义区域内允许的地址。选择以下值之一:
,表示允许子网中的所有地址。
- 包含路由前缀的 IP 地址的逗号分隔列表,例如 192.0.2.0/24, 2001:db8::/32。
选择
以继续。
7.1.2 将允许的服务和端口添加到区域 #
可如下所述将服务添加到现有的防火墙区域:
导航到
页面。单击
。单击
。要添加服务,请选中
,然后从列表中选择服务。要允许自定义端口,请选中
并指定 UDP 和/或 TCP 端口值。可为此端口指派标识符。要确认更改,请相应地单击
或 。
7.2 关于网络绑定 #
绑定接口用于将多个网络接口组合成一个绑定。根据
(后文将会介绍),网络绑定可以通过提高网络吞吐量和带宽来提高性能。网络绑定还可以通过保持总体连接来提高容错能力,即使某些绑定的接口停止工作。7.2.1 管理绑定 #
7.2.1.1 添加绑定 #
要添加绑定,请执行以下步骤:
导航到
页面。单击
。指定绑定接口的以下参数:
- 名称
输入接口的唯一名称。
- 接口
选择应分组到绑定中的网络接口。
- MAC
可以选择底层接口的特定 MAC 地址,也可以使用以下任一选项:
- 永久
如果设备具有 MAC 地址,则使用永久硬件地址。
- 保留
在绑定激活期间,MAC 地址不会更改。
- 随机
每次尝试连接时创建一个随机 MAC 地址。
- 稳定
创建经过哈希处理的 MAC 地址。
- 模式
保留默认模式,或选择以下任一模式:
- 循环复用
将来自第一个可用接口的数据包传输到最后一个接口。该模式提供容错和负载平衡。
- 活动备份
绑定中只有一个接口处于活动状态。如果活动接口发生故障,则激活备份。
- XOR
使用传输哈希策略进行平衡。默认设置为模设备计数。要选择其他策略,请在
字段中指定xmit_hash_policy
选项。- 广播
在所有接口上传输任何内容。
- 自适应传输负载平衡
一种不需要任何特殊交换机支持的通道绑定。外发流量根据每个接口上的当前负载进行分配。
- 自适应负载平衡
包括自适应传输负载平衡和接收负载平衡,不需要特殊的交换机支持。
- 主要
此选项仅适用于活动备份模式。可以选择特定的接口用作主要接口,而绑定中的其他接口用作次要接口。
- 链路监控
选择链路监控的类型。
- 监控间隔
指定特定链路监控器执行检查的间隔。值以毫秒为单位。
- 链路启动延迟
定义在激活链路后,经过多长时间(以毫秒为单位)禁用绑定。该值应为
值的倍数,否则将舍入为最接近的值。仅适用于 MII 链路监控器。- 链路断开延迟
定义在检测到链路故障后,经过多长时间(以毫秒为单位)禁用绑定。该值应为
值的倍数,否则将舍入为最接近的值。仅适用于 MII 链路监控器。- 监控目标
指定要监控的主机 IP 地址列表。仅适用于 ARP 链路监控器。
选择
以继续。
7.2.1.2 修改绑定 #
要修改绑定,请执行以下步骤:
导航到
页面。单击特定绑定名称打开细节。
可修改以下绑定参数:
- 绑定
从列表中选择 MAC 地址。
- 自动连接
默认情况下,绑定会自动连接。取消选中该框会禁用自动连接。
- IPv4 和 IPv6
单击
后,可以设置 IP 地址,并配置特定的 DNS、DNS 搜索域和路由。- MTU
单击
后,可以指定最大传输单位的特定值(以字节为单位)。- 绑定
单击
后,可以编辑创建绑定接口时指定的参数。
7.3 管理网桥 #
网桥是基于多个网络创建单个聚合网络的设备。
7.3.1 创建网桥 #
要创建网桥,请执行以下步骤:
导航到
页面。在
视图中,单击 。指定以下内容:
- 名称
指定网桥的唯一名称。
- 端口
选择要包含在网桥中的接口。
- 跨接树协议 (STP)
STP 是用于以太网的网络协议,每当网络交换机与多个链路连接时,该协议就会通过设置首选链路来防止出现网桥环路。除非此首选链路发生故障,否则会将其用于所有以太网流量。如果发生故障,将改用冗余链路。有关 STP 的详细信息,请参阅 STP。
如果您启用了 STP 协议,可以编辑以下设置:
- STP 优先级
优先级越低,交换机成为根交换机的概率就越大。
- STP 前向延迟
指定在侦听和学习状态下花费的时间(以秒为单位)。默认值为 15 秒,但您可以使用 4 到 30 秒之间的任意值。
- STP hello 时间
指定在端口上发送每个网桥协议数据单位 (BDPU) 的间隔时间(以秒为单位)。默认值为 2 秒,但建议的范围为 1 到 10 秒。
- STP 最长消息期限
指定在网桥端口保存其配置 BPDU 信息之前经过的最长时间。
7.3.2 修改或删除现有网桥 #
要修改或删除网桥,请执行以下步骤:
导航到
页面。在
视图中,单击网桥名称打开细节。在这里,您可以通过单击
来删除网桥,或者通过更改以下任何细节来修改网桥:- 一般
默认情况下,网桥会自动连接。要禁用自动连接,请取消选中该选项。
- IPv4 和 IPv6
单击
后,可以设置 IP 地址,并配置特定的 DNS、DNS 搜索域和路由。- 网桥
可以单击
来编辑网桥的所有参数。
7.4 使用 Cockpit 管理 VLAN #
虚拟局域网是一个逻辑子网,用于将不同物理 LAN 中的设备分组到一起。
7.4.1 创建虚拟局域网 #
要添加 VLAN,请执行以下步骤:
导航到
页面。在
视图中,单击 。填写 VLAN 细节:
- 父
选择父网络接口。
- VLAN ID
指定 1–4094 范围内的 ID。
- 名称
输入 VLAN 的名称。
7.4.2 修改或删除现有 VLAN #
要修改或删除现有的 VLAN,请执行以下步骤:
导航到
页面。在
视图中,单击 VLAN 名称。单击
来删除 VLAN,或更改任何 VLAN 细节:- 父
选择父网络接口。
- VLAN ID
指定 1–4094 范围内的 ID。
- 名称
输入 VLAN 的名称。
8 使用容器 #
首次登录到 Cockpit 后,需要启动 Podman。将默认复选框保持选中状态可在每次引导时自动启动 Podman。
在
页面中,可以从注册表提取映像,并可以管理容器。还可以通过在过滤器字段中输入过滤准则来过滤视图。8.1 管理容器映像 #
默认安装中未配置 openSUSE 注册表和 Docker Hub。要从这些注册表下载容器映像,需要将注册表添加到 /etc/containers/registries.conf
文件中,如下所示:
unqualified-search-registries = ["registry.suse.com", "registry.opensuse.org", "docker.io"]
在
视图中,您可以下载、更新或删除已提取的映像。每个功能都可在三点菜单下找到。单击菜单后,会看到以下选项:过程 10 “下载新映像”中介绍了下载映像的步骤。
::Cockpit 会提取已下载的容器映像的新版本。
:所有未被任何容器使用的映像都会去除。
在 映像视图中,打开三点菜单,然后选择 。
›选择
以定义谁能查看下载的映像。如果选择 ,则只有拥有管理访问权限的用户才能查看映像。以 所有者身份下载的映像对普通用户可见,同时对拥有管理访问权限的所有其他用户可见。选择首选的映像注册表,或选择
All registries
继续。定义
默认值为latest
。在
字段中填写映像名称或说明开始搜索。Cockpit 会根据输入的名称、注册表和标记建议可能的映像。
选择所需的映像,然后单击
。
8.2 使用 Cockpit 管理容器 #
8.2.1 从映像运行新容器 #
要运行容器,需要有一个容器映像。可以使用 Podman 或 Cockpit 提取映像。使用 Cockpit 时,您可以按照过程 10 “下载新映像”中所述提前提取映像,也可以按照下面所述直接从 表单中提取映像。使用 Podman 时,请参见 Podman guide。
要运行新容器,请执行以下步骤:
导航到
页面。如果您提前提取了映像:
在
视图中,单击 。单击要使用的映像旁边的
。
如果您没有映像,请单击
视图中的 。在
窗口中,如下所述输入容器细节。请记住,某些选项仅供系统管理员使用。在
选项卡中输入以下细节:- 所有者
选择该容器是否仅对拥有
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 标签
定义了只能从特定的容器访问卷。 标签表示所有容器都可以访问卷。- 环境变量
要在容器中定义环境变量,请单击
并填写 和 。可以通过添加更多行来输入多个变量。
在
选项卡中,可以设置触发命令来检查容器状态的时间段。填写以下参数:- 命令
指定要触发的、用来检查容器状态的命令。
- 间隔
指定检查间隔(以秒为单位)。
- 超时
在将间隔视为失败之前要等待的最长时间(以秒为单位)。
- 启动时段
容器启动之后,不执行健康检查的时间间隔。
- 重试次数
指定在将容器视为健康状况不良之前可以执行检查的次数。
- 健康状况不良时
选择在将容器视为健康状况不良后要执行的操作。
要创建容器,请单击
或 以创建并启动容器。
8.2.2 对运行中容器的进一步操作 #
可以通过三点菜单执行以下操作:
删除容器
暂停容器
提交对容器执行的更改,例如,将软件包安装到容器
创建容器检查点 - 将容器的状态写入磁盘并停止容器
通过常规的
操作(这会停止容器内运行的进程)或 操作(这会终止进程,并且可能会丢失数据)来重启动容器通过常规的
、 或 操作停止容器。使用 时,会将容器中所有进程的状态写入磁盘,下次启动后,容器将恢复到停止前的同一状态点。
通过展开容器细节,可以在
选项卡中访问容器的终端,并在其他选项卡中查看其信息8.3 Pod 管理 #
8.3.1 创建 Pod #
Cockpit 允许您创建 Pod,然后您又可以在 Pod 中创建容器。要创建 Pod,请执行以下步骤:
导航到
页面。单击
。填写 Pod 细节:
- 名称
输入 Pod 的唯一名称。
- 所有者
指定 Pod 是仅对拥有
root
特权的用户可见,还是对普通用户也可见。- 端口映射
单击
后,可以将 Pod 端口映射到主机端口。指定容器端口,并指派所需的主机端口和 IP 地址。如果主机 IP 地址未设置或设置为 0.0.0.0,则端口将绑定到所有主机 IP 地址。如果省略主机端口号,则会为映射指派随机端口号。- 卷
单击
后,可以将主机上的目录映射到容器的卷。选择主机路径,输入容器中的路径,然后选择 SELinux 标签。
单击
以确认创建 Pod。
8.3.2 在 Pod 中创建容器 #
在规划期间请记住,Pod 中只能运行新容器。无法将已创建的、但尚未在 Pod 下运行的容器添加到任何 Pod。
要在 Pod 中创建容器,请执行以下步骤:
导航到
页面。在所需的 Pod 组中,单击
。按照第 8.2.1 节 “从映像运行新容器”中所述填写容器细节。请记住,新容器的所有者与特定 Pod 的所有者相同。
9 使用 Cockpit 进行用户管理 #
只有拥有
的用户才能编辑其他用户。使用
Cockpit 屏幕可执行以下任务:按照第 9.2 节 “使用 Cockpit 创建用户帐户”中所述创建系统的新用户
按照第 9.3 节 “创建用户组”中所述创建新的用户组。
按照第 9.1 节 “修改现有用户帐户”中所述为用户帐户指派
sudo
特权按照第 9.1 节 “修改现有用户帐户”中所述强制更改用户的口令
按照第 9.1 节 “修改现有用户帐户”中所述锁定特定的用户帐户。
9.1 修改现有用户帐户 #
要修改用户帐户,请执行以下步骤:
导航到
页面。单击要修改的帐户。
在用户细节视图中,可执行以下操作:
- 删除用户
单击
可从系统中去除用户。- 终止用户的会话
单击
可从系统中注销特定的用户。- 管理帐户访问权限
可以设置帐户的失效日期。默认设置是永不失效。
可以禁止用户使用其口令登录。在这种情况下,用户必须使用不同的身份验证方法。
- 管理用户的口令
单击
可为帐户设置新的口令。如果您单击
,用户在下次登录时必须更改口令。单击
可设置口令是否失效或何时失效。- 添加 SSH 密钥
可以添加 SSH 密钥,以便通过 SSH 进行无口令身份验证。单击
,粘贴 SSH 公共密钥的内容,然后单击 进行确认。
9.2 使用 Cockpit 创建用户帐户 #
Cockpit 允许您将用户添加到正在运行的系统,并为帐户指派系统管理员特权。
要将新用户添加到系统,请执行以下步骤:
导航到
页面。单击
打开添加新用户的窗口。填写用户帐户细节。可以在
下拉菜单中为用户指派不同的主目录。如果您未指定目录,则会使用标准的/home/USERNAME
路径。如果您选择
,则用户必须使用一种无需填写口令的身份验证方法,例如 SSH 登录。单击
以确认帐户。要为帐户添加 SSH 密钥,需要按照第 9.1 节 “修改现有用户帐户”中所述修改帐户。
9.3 创建用户组 #
本主题介绍如何创建用户组。
要创建用户组,请执行以下步骤:
导航到
页面。单击
。输入组的唯一名称,并指定设置或保留默认设置。
注意无法重写现有的组 ID。小于 1000 的组 ID 通常是为系统帐户、服务等保留的。如果创建的组的 ID 小于 1000,则以后无法使用 Cockpit 删除该组。
10 使用 Cockpit 管理服务 #
以下各节介绍如何启动、停止和重启动服务、目标、套接字、计时器或路径。
10.1 管理 systemd
单元 #
要管理 systemd
单元,请执行以下步骤:
单击
页面。选择相应的选项卡(
、 、 、 或 )。单击要管理的单元。
在单元细节中,可以查看该单元与其他
systemd
单元的关系、该单元的状态,或者可以执行三点菜单中提供的以下操作:未运行的单元
正在运行的单元
正在运行的单元
- 这会永久停止服务,包括其所有依赖项。请记住,依赖服务可能已由其他单元使用,禁止该单元可能会导致系统出现严重问题。
10.2 创建新的计时器 #
systemd
计时器可帮助您自动执行重复性任务。systemd
计时器可以控制 systemd
服务的触发和事件的处理。
默认的 systemd
计时器集存储在 /usr/lib/systemd
中。如果您使用已存在的名称创建计时器,则不会重写默认单元文件,但会在 /etc/systemd/system/
中创建新的单元文件,而该文件会覆盖默认单元文件。要将计时器恢复为默认计时器,请删除 /etc/systemd/system/
中的计时器单元文件。
如果您尝试创建的计时器已在 /etc/systemd/system/
目录中存在,则会重写单元文件,并且之前的更改将会丢失。
要使用 Cockpit 创建 systemd
计时器,请执行以下步骤:
导航到
。在
选项卡中,单击 。填写细节:
- 名称
将在单元名称以及服务单元名称中使用的计时器名称。例如,指定名称 example 会创建以下单元文件:
/etc/systemd/system/example.timer
和/etc/systemd/system/example.service
。- 说明
可以提供计时器的简短说明。
- 命令
触发计时器时要调用的命令。
- 触发器
可以在每次重引导计算机时或者在特定的时间触发计时器。对于
选项,可以定义服务调用的延迟。对于 选项,可以指定何时应调用服务。
11 SELinux 模式和策略 #
使用 SELinux 工具可以在 SELinux 模式之间切换,并查看 SELinux 策略的当前修改内容。
只有在系统上启用了 SELinux 时,SELinux Cockpit 模块才可见。如果您无法访问该模块,则表示 SELinux 可能已被禁用。要检查是否已启用 SELinux ,请运行以下命令:
>
sestatus
在 SUSE Linux Micro 上,SELinux 默认处于强制模式。要暂时切换到宽松模式,请单击带有 Enforcing
标签的按钮。请记住,所做的更改仅在下次引导之前保持有效。如果您需要对模式执行永久更改,请编辑配置文件 /etc/selinux/config
。有关细节,请参见security
guide。
列出了对默认 SELinux 策略执行的所有修改。如果您要导出修改并将其重用于不同的服务器,请单击 。在新窗口中,可以复制外壳脚本或者可应用于其他服务器的 ansible 配置文件。
11.1 解决 SELinux 访问问题 #
在
页面中,可以查看审计日志中的拒绝访问消息。除此之外,Cockpit 还提供了解决拒绝访问错误的可能方法。为此,请执行以下步骤:导航到
页面。在
中,展开有关拒绝访问错误的细节。要查看审计日志记录,请单击
要查看可能的解决方案,请单击
。可以通过单击 来直接通过 Cockpit 应用某些解决方案。
12 更新和快照 #
可以使用 Cockpit 搜索新的系统更新,然后直接从 Web 界面应用这些更新。除此之外,Cockpit 还允许您回滚到上一个快照。
如果您的系统未注册,则不会为其提供更新,并且更新检查的操作将会失败。因此,请注册您的系统以查看可用更新。
只有具有
角色的用户才能更新系统或回滚到另一快照。
Cockpit 允许您通过Software Updates
菜单更新 SUSE Linux Micro 实例或执行回滚。
12.1 使用 Cockpit 更新 SUSE Linux Micro #
要更新系统,请执行以下步骤:
导航到
页面。单击
以获取适用于您系统的新软件包更新和补丁列表。我们建议尽快安装标记为“重要”的补丁。现在,您可以通过立即重引导来更新系统,或者可以推迟重引导:
单击
以应用补丁和更新。更新完成后,系统将重启动并引导进入新快照。要在更新后推迟重引导,请从三点菜单中选择
。请记住,需要重引导系统才能激活包含更新的快照。如果在不事先重引导系统的情况下执行进一步的更改,则会从包含更新的快照所处的同一状态点创建新快照。因此,新快照将不包括更新。
12.2 执行回滚 #
要执行系统回滚,请执行以下步骤:
导航到
页面。在要回滚到的快照旁边的三点菜单中,单击
或 。
重引导系统后,回滚到的快照将设置为活动快照。在重引导系统之前请不要进行任何更改(安装更新、软件包等),因为回滚到的快照并非活动快照。在重引导系统之前执行的任何更改将从设置当前活动快照开始生效。
13 法律声明 #
版权所有 © 2006–2025 SUSE LLC 和贡献者。保留所有权利。
根据 GNU 自由文档许可证 (GNU Free Documentation License) 版本 1.2 或(根据您的选择)版本 1.3 中的条款,在此授予您复制、分发和/或修改本文档的权限;本版权声明和许可证附带不可变部分。许可版本 1.2 的副本包含在题为“GNU Free Documentation License”的部分。
有关 SUSE 商标,请参见 https://www.suse.com/company/legal/。所有其他第三方商标分别为相应所有者的财产。商标符号(®、™ 等)代表 SUSE 及其关联公司的商标。星号 (*) 代表第三方商标。
本指南力求涵盖所有细节,但这不能确保本指南准确无误。SUSE LLC 及其关联公司、作者和译者对于可能出现的错误或由此造成的后果皆不承担责任。