标签 Cockpit 下的文章

Fedora 服务器版操作系统可以运行在类似树莓派的单板计算机(SBC)上。这篇文章针对的用户是想要充分利用实体服务器系统,并使用类似 Cockpit 的内置工具进行数据备份和个人数据的恢复。这里描述了备份的 3 个阶段。

必要的准备

想要使用本指南,你所需要的是一个运行着的 Fedora Linux 工作站和以下的项目:

  • 你应该阅读、理解和实践 Fedora 文档中 服务器安装管理 的要求
  • 一块用来测试 Fedora Linux 的 SBC(单板计算机)。在这里查看 硬件需求
  • Fedora ARM 服务器 原始镜像 & ARM 镜像安装器
  • SD 存储卡(64 GB / Class 10)和 SSD 设备两选一
  • 以太网 / DHCP 预留 IP 地址或者静态 IP 地址
  • 提供了 ssh 密钥的 Linux 客户端工作站
  • 选择云存储服务
  • 有额外可用的 Linux 工作站

对于这套环境,在写这篇文章的时候,由于成本和可用性的原因,我选择树莓派 3B+/4B+ (其中一个用来热切换)。当使用 Cockpit 远程连接树莓派服务器时,你可以将树莓派放到路由器附近以便设置。

加强服务器的安全

在 SBC 完成服务器的安装和管理后,用 firewalld 加强服务器的安全是一个好的做法。

连接存储设备到服务器之前,一旦服务器在线你必须设置好防火墙。firewalld 是基于区域的防火墙。在依照 Fedora 文档完成安装和管理指南之后,创建一个名为 FedoraServer 的预定义区域。

firewalld 里的富规则

富规则 rich rule 用来阻止或者允许一个特定的 IP 地址或者地址段。下面这条规则只从(客户端工作站)注册的 IP 地址接受 SSH 连接,并断开其它的连接。在 Cockpit 终端或者客户端工作站终端运行命令是通过 ssh 来连接到服务器的。

firewall-cmd --add-rich-rule='rule family=ipv4 source address=<registered_ip_address>/24 service name=ssh log prefix="SSH Logs" level="notice" accept'

拒绝所有主机的 ping 请求

使用这个命令来设置 icmp 拒绝,并且不允许 ping 请求:

firewall-cmd --add-rich-rule='rule protocol value=icmp reject'

要进行其它防火墙控制,比如管理端口和区域,请查阅以下链接。请注意错配防火墙可能会使安全出现漏洞受到攻击。

在 Cockpit 中管理防火墙
firewalld 规则

配置文件服务器的存储

下一步是连接存储设备到 SBC,然后使用 Cockpit 对新插入的存储设备进行分区。使用 Cockpit 的图形化服务器管理界面,管理一个家庭实验室(可以是一个或者多个服务器)比之前更加简单。Fedora Linux 服务器标准提供了 Cockpit。

在这个阶段,一个通过 SBC 的 USB 插口接电的 SSD 设备无需额外电源供给就可以工作。

  • 将存储设备连接到 SBC 的 USB 接口
  • 运行之后(按上面的“必要的准备”所设置的那样),然后在你的客户端工作站浏览器上访问 机器的 IP 地址:9090
  • 登录进 Cockpit 之后,点击 Cockpit 页面顶部的“ 打开管理访问权限 Turn on administrative access
  • 点击左边面板的 “ 存储 Storage ” 按钮
  • 选择下面显示的 “ 驱动器 Drives ”,然后分区并格式化一个空白的存储设备 Cockpit Storage management
  • 在选定的存储设备这个界面上,创建一个新的分区表或者格式化并创建新的分区。当初始化磁盘的时候,在 “ Partitioning 分区 ” 类型选项上,选择 “GPT 分区表”
  • 选择一个文件系统类型,这里选择 “EXT4” 。这对于一个限制 I/O 能力(比如 USB 2.0 接口)和限制带宽(小于 200MB/s)的设备是适合的 Create a partition in Cockpit
  • 要在设备上创建单个占据整个存储空间的分区,指定它的挂载点,比如 /media 然后点击 “ 确定 Ok ” 。
  • 点击 “ Create partition 创建分区 ”,创建一个挂载点为 /media 的新分区。

创建备份和恢复备份

备份很少是一刀切的。这里有一些选择比如数据备份在哪里,备份数据的步骤,验证一些自动化,并确定怎样来恢复备份了的数据。

