Add proxmox-ve

This commit is contained in:
xrgzs 2024-12-19 21:46:43 +08:00
parent 0194f1407c
commit ebc62eb1c7
8 changed files with 240 additions and 0 deletions

View File

@ -0,0 +1,27 @@
additionalProperties:
formFields:
- default: 8006
edit: true
envKey: PANEL_APP_PORT_HTTPS
labelEn: WebUI Port
labelZh: 网页端口
required: true
rule: paramPort
type: number
- default: 192.168.1.2
edit: true
envKey: HOST_ADDRESS
labelEn: IP Address
labelZh: IP地址
required: true
rule: paramCommon
type: text
- default: root
edit: true
envKey: ROOT_PASSWORD
labelEn: Root Password
labelZh: root密码
random: true
required: true
rule: paramComplexity
type: password

View File

View File

@ -0,0 +1,45 @@
services:
proxmox-ve:
image: makedie/proxmox_ve:8.3.1-1
container_name: ${CONTAINER_NAME}
restart: unless-stopped
tty: true
environment:
- root_password=${ROOT_PASSWORD}
- port=${PANEL_APP_PORT_HTTPS}
- TZ=Asia/Shanghai
# devices:
# - /dev/dri
# - /dev/fuse
# - /dev/kvm
# - /dev/vfio
# - /dev/nvidia0
# - /dev/nvidiactl
# - /dev/nvidia-uvm
# - /dev/nvidia-uvm-tools
# - /dev/nvidia-vgpu1
# cap_add:
# - SYS_ADMIN
# - NET_ADMIN
network_mode: host
volumes:
# - /sys/fs/cgroup:/sys/fs/cgroup:ro
# - /sys/fs/cgroup/systemd:/sys/fs/cgroup/systemd
# - /sys/fs/fuse:/sys/fs/fuse
# - /var/run/openvswitch:/host/var/run/openvswitch
- ./data/vz:/var/lib/vz
- ./data/pve-cluster:/var/lib/pve-cluster
- ./data/pve-manager:/var/lib/pve-manager
tmpfs:
- /tmp
- /var/run
- /var/cache
- /run/lock
labels:
createdBy: "Apps"
extra_hosts:
- "shop.maurer-it.com:127.0.0.1"
- "${CONTAINER_NAME}:${HOST_ADDRESS}"
hostname: ${CONTAINER_NAME}
stop_grace_period: 2m
privileged: true

149
apps/proxmox-ve/README.md Normal file
View File

