说起管理 Linux 服务器,大家首先想到的使用 SecureCRT、Xshell、MobaXterm 等工具远程到服务器,然后使用命令行管理服务器。今天给大家介绍一个好玩的工具,名字叫Cockpit, Cockpit 是一个免费开源的基于 web 的 Linux 服务器管理工具,通过 Cockpit 提供的 Web 前端界面可以监视和管理Linux 服务器,执行存储管理、网络配置、检查日志、虚拟机管理等任务。项目主页地址是https://cockpit-project.org/Cockpit 可以安装在 Debian、Red Hat、CentOS、Arch Linux 和 Ubuntu 等 Linux 系统上。
## 安装 Cockpit 服务
我以 CentOS 7.9 为例,来安装 Cockpit:
-
安装 cockpit:
sudo yum install cockpit
-
启用 cockpit:
sudo systemctl enable --now cockpit.socket
-
如有必要,请打开防火墙:
sudo firewall-cmd --permanent --zone=public --add-service=cockpit
sudo firewall-cmd --reload
4.如果需要开启虚拟机功能,需要安装cockpit-machines 包:
sudo yum install cockpit-machines
sudo systemctl restart cockpit.socket
5.如果需要开启容器功能,需要安装 cockpit-docker 包:
sudo yum install cockpit-docker
sudo systemctl restart cockpit.socket
## 在网页中使用Cockpit服务管理服务器
Cockpit 启动并运行后,可以在主流 Web 浏览器(包括 Chrome 和 Microsoft Edge、Firefox)访问您的服务器。启动浏览器并访问网址:https://ipaddress:9090 (ipaddress 为 linux 服务器实际地址)。
输入 linux 的账号密码,就可以进入 Cockpit 的页面了。
系统概括、日志、网络、用户这几个功能一看就懂,就不额外介绍了。重点看看另外几个功能。
1 、容器
可以从网页管理容器,本来这是个非常好的功能,但是由于大家都知道的原因,获取不了镜像,太可惜了。
2 、虚拟机
这也是一个非常重要的功能,但是我点右上角的"创建"虚拟机按钮,按钮是灰色的,提示也看不见,真是气人啊。
查询相关资料,才知道想要使用虚拟机功能,光安装并启用 cockpit-machines 服务是不够的。还需要下面关键的几步。
2 .1 安装 KVM 和相关工具
安装KVM(Kernel-based Virtual Machine)和相关的工具:
sudo yum install -y qemu-kvm libvirt virt-install bridge-utils
2.2 启动和启用 libvirtd 服务
KVM 需要 libvirtd 服务进行管理,使用下面的命令启动并启用 libvirtd 服务:
sudo systemctl start libvirtdsudo
sudo systemctl enable libvirtd
2.3 创建虚拟网络
在创建虚拟机之前,需要配置虚拟网络。可以使用下面的命令创建一个默认的虚拟网络:
sudo virsh net-define /etc/libvirt/qemu/networks/default.xml
sudo virsh net-start default
sudo virsh net-autostart default
重启一下 Cockpit 服务:
sudo systemctl restart cockpit
这时连接会断开,重新输入账号密码再次登录页面。再次进入虚拟机菜单,可以看到右上角的"创建"虚拟机按钮已经从灰色变成可以点击的了。点击后就可以出现创建虚拟机的界面了。后面的操作我就不介绍了,熟悉 Vmware Workstation 安装虚拟机类似。
3、服务
这个功能可真是太实用了,图形化显示服务的启用状态很直观。点具体的服务进去,可以启用、停用、禁用、重启服务,而且可以看到服务的安装路径和依赖关系等。
4 、终端
在网页上使用终端也是个很有用的功能,不需要连接工具就能直接敲命令了,复制、粘贴命令连敲都给省了。甚至你可以直接在手机或者平板上直接用网页上的这个终端功能直接操作你的服务器执行指令。
至此,Cockpit 主要的功能就介绍完了。对 Linux 工程师来说,使用连接工具操作服务器估计还是最常用的运维方式,但是这个 Cockpit 是个很好的补充。