Backup workflow – version 1.0

备份 1. 用 rsync 从客户端远程同步到文件服务器(树莓派)

这个传输用到的命令是:

rsync -azP ~/source syncuser@host1:/destination

参数:

  • -a/--archive:归档
  • -z/--compress:压缩
  • -P/--progress:显示进度

要使用更多的选项运行 rsync,可以设置以下的选项:

  • --inplace:直接替换来更新目标文档
  • --append:追加数据到较短的文档中

在将文档备份到存储空间之前,源端文档的文件重复消除和压缩是减少备份数据容量最有效的方式。

每天工作结束,我会手动运行这个。一旦我设置了云备份工作流,自动化脚本是一个优势。

关于 rsync 的详细信息,请在 这里 访问 Fedora 杂志的文章。

备份 2. 使用 rysnc 从文件服务器远程同步到主要的云存储上

选择云存储是考虑的因素;

  • 成本:上传、存储空间和下载费用
  • 支持 rsyncsftp
  • 数据冗余(RAID 10 或者运行中的数据中心冗余计划)
  • 快照

符合这些云存储标准之一的就是 Hetzner 托管的 Nextcloud– 存储盒子。你不会受到供应商限制,可以自由切换而没有退出惩罚。

在文件服务器上生成 SSH 密钥并创建授权密钥文件

使用 ssh-keygen 命令为文件服务器和云存储生成一对新的 SSH 密钥对。

ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key . . .

插入要求的 SSH 公钥到新的本地授权密钥文件中。

cat .ssh/id_rsa.pub >> storagebox_authorized_keys
传输密钥文件到云存储

下一步就是上传生成了的授权密钥文件到存储盒子。要做这些,先用 700 权限创建 .ssh 目录,然后用 SSH 公钥创建授权文件并赋予 600 权限。运行以下命令。

echo -e "mkdir .ssh \n chmod 700 .ssh \n put storagebox_authorized_keys .ssh/authorized_keys \n chmod 600 .ssh/authorized_keys" | sftp <username>@<username>.your-storagebox.de
通过 ssh 使用 rsync

使用 rsync 同步你的文件目录当前状态到存储盒子。

rsync --progress -e 'ssh -p23' --recursive <local_directory> <username>@<username>.your-storagebox.de:<target_directory>

这个过程被叫做推送操作,因为它 “推送” 本地系统的一个目录到一个远程的系统中去。

从云存储中恢复目录

要从存储盒子恢复目录,转换到这个目录:

rsync --progress -e 'ssh -p23' --recursive <username>@<username>.your-storagebox.de:<remote_directory> <local_directory>

备份 3. 客户端备份到第二个云储存

Deja Dup 是 Fedora 软件仓库中为 Fedora 工作站提供快速备份解决方案的工具。它拥有 GPG 加密、计划任务、文件包含(哪个目录要备份)等功能。

Backing up to the secondary cloud

Restoring files from cloud storage

归档个人数据

不是所有数据都需要 3-2-1 备份策略。这就是个人数据共享。我将一台拥有 1TB 硬盘的笔记本作为我个人数据的档案(家庭照片)。

转到设置中的 “ 共享 Sharing ” (在我的例子中是 GNOME 文件管理器)并切换滑块以启用共享。

打开 “ 文件共享 file sharing ”,“ 网络 Networks ” 和 “ 需要的密码 Required password ”,允许你使用 WebDAV 协议在你的本地网络上分享你的公共文件夹给其它的工作站。

准备回滚选项

未测试的备份并不比完全没有备份好。我在家庭实验室环境中使用 “热切换” 方法来避免像频繁的断电或者液体损坏的情况发生。然而,我的建议方案远没有达到灾难恢复计划或企业 IT 中的自动故障修复。

  • 定期运行文件恢复操作
  • 备份 ssh/GPG 密钥到一个额外的存储设备中
  • 复制一个 Fedora ARM 服务器的原始镜像到一个 SD 卡中
  • 在主云存储中保持全备份的快照
  • 自动化备份过程最小化减少人为错误或者疏忽

使用 Cockpit 追踪活动并解决问题

当你的项目在成长时,你所管理的服务器数量也在增长。在 Cockpit 中追踪活动和警告可以减轻你的管理负担。你可以使用 Cockpit 的图形化界面的三种方法来归档这些。

SELinux 菜单