@ -0,0 +1,149 @@
# 在 Docker 里头跑 Proxmox VE
## 说明
在docker里头跑Proxmox VE
主要是给没kvm管理器但又有kvm的机器用
可以部署在群辉之类的地方
## 使用提示
默认账户root root
1Panel 安装会修改密码,可在应用商店 -> 参数中查看
虚拟机镜像位于 `./data/vz`
已知问题:
- CTLXC无法使用
- 部分机器无法使用网桥;
- 如有虚拟机正在运行可能无法关闭容器
### 检查kvm支持
确定一下你的环境是支持kvm的内核和硬件都要支持需要在 BIOS 中打开虚拟化选项
```shell
ls /dev/kvm
lsmod | grep kvm
cat /proc/modules | grep kvm
cat /proc/cpuinfo | egrep 'vmx|svm'
......
```
如果不支持则无法启动虚拟机
### 配置网桥设备
在宿主机上配置好虚拟网桥设备,如 Linux Bridge、OVS Bridge使虚拟机可以桥接到宿主机的网络
> 如果您的宿主机运行的是 OpenWrt无需按本节进行配置默认已经有 br-lan 网桥,直接使用即可
>
> 如果您的宿主机运行的是 DSM无需按本节进行配置安装 VMM 套件后,默认已经有 ovs_eth0 网桥,直接使用即可
>
> 如虚拟机无需网络支持,无需按本节进行配置
>
> 如可接受使用 `qemu args` 添加网络,无需按本节进行配置
警告:配置不当可能会导致机器失联
已知问题1. 按本节操作配置后在部分系统fnOS不能正常展示网络信息部分机器无法使用网桥会导致无法开机
注意:以下仅适用于精简安装的 Debian如果使用了其他网络管理工具请自行查找教程配置网桥并使其重启后仍然生效
下面以 Linux Bridge + ifupdown2 为例:
```shell
apt update
apt install ifupdown2 bridge-utils
```
编辑网络接口配置文件:编辑你的网络接口配置文件 `/etc/network/interfaces`
以下是创建一个基本的`br-lan`网桥的示例配置:
```shell
auto lo
iface lo inet loopback
iface enp6s0 inet manual
auto br-lan
iface br-lan inet static
address 192.168.1.2/24
gateway 192.168.1.1
bridge-ports enp6s0
bridge-stp off
bridge-fd 0
```
请将上面的网卡名称、IP地址、网关等替换为你自己的
修改完配置文件后,你需要重启网络服务以应用更改:
```shell
sudo systemctl restart networking
```
### 虚拟机使用已存在的网桥
使用 `docker network inspect 1panel-network``ip a` 查看 `1panel-network` 的网桥设备名称,一般为 br 开头加上网桥设备的 Id`br-71bd14b8df2a`
直接在 PVE 的网络管理页面(节点->系统->网络)里面创建并使用即可,如提示名字过长或保存失败,编辑容器内的 `/etc/network/interfaces` 文件即可
或者进入 PVE 的 Shell 执行以下命令给虚拟机指定网桥:
VM
```bash
qm set 100 -net0 virtio,bridge=br-71bd14b8df2a
```
CT
```bash
pct set 100 --net0 name=eth0,bridge=br-71bd14b8df2a
```
没有 DHCP虚拟机里面手动配置一下 IP、网关、掩码、DNS 即可
```text
IP: 172.18.0.123
Gateway: 172.18.0.1
Netmask: 255.255.255.0
DNS: 223.5.5.5
```
### 直通物理设备
支持 USB、PCI-E 硬件直通,需要改一下 GRUB 的启动参数,加上 IOMMU 支持,如 `intel_iommu=on iommu=pt`,具体参考 PVE 的相关教程
### ovs相关
若将宿主机的`/var/run/openvswitch`挂载入容器`/host/var/run/openvswitch`
且宿主机存在名称带`ovs`字样的网桥,可自动进行部分`ovs-bridge`配置
### 无vmbr联网性能差
如果您不方便给 Proxmox VE 的 Docker 容器使用 host 网络类型,您也可以使用 QEMU 的 User 模式进行上网。相当于 QEMU 自动完成了 NAT 操作,只要容器能上网虚拟机就能上网。由于不是专业的转发软件,性能比较一般
Proxmox VE不支持直接配置User模式上网我们需要删除掉 Proxmox VE 里面的网卡,然后手动添加 QEMU 的运行参数
```shell
qm set <VMID> -args '-netdev user,id=n0 -device virtio-net-pci,netdev=n0,mac=02:11:32:2a:76:f2'
```
使用此方式联网的虚拟机可以正常出站访问,入站访问需要更多额外配置
## 仓库地址
### github
<https://github.com/GreenDamTan/DockerFile/tree/dev/ProxmoxVE>
### docker hub
<https://hub.docker.com/r/makedie/proxmox_ve>

19
apps/proxmox-ve/data.yml Normal file
View File

@ -0,0 +1,19 @@
name: Proxmox VE
tags:
- 实用工具
title: 在 Docker 里头跑 Proxmox VE
description: 在 Docker 里头跑 Proxmox VE
additionalProperties:
key: proxmox-ve
name: Proxmox VE
tags:
- Tool
shortDescZh: 在 Docker 里头跑 Proxmox VE
shortDescEn: Run Proxmox VE in Docker
type: tool
crossVersionUpdate: true
limit: 0
recommend: 0
website: https://hub.docker.com/r/makedie/proxmox_ve
github: https://github.com/GreenDamTan/DockerFile/tree/dev/ProxmoxVE
document: https://github.com/GreenDamTan/DockerFile/blob/dev/ProxmoxVE/readme.md

BIN
apps/proxmox-ve/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB