刚开始使用PVE创建虚拟机的朋友多半都是从KVM开始,毕竟它的使用和物理机没有多大区别——安装操作系统,配置IP地址,安装软件。
但是这样也导致一部分宿主机的性能被浪费,比如安装10个linux,操作系统部分完全重复了。如果我们省略操作系统部分直接安装应用不是更好——节约资源也节省时间。
说到这里你可能想到了Docker或者K8S。虽然PVE可以安装Docker,不过目前它直接集成的是Linux的内核容器虚拟化——LXC。这里具体的技术细节上的区别,我们只需要知道docker是基于lxc然后在Cgroup和Namespace两方面进行了增强即可。
Lxc的好处和docker一样——分钟就搭建好一个服务——所谓开箱即用,以及节约资源。目前只能支持linux系统,毕竟要调用宿主的功能。
下面是lxc的简易入门操作。
安装
准备LXC模板存放目录
模板是一个压缩文件,所以这个存储类型应该是文件存储(理解为一个目录就行了)
确保你的存储内容支持,如下,local和nfs两个存储可放置容器模板:
如果不支持,编辑添加就是了:
下载LXC模板
下载LXC模板可以通过WEB界面或命令行
(1) 通过WEB界面下载
选择存储下载,这里用nfs为例:
(2) 通过命令行下载
查看所有可用模板
代码语言:javascript复制pveam available
查看所有可用系统模板
代码语言:javascript复制pveam available --section system
查看所有可用应用模板
代码语言:javascript复制pveam available --section turnkeylinux
下载模板到存储,如下载tomcat15到local:
代码语言:javascript复制pveam download local debian-9-turnkey-tomcat_15.1-1_amd64.tar.gz
查看存储local中的模板
代码语言:javascript复制pveam list local
创建容器虚拟机
直接在管理界面的右上角”创建CT”然后选择自己的lxc模板,之后按照提示选择运行节点并设置主机名/IP地址/root密码
选择模板
一路下去就好了,几分钟后你就得到一个可以直接使用的程序或者linux操作系统。
管理
一般来说,管理linux服务器通过ssh登录操作,不过lxc可以直接从宿主机执行pct enter CTID进入LXC的shell:
代码语言:javascript复制pct list
pct enter 123
因为PVE基于debian,所以通常使用的应用模板也是基于debian的,安装完成后需要修改默认时间:
代码语言:javascript复制pct enter 123
dpkg-reconfigure tzdata
LXC下面遇到的权限问题可以通过调整Cgroup来解决。