跳转至

通过 Cockpit 进行 Web 管理的 KVM

在这篇文章中

信息

KVM with web management via Cockpit 是一个基于 QEMU/KVM 的现成 hypervisor,预装了 Cockpit web panel 以及用于管理虚拟机的 cockpit-machines 模块。该解决方案旨在通过便捷的 Web 界面快速部署虚拟化基础设施,无需使用独立的 GUI 客户端或复杂的 CLI 命令。

部署功能

ID 软件名称 兼容操作系统 虚拟机 物理机 vGPU GPU 最低CPU(核) 最低内存(GB) 最低硬盘(GB) 自定义域名 是否启用
450 KVM with Cockpit UI Ubuntu 22.04, Ubuntu 24.04 + + + + 4 8 100 订购

KVM/Cockpit 的主要路径和文件:

  • VM 镜像与磁盘 (默认存储): /var/lib/libvirt/images/
  • VM 配置 (libvirt): /etc/libvirt/qemu/
  • Socket and libvirtd configuration: /etc/libvirt/libvirtd.conf, /var/run/libvirt/
  • Cockpit 配置: /etc/cockpit/
  • Cockpit TLS certificates (ws-certs): /etc/cockpit/ws-certs.d/
  • Let's Encrypt directory for Cockpit FQDN: /etc/letsencrypt/live/<kvm_fqdn>/
  • libvirt logs: journalctl -u libvirtd, /var/log/libvirt/
  • Cockpit logs: journalctl -u cockpit -u cockpit.socket

备注

除非另有说明,否则默认会从操作系统仓库或开发人员网站安装 KVM、libvirt 和 Cockpit 的最新稳定版本。

部署后的入门指南

支付订单后,服务器就绪通知将发送到注册时提供的电子邮件地址。邮件中将包含 VPS/服务器 IP 地址、SSH 登录用户名和密码,以及服务器管理面板的链接 —— Invapi

用户通过服务器管理面板和 API — Invapi 来管理设备。在所选服务器的 Configuration >> Tags 选项卡中,可以查看技术参数和服务链接。

授权数据可以在服务器管理面板的 Configuration >> Tags 选项卡或电子邮件中找到:

  • 访问 Cockpit web interface 的链接:位于 webpanel 标签中(端口 9090, HTTPS)

访问 Cockpit Web Interface

连接到面板

  1. 在您的本地机器上打开浏览器(例如 Ubuntu 上的 Firefox)。
  2. 导航至如下地址:
  3. https://<IP_address>:9090 —— 通过 IP 访问时;
  4. https://<kvm_fqdn>:9090 —— 通过 webpanel 标签中的域名访问时。

默认情况下,Cockpit 监听 TCP 端口 9090,必须在所使用的防火墙(UFW、firewalld、iptables 等)中允许该端口。

登录与管理权限

  1. 在登录页面,输入服务器的用户名和密码(通常是邮件中提供的账户或管理员创建的账户)。

  1. 登录后,将打开 Cockpit 启动页,显示关键指标 (CPU 负载、RAM、文件系统、网络流量)。

备注

如果需要执行管理虚拟机和系统服务的操作,您应在界面顶部点击 Turn on administrative access 按钮,以临时授予会话管理员 (sudo) 权限,而无需频繁输入密码。

启用管理权限后,即可进行管理虚拟机和系统服务的操作。

Cockpit 界面:各部分概述

Cockpit 界面左侧有一个简单、逻辑清晰的导航菜单。每个部分处理服务器和虚拟化管理的一个特定方面。

系统部分 (System Sections)

总览 (Dashboard)

服务器主页("Dashboard")显示系统健康状况摘要:

  • Health: 系统状态(错误、警告)。
  • Usage: 实时资源使用情况图表(CPU、RAM、Disk I/O、Network)。
  • System information: 硬件信息、主机名、运行时间、操作系统版本。
  • Configuration: 快速访问以更改 Host name、时间、加入域以及性能配置。

日志

用于查看系统日志的界面(类似于 journalctl):

  • 允许按日期、严重程度 (Errors, Warnings, Notice) 和服务过滤日志。
  • 便于在不使用控制台的情况下诊断 VM 启动错误或网络问题。

存储

磁盘子系统管理:

  • Drives: 物理磁盘列表。您可以创建分区表、格式化磁盘。
  • Filesystems: 查看挂载点和已用空间。
  • NFS mounts: 连接远程 NFS 存储。
  • Storage logs: 仅与磁盘子系统相关的日志。

网络

主机网络接口管理:

  • Interfaces: 网卡列表。在此处您可以配置 IP 地址 (static/DHCP)、DNS 和网关。
    • Add Bridge / Add Bond / Add VLAN: 创建网络桥接 (Bridge)、链路聚合 (Bonding) 和 VLAN 的按钮。这是配置虚拟机网络(创建 br0)的关键部分。
  • Firewall: 基础防火墙规则管理(如果安装了 firewalld)。
  • Network logs: 网络日志。

虚拟化

虚拟机