怎样诊断网络问题,找到日志并在 Cockpit 中解决问题:

  • 去 SELinux 中检查日志
  • 检查“ 解决方案详细信息 solution details
  • 当必要时,选择 “ 应用这个方案 Apply this solution
  • 如果必要,查看自动化脚本并运行它

SELinux logs

网络或者存储日志

服务器日志会跟踪 CPU 负载、内存使用、网络活动、存储性能和系统日志关联的详细指标。日志会组织在网络面板或者存储面板里显示。

Storage logs in Cockpit

软件更新

在预设的时间和频率下,Cockpit 可以帮助进行安全更新。当你需要时,你可以运行所有的更新。

Software updates

恭喜你在 Fedora ARM 服务器版本上搭建了一个文件/备份服务器。


via: https://fedoramagazine.org/3-2-1-backup-plan-with-fedora-arm-server/

作者:Hanku Lee 选题:lujun9972 译者:hwlife 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

用 Cockpit 建立你的树莓派的控制中心。

 title=

去年,我写了关于使用 Cockpit 管理我的 Linux 服务器的文章。它是一个基于 Web 的工具,为管理多个服务器及其相关的服务和应用提供了一个简洁、强大的界面。它还简化了日常的管理任务。

在这篇文章中,我将会介绍如何在树莓派基金会提供的标准操作系统树莓派 OS 上安装用于 Linux 服务器的 Cockpit Web 控制台。我还会简要介绍它的特性。

在树莓派 OS 上安装 Cockpit

sudo 权限下使用一个账户通过 SSH 登录你的树莓派系统。如果你还没有建立一个账户:

$ ssh pibox
alan@pibox's password:
Linux pibox.someplace.org 5.10.17-v7+ #1403 SMP Mon Feb 22 11:29:51 GMT 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue May  4 09:55:57 2021 from 172.1.4.5
alan@pibox:~ $

在树莓派 OS 上安装 Cockpit Web 控制台和在 Linux 服务器上一样简单:

$ sudo apt install cockpit

Cockpit 只需要 60.4 KB 的磁盘空间。加上它的几个包依赖项,总使用量是 115MB。

安装过程将负责设置和启动服务。你可以使用 systemctl 命令来验证状态:

$ systemctl status cockpit.socket
● cockpit.socket - Cockpit Web Service Socket
   Loaded: loaded (/lib/systemd/system/cockpit.socket; enabled; vendor preset: enabled)
   Active: active (listening) since Tue 2021-05-04 10:24:43 EDT; 35s ago
     Docs: man:cockpit-ws(8)
   Listen: 0.0.0.0:9090 (Stream)
  Process: 6563 ExecStartPost=/usr/share/cockpit/motd/update-motd  localhost (code=exited, status=0/SUCCESS)
  Process: 6570 ExecStartPost=/bin/ln -snf active.motd /run/cockpit/motd (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2181)
   CGroup: /system.slice/cockpit.socket

使用 Cockpit

连接

默认的监听端口号是 9090。打开你最喜欢的 Web 浏览器并输入地址,例如: https://pibox:9090

 title=

你现在可以使用你的普通账户登录。同样,这个账户上需要有使用 sudo 的权限 —— 很可能就是你用来 SSH 和运行 Apt 的那个账户。一定要勾选“为特权任务重用我的密码”。

管理你的树莓派

Cockpit 的初始屏幕以 “System” 页开始,提供当前 CPU 和内存使用的详细信息和图表。

 title=

你可以从这个屏幕看到硬件细节。

 title=

通过点击每一项来展开左边的列(例如,日志、存储、服务等)。这些是标准的 Cockpit 部分,不言自明。让我快速描述一下每个部分。

日志

这部分展示了日志。它们可以根据日期和严重程度来过滤。

存储

存储部分展示了已经安装的物理驱动器和 RAID 设备。例如大小、序列号等细节都被展示了出来。还展示了读/写活动和实际空间使用的图表。存储的具体日志显示在底部。

网络

这部分展示了发送和接收活动、IP 地址以及网络特定的日志。你还可以使用相应的按钮添加更多的网络设备,如绑定、网桥和 VLAN。

账户

这里展示了已有的账户。点击每个账户来管理,或使用创建新账户按钮来添加用户。账户也可以被删除。

服务

这部分可以让管理员查看系统所有服务的状态。点击任何服务都会转到一个包含启动、重启和禁用的标准任务的屏幕。

