在Promox VE上的LXC容器中运行Debian/Ubuntu Linux
在本教程中,我们将介绍在Promox VE上的LXC容器中运行Debian/Ubuntu Linux的过程。请注意,您需要一个工作的Proxmox VE才能在您的基本系统上使用此安装,另外,Promox VE要已经安装并运行了LXC。
在Promox VE上运行Debian/Ubuntu LXC容器
登录您的Promox VE:
ssh root@PromoxIP
检查LXC的版本以验证它是否已安装:
# dpkg -l lxc-pve
Desired=Unknown/Install/Remove/Purge/Hold
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
lxc-pve 5.0.0-3 amd64 Linux containers userspace tools
有一组名为Proxmox Helper Scripts的工具,允许您以交互式方式创建Linux容器或虚拟机,并提供基本配置和高级配置的选项。
让我们下载简化Promox虚拟化环境中Debian Linux容器安装的脚本:
### Debian ###
wget https://github.com/tteck/Proxmox/raw/main/ct/debian.sh
### Ubuntu ###
wget https://github.com/tteck/Proxmox/raw/main/ct/ubuntu.sh
使用chmod命令使脚本可执行:
### Debian ###
chmod +x debian.sh
### Ubuntu ###
chmod +x ubuntu.sh
执行脚本,开始在Proxmox上安装Debian LXC容器:
### Debian ###
./debian.sh
### Ubuntu ###
./ubuntu.sh
在第一个提示中,接受Debian LXC的创建:
为了便于设置,您可以选择默认设置,即Default Settings:
对于自定义安装-主机名、根密码、IP地址和其他设置,请选择高级(Advanced):
选择容器的类型。对于任何其他用途,无特权(Unprivileged)都可以,除非你知道为什么选择特权:
设置root密码。如果为容器启用了SSH访问,则这是必需的:
设置容器ID。您可以忽略并保留自动生成的编号:
接下来设置容器的主机名。完成后点击Ok按钮:
默认磁盘大小对于您的应用程序来说可能太小,这时可以设置所需的存储容量:
还要设置要分配给容器的CPU核心:
RAM设置为MB。在我的示例中,容器将具有2GB的内存:
为网络设置网桥名称。您可以使用brctl命令检查Proxmox服务器中的可用网桥:
$ brctl show
会返回桥接器名称、桥接器id和STP已启用的信息,如下截图:
如果您没有自定义,我将使用vmbr0–默认的Proxmox网桥:
在IP地址上,您可以选择DHCP或设置静态IP地址:
如果使用静态IP地址,请组合IP和子网。例如192.168.20.40/24。接下来提供默认网关,例如192.168.20.1:
您可以选择使用或禁用IPv6。对我来说,我不需要在这个容器中启用它:
根据使用情况,您可以设置MTU大小:
设置DNS搜索域。这在使用内部DNS服务器时更实用。当然,这一选项是可选的:
可以指定DNS服务器IP地址。对于DHCP,请将其留空:
MAC地址设置也可在高级配置选项中使用:
如果没有在网络中使用VLAN,请设置或忽略它:
选择通过SSH启用或禁用root访问:
启用或禁用详细模式(verbose mode):
当准备好创建容器时,点击Yes键:
如果创建成功,您应该会看到类似于下面的消息:
您还可以使用lxc-info命令显示有关已创建容器的更多信息:
$ lxc-info 117
Name: 117
State: RUNNING
PID: 1053938
IP: 192.168.207.128
Link: veth117i0
TX bytes: 187.60 KiB
RX bytes: 19.79 MiB
Total bytes: 19.97 MiB
我们可以测试ping:
$ ping -c 2 192.168.207.128
PING 192.168.207.128 (192.168.207.128) 56(84) bytes of data.
64 bytes from 192.168.207.128: icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from 192.168.207.128: icmp_seq=2 ttl=64 time=0.039 ms
--- 192.168.207.128 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.039/0.040/0.041/0.001 ms
如果已启用SSH,则应该可以将其作为根用户(root):
$ ssh root@192.168.207.128
The authenticity of host '192.168.207.128 (192.168.207.128)' can't be established.
ECDSA key fingerprint is SHA256:pagZQOlpXT3MUMaCXKGw/gn6ivW4StfZCVsxP3L63+0.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.207.128' (ECDSA) to the list of known hosts.
root@192.168.207.128's password:
Debian LXC provided by https://tteck.github.io/Proxmox/
root@debian:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@debian:~# exit
logout
对于控制台访问使用:
root@pve07 ~ # lxc-console 117
Connected to tty 1
Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself
Debian GNU/Linux 11 debian tty1
debian login: root
Password:
Debian LXC provided by https://tteck.github.io/Proxmox/
Last login: Tue Apr 4 18:52:44 EAT 2023 from 192.168.207.1 on pts/3
root@debian:~#
注:可键入<Ctrl+a q>退出控制台。
结论
总之,对于需要以更快、高效和高效的方式创建、管理和部署应用程序的系统管理员和开发人员来说,Linux和LXC都是强大的工具。这些工具是免费的、开源的,让任何想使用它们的人都可以访问。随着Proxmox VE已经部署在您的基础设施中,您可以在运行LXC容器时利用其功能和可用资源。