管理 KVM hypervisor 的核心部分(需要安装 cockpit-machines 插件)。

  • 虚拟机列表: 所有虚拟机的表格,显示其状态 (Running, Shut off) 和简要特征。
  • 创建虚拟机: 创建新机器的向导(ISO 上传、磁盘创建)。
  • 虚拟机详情视图: 点击机器会打开其详情卡片,包含以下选项卡:
  • Overview: 常规设置、自动启动。
  • Console: 直接在浏览器中访问 VM 屏幕 (VNC/SPICE)。
  • Disks: 添加/移除虚拟磁盘。
  • Network Interfaces: 将网络适配器绑定到 Bridge 或 NAT。

系统管理

账户

服务器用户管理:

  • 创建新用户。
  • Change passwords、锁定账户。
  • 为用户配置 SSH keys。
  • 管理管理员权限 (sudo)。

服务

systemd 的图形化层:

  • Services: 所有守护进程(服务)的列表。您可以启动、停止、重启以及启用/禁用服务的自动启动(例如 libvirtd, ssh, nginx)。
  • Targets / Sockets / Timers: 管理其他 systemd 单元。

工具

此部分通常包含额外的插件。

  • Applications: Cockpit 应用管理器(安装额外模块)。
  • Software Updates: 系统更新管理(类似于 apt update / dnf update)。显示可用的安全补丁并允许一键安装。可以启用自动更新。
  • Terminal (Terminal)

浏览器中的全功能命令行 (shell):

  • 提供以当前用户身份访问服务器的权限。
  • 如果图形界面不足以完成任务,允许执行任何 virsh, htop, vim 等命令。
  • 通过 websockets 工作,支持复制/粘贴。

创建并安装客体虚拟机 (Guest VM)

准备 ISO Image (可选)

如果您打算使用自己的 ISO 镜像,请提前将其上传到服务器,例如上传到 /var/lib/libvirt/images//tmp/。如果您想通过 Cockpit 使用流行发行版的自动下载功能,可以跳过此步骤。

创建新的 Virtual Machine

  1. 在左侧 Cockpit 菜单中,进入 Virtual Machines 部分。
  2. 点击 Create VM 按钮。

  3. 在打开的向导中,设置以下参数:

  4. Name: 指定一个唯一的名称,例如 TestVM
  5. Installation Type: 选择可用选项之一:
    • Download an OS: 最简单的方法。从列表中选择一个操作系统,Cockpit 将下载所需的镜像。
    • Local install media: 如果您已经将 ISO 文件上传到服务器,请选择此项。在出现的字段中,指定文件的路径(例如 /tmp/ubuntu-24.04.1-desktop-amd64.iso)。
    • URL: 允许指定 ISO 的直接下载链接。
  6. Operating System: 当选择 Download an OS 时,列表将自动填充。使用本地 ISO 时,系统会尝试自行检测操作系统,或者您可以从列表中手动选择。
  7. Storage:
    • Size: 指定虚拟磁盘的大小(例如 20 GiB)。磁盘将自动创建。
  8. Memory: 指定分配的 RAM 大小(例如 4 GiB)。
  9. Immediately start VM: 如果您想立即开始安装,请保留勾选;如果您需要在启动前更改设置(例如网络),请取消勾选。

  10. 如果需要额外设置(例如选择网络桥接),请取消勾选 Immediately start VM 并点击 Create

安装前的附加配置

如果您选择了不立即启动,则会打开一个 VM 页面。进入 Network Interfaces 选项卡:

  1. 确保 Source 字段设置为:
  2. br0 桥接接口,如果虚拟机需要从与主机相同的网络获取 IP(建议用于外部访问性);
  3. 或者标准的 NAT 网络 defaultvirbr0,如果仅需 VM 具备互联网访问能力而无需直接的外部可见性。
  4. 点击 Add 以启动 VM 并开始安装。

在 VM Console 中的安装过程

  1. 在虚拟机列表中,选择已创建的 TestVM
  2. 点击 Install 按钮。
  3. 您将在 Console 选项卡中看到操作系统安装界面。按照安装程序指示进行操作(语言选择、磁盘分区、用户创建)。

安装完成后,虚拟机将重启并准备就绪。

检查与基础虚拟机管理

首次启动与网络测试

  1. 确保 TestVM 处于 Running 状态。
  2. 在 Cockpit 中打开 VM console 并使用安装期间创建的用户登录。
  3. 在 Guest OS 内部,打开终端并检查网络设置:
ip addr
  • 使用 br0 桥接时,VM 应从您的物理网络获取 IP,例如 192.168.0.x
  • 使用 NAT 网络 default 时,地址通常来自内部网络,例如 192.168.122.x

  • 检查互联网连接:

ping 8.8.8.8

Cockpit 中的日常 VM 操作

在每台虚拟机的卡片中都提供了基础操作:

  • Run — 启动已停止的 VM。
  • Shut Down — 优雅地关闭 Guest OS (ACPI 信号)。
  • Force shut down — 强制关机 (Power off)。
  • Reboot — 重启 VM。
  • Delete — 删除 VM(并提供删除关联虚拟磁盘的选项)。

通过 DisksNetwork Interfaces 选项卡,您可以添加额外的设备。

备注

有关 Cockpit 功能和 KVM 管理的更多信息,请参阅 官方 Cockpit 文档

使用 API 订购通过 Cockpit 进行 Web 管理的 KVM

要使用 API 安装此软件,请遵循这些说明

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×