应用程序

通常,这个屏幕提供了各种用于管理功能的应用程序,例如 389 目录服务器或创建 Podman 容器。但在我的树莓派 OS 上,这个屏幕只显示“没有安装或可用的应用程序”。在写这篇文章的时候,这个或许还没有实现。虽然,你可能会怀疑这类型的程序对于树莓派硬件来说是否太过沉重。

软件更新

对任何系统管理员来说,保持软件最新是最重要的任务之一。Cockpit 的软件更新部分可以检查并进行更新。

 title=

终端

Cockpit 最方便的特点之一是终端。你可以使用它,而不是打开一个单独的终端模拟器并使用 SSH。我使用终端来安装 ScreenFetch

$ sudo apt install screenfetch

使用 ScreenFetch 生成了这张截图:

 title=

使用 Cockpit 的中心控制

Cockpit 在树莓派上的表现就像它在其他 Linux 系统上一样。你可以将它添加到仪表盘上进行集中控制。它允许企业在 Cockpit 作为管理仪表盘解决方案的任何地方,将基于树莓派的服务和系统整合到他们的整体 Linux 基础设施中。因为树莓派经常在高密度机架数据中心以 无外接控制 headless 方式运行,而这些数据中心通常会缺乏 KVM 访问方式,这是非常方便的。


via: https://opensource.com/article/21/5/raspberry-pi-cockpit

作者:Alan Formy-Duval 选题:lujun9972 译者:RiaXu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

3 年多以前,Fedora 杂志发表了一篇题为《Cockpit 概览》的文章。从那时起,Cockit 的界面有了一些引人注目的变化。今天的 Cockpit 更加简洁,更大的字体更好地利用了屏幕的空间。

本文将介绍它的用户界面的一些变化。还将探讨一些在网页界面中可用的通用工具,以简化那些单调的系统管理员任务。

Cockpit 驾驶舱安装

Cockpit 可以使用 dnf install cockpit 命令安装。这提供了一个最小的设置,提供了使用该界面所需的基本工具。

另一个选择是安装 “Headless Management” 组,这将安装用于扩展 Cockpit 功能的附加包。它包括用于 NetworkManager、软件包、磁盘和 SELinux 管理的扩展。

运行以下命令,在启动时启用 Web 服务并打开防火墙端口:

$ sudo systemctl enable --now cockpit.socket
Created symlink /etc/systemd/system/sockets.target.wants/cockpit.socket -> /usr/lib/systemd/system/cockpit.socket

$ sudo firewall-cmd --permanent --add-service cockpit
success
$ sudo firewall-cmd --reload
success

登录网页界面

要访问网页界面,打开你最喜欢的浏览器,在地址栏中输入该服务器的域名或 IP,然后输入服务端口(9090)。由于 Cockpit 使用 HTTPS,安装过程中会创建一个自签证书来加密密码和其他敏感数据。你可以安全地接受这个证书,或者向你的系统管理员或受信任的来源请求 CA 证书。

一旦证书被接受,就会出现新改进的登录屏幕。长期使用的用户会注意到用户名和密码字段已被移到顶部。此外,凭证字段后面的白色背景会立即吸引用户的注意力。

自上一篇文章后,登录界面增加了一个功能,就是用 sudo 权限登录 —— 如果你的账号是 wheel 组的成员。勾选 “对于特权任务,重用我的密码” 旁边的方框,就可以提升你的权限。

登录界面的另一个版本是连接到同样运行 Cockpit Web 服务的远程服务器的选项。点击 “其他选项” 并输入远程机器的主机名或 IP 地址,从本地浏览器管理它。

主屏幕视图

一开始,我们就会看到基本概述,带有常见的系统信息,这包括机器的品牌和型号、操作系统、系统是否是最新的,等等。

点击系统的品牌/型号会显示硬件信息,如 BIOS/固件。它还包括与 lspci 中可以看到的组件的详情。

点击任何一个选项,右边都会显示该设备的详细信息。例如,“CPU 核心百分比” 选项显示了用户和内核使用了多少 CPU 核心的详细信息。此外,“内存和交换” 图表显示了系统内存的使用量、缓存量和交换分区的活动量。“磁盘 I/O” 和 “网络流量” 图表连到了 Cockpit 的 “存储和网络” 部分。这些内容将在接下来详细探讨系统工具的一篇文章中重新探讨。

