MeteorCat / Cockpit 运维平台搭建

Created Tue, 11 Nov 2025 21:45:56 +0800 Modified Sat, 15 Nov 2025 15:43:38 +0800
1130 Words

Cockpit 运维搭建

Cockpit 是开源的 Linux 服务器图形化管理工具, 专为简化服务器运维工作设计, 适合中小规模环境搭建使用.

一般用于常规 nas 或者 10 台服务器管理规模这类日常服务器运维

基本上主流的 Linux 都集成在包管理之中, 直接运行以下命令就可以安装:

# debian 系
sudo apt install cockpit

# redhat 系
sudo yum install cockpit

默认启动的服务端口为 9090

cockpit 并不是 EXSIPVE 这种专门虚拟化管理那种专业化的虚拟化平台, 仅仅是作为界面化运维管理; 同时也不具有底层系统级别的管理能力, 且不具有大规模服务集群的能力.

不过如果只是想单独简单管理几台容器化服务, 利用 cockpit 反而更加轻量而无须对系统整个重新构建.

cockpit-machines 只能间接管理 KVM 虚拟机, 仅支持基本的启停|创建, 没有快照|克隆|高可用方案

如果是小规模(5台)服务器范围且不需要快照备份功能, 只需要对应 cockpit 就足以满足.

系统级别虚拟化带来的问题就是物理资源有限制(有的虚拟化需要最少4G内存等), 并且系统资源占用也不低(cockpit占用不到100M)

cockpit 需要 KVM 虚拟机可以选择 cockpit-machines, 如果需要容器化管理可以选择 cockpit-podman:

# debian 系
sudo apt install cockpit-machines
sudo apt install cockpit-podman

# redhat 系
sudo yum install cockpit-machines
sudo yum install cockpit-podman

安装之后启动服务即可:

sudo systemctl start libvirtd # 启动虚拟化管理
sudo systemctl enable libvirtd # 开机启动虚拟化
sudo systemctl start cockpit # 启动服务器
sudo systemctl enable cockpit.socket # 开机启动

cockpit 是我自己家用单独做服务器运维管理必装的应用, 不需要太多复杂配置就可以进行功能管理, 并且基本上所有发行版都集成

其他虚拟化管理软件在 arm64 或者 risc-v 需要找专门第三方处理, 如果通过 cockpit 可以直接在烧录镜像部署服务

如果你部署的平台是已经烧录好的开发板, 那么 cockpit 是最好做开发服务的最好选择, 其实主要是应用生态问题导致不得不选择相对通用的方案.

其他配置

默认访问控制, 不允许高权限用户通过网页登陆:

# /etc/cockpit/disallowed-users
# 每一行一个对应用户名即可, 比如 root 推荐绝对不允许提供登陆
sudo vim /etc/cockpit/disallowed-users

如果有 https 证书, 可以手动通过以下地址替换(不同发行版可能文件名称不一样, 但是目录名称基本上不变):

  • 私钥: /etc/cockpit/ws-certs.d/0-self-signed.cert, (权限 600,属主 root)
  • 证书: /etc/cockpit/ws-certs.d/0-self-signed.key, (包含完整证书链)

如果是 cloudflare 之类服务端证书就可以直接替换掉暴露给外部访问

如果想修改默认访问端口和地址, 可以通过以下处理:

# 默认的 debian 发行版的系统配置
# 可以通过 sudo systemctl status cockpit.socket 查看到服务文件地址
sudo vim /usr/lib/systemd/system/cockpit.socket

修改具体端口只需要找到以下配置修改即可:

[Socket]
# 屏蔽原来的监听端口号
# ListenStream=9090 
ListenStream=19090

之后重启服务来加载更新, 如果有防火墙软件需要加上排除规则:

sudo systemctl daemon-reload
sudo systemctl restart cockpit.socket

这里官方提供了配置 /cockpit.conf 说明:

# 默认配置放置于 /etc/cockpit/cockpit.conf, 如果不存在该文件可以就创建他
sudo mkdir -p /etc/cockpit # 创建目录
sudo touch /etc/cockpit/cockpit.conf # 创建文件
sudo vim /etc/cockpit/cockpit.conf # 编辑文件

文件内容如下:

[WebService]
# 配置访问可接受的域, 这边采用 
# - http://127.0.0.1:9090(内网)
# - https://[自己买的域名](外网)
Origins = https://127.0.0.1:9090 https://YourDomain
# 允许非安全 http 访问
AllowUnencrypted=true

之后重启服务即可:

sudo systemctl restart cockpit

这样基本上完成简易的 cockpit 服务优化, 后续就是底层方面优化处理.