SSH 密钥和认证

由于安全是系统管理员的关键因素,Cockpit 现在有了查看机器 MD5 和 SHA256 密钥指纹的选项。点击 “显示指纹” 选项可以显示服务器的 ECDSA、ED25519 和 RSA 指纹密钥。

你也可以通过点击右上角的用户名,选择“验证”,添加自己的密钥。点击 “添加密钥”,可以在其他系统上验证该机器。你也可以通过点击右侧的 “X” 按钮,撤销你在 Cockpit Web 服务中的权限。

更改主机名和加入域

更改主机名可以在主页上一键解决。单击当前显示的主机名,并在“更改主机名”框中输入新名称。最新的功能之一是提供了一个 “简称” 的选项。

Cockpit 增加的另一个功能是可以连接到目录服务器。点击 “加入域”,会出现一个弹窗,要求提供域地址或名称、组织单位(可选)和域管理员的凭证。“Domain Membership” 组提供了加入 LDAP 服务器所需的所有包,包括 FreeIPA,以及流行的 Active Directory。

要退出域,请点击域名,然后点击 “离开域”。将会出现一个警告,解释一旦系统不再在域上将会发生的变化。要确认,点击红色的 “离开域” 按钮。

配置 NTP 和系统日期和时间

使用命令行和编辑配置文件绝对可以完成最大限度的调整。然而,有些时候,一些更直接的方法就足够了。通过 Cockpit,你可以选择手动设置或使用 NTP 自动设置系统的日期和时间。一旦同步,右边的信息图标就会由红色变成蓝色。如果你手动设置日期和时间,该图标将消失。

要更改时区,请输入洲,下面会弹出城市列表。

关机和重启

你可以在 Cockpit 的主屏幕上轻松关闭和重启服务器。你也可以延迟关机/重启,并发送消息警告用户。

设置性能配置文件

如果安装了 tunedtuned-utils 包,可以在主屏幕上更改性能配置文件。默认情况下,它被设置为推荐的配置文件。然而,如果服务器的用途需要更多的性能,我们可以在 Cockpit 中更改配置文件以满足这些需求。

网页版终端控制台

一个 Linux 系统管理员的工具箱如果不能访问终端,将毫无用处。终端使得管理员可以对服务器进行微调,而不仅仅是 Cockpit 中的内容。随着主题功能的加入,管理员可以根据自己的喜好快速调整文字和背景颜色。

另外,如果你错输入了 exit 命令,点击右上角的 “重置” 按钮,会提供一个闪烁着光标的新屏幕。

添加远程服务器和仪表板布局

“Headless Management” 组包括了仪表盘模块(cockpit-dashboard)。它以实时图表的形式提供了 CPU、内存、网络和磁盘性能的概览。远程服务器也可以通过同一界面进行添加和管理。

例如,要在仪表盘中添加远程计算机,请单击 “+” 按钮。输入服务器的名称或 IP 地址,并选择你要的颜色。这有助于你在图中区分服务器的统计数据。要在服务器之间进行切换,请点击主机名称(如下面的屏幕动画所示)。要从列表中删除一个服务器,点击勾选标记图标,然后点击红色垃圾桶图标。下面的例子演示了 Cockpit 如何管理一台名为 server02.local.lan 的远程机器。

文档和寻找帮助

一如既往,手册页是查找文档的好地方。在命令行结果中进行简单搜索即可找到与使用和配置该 Web 服务的不同方面有关的页面。

$ man -k cockpit
cockpit (1)          - Cockpit
cockpit-bridge (1)   - Cockpit Host Bridge
cockpit-desktop (1)  - Cockpit Desktop integration
cockpit-ws (8)       - Cockpit web service
cockpit.conf (5)     - Cockpit configuration file

Fedora 仓库中也有一个名为 cockpit-doc 的软件包。这个软件包的描述是最好的解释。

《Cockpit 部署和开发者指南》向系统管理员展示了如何在他们的机器上部署 Cockpit,并帮助开发者嵌入或扩展 Cockpit。

更多文档请访问 https://cockpit-project.org/external/source/HACKING

结论

本文只涉及 Cockpit 中的一些主要功能。管理存储设备、网络、用户账户和软件控制将在下一篇文章中介绍。此外,可选的扩展,如 389 目录服务,以及用于处理 Fedora Silverblue 中的软件包的cockpit-ostree 模块。

随着越来越多的用户采用 Cockpit,可选的功能会继续增加。这个界面对于想要一个轻量级界面来控制服务器的管理员来说是非常理想的。

你对 Cockpit 有什么看法?在下面的评论中分享你的经验和想法。


via: https://fedoramagazine.org/cockpit-and-the-evolution-of-the-web-user-interface/

作者:Shaun Assam 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

本文向你展示如何在 Fedora 31 上使用安装 Cockpit 所需软件来创建和管理虚拟机。Cockpit 是一个交互式管理界面,可让你在任何受支持的 Web 浏览器上访问和管理系统。随着 virt-manager 逐渐被废弃,鼓励用户使用 Cockpit 来替换它。

Cockpit 是一个正在活跃开发的项目,它有许多扩展其工作的插件。例如,其中一个是 “Machines”,它与 libvirtd 交互并允许用户创建和管理虚拟机。

安装软件

先决所需软件是 libvirtcockpitcockpit-machines。要将它们安装在 Fedora 31 上,请在终端使用 sudo 运行以下命令:

$ sudo dnf install libvirt cockpit cockpit-machines

Cockpit 也在 “Headless Management” 软件包组中。该软件组对于仅通过网络访问的基于 Fedora 的服务器很有用。在这里,请使用以下命令进行安装:

$ sudo dnf groupinstall "Headless Management"

设置 Cockpit 服务

安装了必要的软件包后,就该启用服务了。libvirtd 服务运行虚拟机,而 Cockpit 有一个激活的套接字服务,可让你访问 Web GUI:

$ sudo systemctl enable libvirtd --now
$ sudo systemctl enable cockpit.socket --now

这应该足以运行虚拟机并通过 Cockpit 对其进行管理。(可选)如果要从网络上的另一台设备访问并管理计算机,那么需要将该服务开放给网络。为此,请在防火墙配置中添加新规则:

$ sudo firewall-cmd --zone=public --add-service=cockpit --permanent
$ sudo firewall-cmd --reload

要确认服务正在运行并且没有发生任何问题,请检查服务的状态:

$ sudo systemctl status libvirtd
$ sudo systemctl status cockpit.socket

此时一切都应该正常工作。Cockpit Web GUI 应该可通过 https://localhost:9090或https://127.0.0.1:9090 访问。或者,在连接到同一网络的任何其他设备上的 Web 浏览器中输入本地网络 IP。(如果未设置 SSL 证书,那么可能需要允许来自浏览器的连接。)

创建和安装机器

使用系统的用户名和密码登录界面。你还可以选择是否允许在此会话中将密码用于管理任务。

选择 “Virtual Machines”,然后选择 “Create VM” 来创建一台新的虚拟机。控制台为你提供几个选项:

  • 使用 Cockpit 的内置库下载操作系统
  • 使用系统上已下载的安装媒体
  • 指向系统安装树的 URL
  • 通过 PXE 协议通过网络引导媒体

输入所有必要的参数。然后选择 “Create” 启动新虚拟机。

此时,将出现一个图形控制台。大多数现代 Web 浏览器都允许你使用键盘和鼠标与 VM 控制台进行交互。现在,你可以完成安装并使用新的 VM,就像过去通过 virt-manager 一样。

照片由 Miguel Teixeira 发布于 Flickr(CC BY-SA 2.0)


via: https://fedoramagazine.org/create-virtual-machines-with-cockpit-in-fedora/

作者:Karlis Kavacis 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统。最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具。它的软件包在默认的 CentOS 8 和 RHEL 8 仓库中就有。Cockpit 是一个有用的基于 Web 的 GUI 工具,系统管理员可以通过该工具监控和管理 Linux 服务器,它还可用于管理服务器、容器、虚拟机中的网络和存储,以及检查系统和应用的日志。

在本文中,我们将演示如何在 CentOS 8 和 RHEL 8 中安装和设置 Cockpit。

在 CentOS 8/RHEL 8 上安装和设置Cockpit

登录你的 CentOS 8/RHEL 8,打开终端并执行以下 dnf 命令:

[root@linuxtechi ~]# dnf install cockpit -y

运行以下命令启用并启动 cockpit 服务:

[root@linuxtechi ~]# systemctl start cockpit.socket
[root@linuxtechi ~]# systemctl enable cockpit.socket

使用以下命令在系统防火墙中允许 Cockpit 端口:

[root@linuxtechi ~]# firewall-cmd --permanent --add-service=cockpit
[root@linuxtechi ~]# firewall-cmd --reload

验证 cockpit 服务是否已启动和运行,执行以下命令:

[root@linuxtechi ~]# systemctl status cockpit.socket
[root@linuxtechi ~]# ss -tunlp | grep cockpit
[root@linuxtechi ~]# ps auxf|grep cockpit

cockpit-status-centos8-rhel8

在 CentOS 8/RHEL 8 上访问 Cockpit

正如我们在上面命令的输出中看到的,cockpit 正在监听 tcp 9090 端口,打开你的 Web 浏览器并输入 url:https://<Your-CentOS8/RHEL8-System-IP>:9090

CentOS8-cockpit-login-screen

RHEL 8 中的 Cockpit 登录页面:

RHEL8-Cockpit-Login-Screen

使用有管理员权限的用户名,或者我们也可以使用 root 用户的密码登录。如果要将管理员权限分配给任何本地用户,请执行以下命令:

[root@linuxtechi ~]# usermod -G wheel pkumar

这里 pkumar 是我的本地用户,

在输入用户密码后,选择 “Reuse my password for privileged tasks”,然后单击 “Log In”,然后我们看到以下页面:

cockpit-dashboard-centos8

在左侧栏上,我们可以看到可以通过 cockpit GUI 监控和配置的内容,

假设你要检查 CentOS 8/RHEL 8 中是否有任何可用更新,请单击 “System Updates”:

Software-Updates-Cockpit-GUI-CentOS8-RHEL8

要安装所有更新,点击 “Install All Updates”:

Install-Software-Updates-CentOS8-RHEL8

如果想要修改网络并要添加 Bond 接口和网桥,请单击 “Networking”:

Networking-Cockpit-Dashboard-CentOS8-RHEL8

如上所见,我们有创建 Bond 接口、网桥和 VLAN 标记接口的选项。

假设我们想创建一个 br0 网桥,并要为它添加 enp0s3 端口,单击 “Add Bridge”:

将网桥名称指定为 br0,将端口指定为 enp0s3,然后单击“Apply”。

Add-Bridge-Cockpit-CentOS8-RHEL8

在下个页面,我们将看到该网桥处于活动状态,并且获得了与 enp0s3 接口相同的 IP:

Bridge-Details-Cockpit-Dashboard-CentOS8-RHEL8

如果你想检查系统日志,单击 “Logs”,我们可以根据严重性查看日志:

System-Logs-Cockpit-Dashboard-CentOS8-RHEL8

本文就是这些了,类似地,系统管理员可以使用 cockpit 的其他功能来监控和管理 CentOS 8 和 RHEL 8 服务器。如果这些步骤可以帮助你在 Linux 服务器上设置 cockpit,请在下面的评论栏分享你的反馈和意见。


via: https://www.linuxtechi.com/install-use-cockpit-tool-centos8-rhel8/

作者:Pradeep Kumar 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

如果你正在寻找一种管理运行容器的 Linux 服务器的简单方法,那么你应该看看 Cockpit。

如果你管理着一台 Linux 服务器,那么你可能正在寻找一个可靠的管理工具。为了这个你可能已经看了 WebmincPanel 这类软件。但是,如果你正在寻找一种简单的方法来管理还包括了 Docker 的 Linux 服务器,那么有一个工具可以用于这个需求:Cockpit

为什么使用 Cockpit?因为它可以处理这些管理任务:

  • 连接并管理多台机器
  • 通过 Docker 管理容器
  • 与 Kubernetes 或 Openshift 集群进行交互
  • 修改网络设置
  • 管理用户帐号
  • 通过基于 Web 的 shell 访问
  • 通过图表查看系统性能信息
  • 查看系统服务和日志文件

Cockpit 可以安装在 Debian、Red Hat、CentOS、Arch Linux 和 Ubuntu 之上。在这里,我将使用一台已经安装了 Docker 的 Ubuntu 16.04 服务器来安装系统。

在上面的功能列表中,其中最突出的是容器管理。为什么?因为它使安装和管理容器变得非常简单。事实上,你可能很难找到更好的容器管理解决方案。

因此,让我们来安装这个方案并看看它的使用是多么简单。

安装

正如我前面提到的,我将在一台运行着 Docker 的 Ubuntu 16.04 实例上安装 Cockpit。安装步骤很简单。你要做的第一件事是登录你的 Ubuntu 服务器。接下来,你必须使用下面的命令添加必要的仓库:

sudo add-apt-repository ppa:cockpit-project/cockpit

出现提示时,按下键盘上的回车键,等待提示返回。一旦返回到 bash 提示符,使用下面的命令来更新 apt:

sudo apt-get get update

使用下面的命令安装 Cockpit:

sudo apt-get -y install cockpit cockpit-docker

安装完成后,需要启动 Cockpit 服务并使它开机自动启动。要做到这个,使用下面的两个命令:

sudo systemctl start cockpit
sudo systemctl enable cockpit

安装就到这里了。

登录到 Cockpit

要访问 Cockpit 的 web 界面,打开浏览器(与 Cockpit 服务器在同一个网络内),输入 http://IP_OF_SERVER:9090,你就会看到登录页面(图 1)。

图 1:Cockpit 登录页面。

在 Ubuntu 中使用 Cockpit 有个警告。Cockpit 中的很多任务需要管理员权限。如果你使用普通用户登录,则无法使用 Docker 等一些工具。 要解决这个问题,你可以在 Ubuntu 上启用 root 用户。但这并不总是一个好主意。通过启用 root 帐户,你将绕过已经建立多年的安全系统。但是,在本文的用途中,我将使用以下两个命令启用 root 用户:

sudo passwd root
sudo passwd -u root 

注意,请确保给 root 帐户一个强壮的密码。

你想恢复这个修改的话,你只需输入下面的命令:

sudo passwd -l root

在其他发行版(如 CentOS 和 Red Hat)中,你可以使用用户名 root 及其密码登录 Cockpit,而无需像上面那样需要额外的步骤。

如果你对启用 root 用户感到担心,则可以在服务器的终端窗口拉取镜像(使用命令 docker pull IMAGE_NAME, 这里的 IMAGE_NAME 是你要拉取的镜像)。这会将镜像添加到你的 docker 服务器中,然后可以通过普通用户进行管理。唯一需要注意的是,普通用户必须使用以下命令将自己添加到 Docker 组:

sudo usermod -aG docker USER

其中,USER 是实际添加到组的用户名。在你完成后,重新登出并登入,接着使用下面的命令重启 Docker:

sudo service docker restart

现在常规用户可以启动并停止 Docker 镜像/容器而无需启用 root 用户了。唯一一点是用户不能通过 Cockpit 界面添加新的镜像。

使用 Cockpit

一旦你登录后,你可以看到 Cockpit 的主界面(图 2)。

图 2:Cockpit 主界面。

你可以通过每个栏目来检查服务器的状态等,但是我们想要直接进入容器。单击 “Containers” 那栏以显示当前运行的以及可用的镜像(图3)。

图 3:使用 Cockpit 管理容器难以置信地简单。

要启动一个镜像,只要找到镜像并点击关联的启动按钮。在弹出的窗口中(图 4),你可以在点击运行之前查看所有镜像的信息(并根据需要调整)。

图 4: 使用 Cockpit 运行 Docker 镜像。

镜像运行后,你可以点击它查看状态,并可以停止、重启、删除实例。你也可以点击修改资源限制并接着调整内存限制还有(或者)CPU 优先级。

添加新的镜像

假设你以 root 用户身份登录。如果是这样,那么你可以在 Cockpit GUI 的帮助下添加新的镜像。在“ Container” 栏目下,点击获取新的镜像按钮,然后在新的窗口中搜索要添加的镜像。假设你要添加 CentOS 的最新官方版本。在搜索栏中输入 centos,在得到搜索结果后,选择官方列表,然后单击下载(图5)。

图 5:使用 Cockpit 添加最新的官方构建 CentOS 镜像到 Docker 中。

镜像下载完后,那它就在 Docker 中可用了,并可以通过 Cockpit 运行。

如获取它那样简单

管理 Docker 并不容易。是的,在 Ubuntu 上运行 Cockpit 会有一个警告,但如果这是你唯一的选择,那么也有办法让它工作。在 Cockpit 的帮助下,你不仅可以轻松管理 Docker 镜像,也可以在任何可以访问 Linux 服务器的 web 浏览器上这样做。请享受这个新发现的让 Docker 易用的方法。


via: https://www.linux.com/learn/intro-to-linux/2017/3/make-container-management-easy-cockpit

作者:JACK WALLEN 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出