Incus 6.0 LTS 已发布¶
2024 年 4 月 4 日
简介¶
Incus 团队很自豪地宣布 Incus 6.0 LTS 发布!
Incus 是一款现代化的系统容器和虚拟机管理器,由创建 LXD 的团队开发和维护。它在 Apache 2.0 许可下发布,并作为 Linux Containers 组织的一部分,由社区领导的开源项目运行。
Incus 提供类似云的环境,从 预制镜像 创建实例,并提供多种功能,包括无缝地将多达 50 台服务器集群在一起的能力。
它支持多种不同的本地或远程存储选项,传统或完全分布式网络,并提供最常见的云功能,包括 完整的 REST API 和 与 Ansible、Terraform/OpenTofu 等常用工具的集成!
这是 Incus 的一个重要里程碑,因为它标志着我们第一个提供扩展支持的版本,适合在每月功能发布不适合的生产环境中使用。
它加入了 LXC 6.0 LTS 和 LXCFS 6.0 LTS,完成了本轮 LTS 版本发布。
与它的姐妹项目一样,Incus 6.0 LTS 将支持到 **2029 年 6 月**。
前两年将提供错误和安全修复,以及轻微的可用性改进,通过偶尔的点版本 (6.0.x) 发布。在这最初的两年之后,Incus 6.0 LTS 将进入仅安全维护阶段,持续其剩余的 5 年支持期。
像往常一样,您可以在线试用它:https://linuxcontainers.cn/incus/try-it/
享受!
附注:Incus 的实现得益于 70 多位个人贡献者的工作!
自 Incus 0.7 以来发生的变更¶
容器的交换限制¶
容器现有的 limits.memory.swap
配置键已扩展,现在也允许使用字节数量。
现在它的行为如下
limits.memory.swap=true
=> 容器内存可以被交换(默认)limits.memory.swap=false
=> 容器不应被交换(最小交换性)limits.memory.swap=256MiB
=> 容器可以使用最多 256MiB 的交换空间(除了通过limits.memory
设置的内存限制)
示例(cgroup2 系统)
stgraber@dakara:~$ incus launch images:debian/12 d12 -c limits.memory=1GiB Launching d12 stgraber@dakara:~$ incus exec d12 bash root@d12:~# free -m total used free shared buff/cache available Mem: 1024 21 983 0 19 1002 Swap: 0 0 0 root@d12:~# exit stgraber@dakara:~$ incus config set d12 limits.memory.swap=128MiB stgraber@dakara:~$ incus exec d12 bash root@d12:~# free -m total used free shared buff/cache available Mem: 1024 21 983 0 19 1002 Swap: 128 0 128 root@d12:~# exit
新的 shell 自动补全机制¶
在这个版本中,我们完成了从手动维护的 bash 自动补全脚本到直接在我们的命令行工具中生成自动补全脚本的迁移。
现在可以使用自动补全配置文件
- bash
- fish
- powershell
- zsh
可以通过调用 incus completion <shell>
获取配置文件(例如 incus completion bash
),但这通常会在 Incus 包构建过程中的打包程序中完成。
创建外部桥接接口¶
现在,外部接口的托管网络桥接配置语法 bridge.external_interfaces
已扩展,允许创建和附加 VLAN 接口。
stgraber@dakara:~$ incus network set incusbr0 bridge.external_interfaces=vlan60/enp35s0/60 stgraber@dakara:~$ ip link show dev vlan60 269: vlan60@enp35s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue master incusbr0 state LOWERLAYERDOWN mode DEFAULT group default qlen 1000 link/ether 00:23:a4:01:01:6f brd ff:ff:ff:ff:ff:ff stgraber@dakara:~$ incus network unset incusbr0 bridge.external_interfaces stgraber@dakara:~$ ip link show dev vlan60 Device "vlan60" does not exist. stgraber@dakara:~$
带有附加磁盘的虚拟机的实时迁移(来自远程存储)¶
作为我们不断改进的虚拟机实时迁移支持的扩展,附加到来自“远程”存储池 (ceph
或 lvmcluster
) 的附加磁盘的虚拟机现在可以与虚拟机一起进行实时迁移。
不需要用户执行任何操作,您只需注意到以前通过手动 incus move --target
或集群疏散而拒绝实时迁移的虚拟机现在可以愉快地实时迁移到另一台服务器。
incus info --resources
中的系统信息¶
incus info --resources
中现在可见一个新的 System
部分。
stgraber@dakara:~$ incus info --resources System: UUID: 88eecd60-34fc-9f97-48f5-fc34979f48f6 Vendor: ASUS Product: System Product Name Family: To be filled by O.E.M. Version: System Version SKU: SKU Serial: System Serial Number Type: physical Chassis: Vendor: Default string Type: Desktop Version: Default string Serial: Default string Motherboard: Vendor: ASUSTeK COMPUTER INC. Product: ProArt B550-CREATOR Serial: 210382121300122 Version: Rev X.0x Firmware: Vendor: American Megatrends Inc. Version: 2803 Date: 04/28/2022 [snip...]
在集群环境中访问此信息特别有用,在该环境中 incus info --resources
可以与 --target
参数一起使用,以查询特定服务器,检查所有固件是否已更新,以及检查正在使用的机器。
此功能由 德克萨斯大学奥斯汀分校 的学生贡献。
incus info --resources
中的 USB 设备¶
incus info --resources
中现在可见一个新的 USB devices
部分。
stgraber@dakara:~$ incus info --resources [snip...] USB devices: Device 0: Vendor: Intel Corp. Vendor ID: 8087 Product: AX200 Bluetooth Product ID: 0029 Bus Address: 1 Device Address: 6 Device 1: Vendor: Corsair Vendor ID: 1b1c Product: H150iRGBPROXT Product ID: 0c22 Bus Address: 1 Device Address: 5 Device 2: Vendor: ASUSTek Computer, Inc. Vendor ID: 0b05 Product: AURA LED Controller Product ID: 19af Bus Address: 1 Device Address: 2 Device 3: Vendor: Realtek Semiconductor Corp. Vendor ID: 0bda Product: TX42C500 Product ID: 4933 Bus Address: 5 Device Address: 2 Device 4: Vendor: Blue Microphones Vendor ID: b58e Product: Yeti Stereo Microphone Product ID: 9e84 Bus Address: 5 Device Address: 15 Device 5: Vendor: Yubico.com Vendor ID: 1050 Product: YubiKey FIDO+CCID Product ID: 0406 Bus Address: 5 Device Address: 29 Device 6: Vendor: Logitech, Inc. Vendor ID: 046d Product: HD Pro Webcam C920 Product ID: 082d Bus Address: 5 Device Address: 17 Device 7: Vendor: Powerware Corp. Vendor ID: 0592 Product: Powerware UPS Product ID: 0002 Bus Address: 7 Device Address: 2
当将 USB 设备 添加到容器或虚拟机时,此信息非常有用。
此功能由 德克萨斯大学奥斯汀分校 的学生贡献。
自 LXD 5.0 LTS 以来发生的变更¶
对于来自 LXD 5.0 LTS 版本的用户,以下简要列出了在后续的 LXD 功能版本以及 Incus 中删除的功能以及添加的功能。
功能移除¶
在创建 Incus 项目的过程中,删除了一些特定于 Ubuntu 或 Canonical 的功能。同时还删除了一些遗留 API。
您可以在 Incus 0.1 发布公告 中找到完整列表。
亮点
shiftfs
已被删除,取而代之的是 VFS idmap 偏移Canonical Candid
身份验证已被删除,取而代之的是 OpenID ConnectCanonical RBAC
授权已被删除,取而代之的是 OpenFGACanonical MAAS
网络集成已删除(未使用的功能)Ubuntu Fan
网络已删除,取而代之的是 OVNcore.trust_password
已删除,取而代之的是出于安全原因的信任令牌
功能添加¶
以下是自 LXD 5.0 LTS 发布以来的两年内引入的许多新功能中的几个亮点。
- API
- 能够跨项目列出对象 (
?all-projects=true
或 CLI 中的--all-projects
) - JWT 身份验证(来自 TLS 证书)
- 实例
- 放置脚本
- 实例重建
READY
实例状态- NUMA 感知实例放置 (
limits.cpu.nodes
) - (CONTAINER)
sysinfo
系统调用拦截 (security.syscalls.intercept.sysinfo
) - (VM) CPU 热插拔支持 (
limits.cpu
) - (VM) “在线”实时迁移支持
- (VM) AMD SEV 支持 (
security.sev
) - (VM) 遗留 (BIOS) 支持 (
security.csm
) - (VM) 能够热插拔支持目录的磁盘
- (VM) NVME 和 VirtIO 块 I/O 总线选项
- 集成
- Grafana Loki 日志和事件流
- ACME / Let's Encrypt 证书生成/签名
- OpenID Connect 身份验证支持
- OpenFGA 授权支持
- 镜像服务器管理工具
- 网络
- 网络集成(OVN 互连支持)
- 负载均衡器(OVN)
- IPAM 数据导出 API
- 用于卸载 OVN 网络的 VDPA
- 存储
- 集群 LVM 存储驱动程序
- 存储桶(S3 API)
- ISO 镜像自定义卷
- ZFS 委托
- ZFS 块模式
完整变更日志¶
以下是自 Incus 0.7 以来所有变更的完整列表。
完整提交列表
- 使用 Weblate(日语)翻译
- 使用 Weblate(日语)翻译
- incus/image: 使用 --all-projects 修复列处理
- 将 util.ValueInSlice 替换为 slices.Contains
- shared/util: 删除 ValueInSlice 函数
- incus/image: 使用 --all-projects 修复列处理
- incusd/instance/qemu: 将镜像需求检查重新定位
- doc/images: 添加 requirements.cdrom_agent
- incusd/instance/qemu: 添加对 requirements.cdrom_agent 的支持
- incusd/device/disk: 修复块卷使用不正确的问题
- 使用 Weblate(日语)翻译
- incusd/network/ovn: 使用 ParseIPToNet 而不是手动 IPToNet 和 net.ParseIP
- incusd/network/ovn: 在族检查中使用 listenAddressNet
- incusd/instance/drivers: 禁用使用快照的 incus cp 上的架构检查
- 使用 Weblate(法语)翻译
- incusd/network/bridge: 在所有 VXLAN 隧道上设置本地地址
- incus/instance/qemu: 修复 RecordOutput
- incus: 为实例操作和快照添加自动补全
- incus: 为配置文件添加自动补全
- incusd/network/ovn: 引入 get 帮助程序
- incusd/network/ovn: 添加一些缺少的索引
- incusd/network/ovn: 使用 get 帮助程序
- incusd/network/ovn: 修复 LogicalSwitchPortIPs 逻辑
- incusd/network/bridge: 修复 gofmt
- incusd/network/ovn: 修复 gofmt
- cmd/incus: 使用正确的 timestamps 检查
- cmd/incus: 使用一致的日期格式和时区
- client: 为保持一致性而将 network_peer 重命名
- cmd/incusd: 将 network_peer 重命名为 network_peers
- shared/api: 为保持一致性而将 network_allocation 重命名
- incusd/db: 修复注释中的拼写错误
- incusd/db/generate: 修复错误的驼峰式命名处理
- incusd/db/network_peers: 修复重复的类型定义
- incusd/auth: 删除 Permission 类型
- incusd/auth: 添加样板文档字符串
- incusd/images: 正确处理空创建日期和过期日期
- incus: 为远程端添加自动补全
- incus: 为项目添加自动补全
- incusd/images: 修复多个项目中镜像报告的问题
- github: 添加 lxd-to-incus 的静态构建
- lxd-to-incus: 添加对 Alpine 服务名称的支持
- lxd-to-incus: 重新组织目标列表
- lxd-to-incus: 添加对 APK 的支持
- Makefile: 添加 OVN IC 到 update-ovsdb
- incusd/network: 更新 OVS/OVN 架构
- incusd/network/ovn: 添加 IC 客户端
- incusd/network/ovn: 添加 GetName 到 NB 客户端
- incusd/network/ovn: 添加 GetGateways 到 ICSB
- incusd/network/ovn: 引入新的错误
- incusd/network/ovn: 添加 CreateTransitSwitch 和 DeleteTransitSwitch 到 ICNB
- incusd/device/gpu_sriov: 添加锁定
- incusd/device/gpu_sriov: 将 vfio-pci 加载重新定位
- incusd/device/gpu_sriov: 重构 VF 分配逻辑
- incus/remote: 添加一个生成证书的子命令
- i18n: 更新翻译模板
- incusd/drivers/qmp: 添加 SetBlockThrottle
- incusd/device/disk/config: 添加 DiskLimits
- incusd/device/disk: 重新整理限制解析
- incusd/device/disk: 在 VM 上添加磁盘限制
- incusd/device/disk: 支持对 VM 进行实时限制更新
- incusd/instance/qemu: 支持磁盘 I/O 限制
- incus/remote: 添加缺少的文档字符串
- incusd/certificates: 改善集群时的令牌处理
- cmd/incusd/api_1.0: 更新上下文
- cmd/incusd/api_cluster: 更新上下文
- cmd/incusd/api_internal: 更新上下文
- cmd/incusd/daemon: 更新上下文
- cmd/incusd/api_project: 更新上下文
- cmd/incusd/certificates: 更新上下文
- cmd/incusd/images: 更新上下文
- cmd/incusd/instance: 更新上下文
- cmd/incusd/network: 更新上下文
- cmd/incusd/operations: 更新上下文
- cmd/incusd/profiles: 更新上下文
- cmd/incusd/storage: 更新上下文
- cmd/incusd/warnings: 更新上下文
- incusd/devices: 从 NUMA CPU 跳过隔离线程
- incusd/devices: 通过 NUMA 节点限制 CPU 线程
- incusd/instance/qemu: 添加对 limits.cpu.nodes 的支持
- incusd/device/gpu: 添加对 limits.cpu.nodes 的支持用于 VF 选择
- incusd: 修复导入覆盖
- incusd/images: 修复潜在的竞态条件
- incusd/instance/qemu: 添加对内存的 NUMA 节点限制的支持
- incusd/apparmor/qemu: 使 apparmor 失败静默
- incusd/network/ovs: 引入新的错误
- incusd/network/ovn/nb: 将 SetChassisGroupPriority 移动到新的函数签名
- incusd/network/ovn/sb: 将 GetLogicalRouterPortActiveChassisHostname 移动到新的函数签名
- incusd/network/ovs: 将 GetBridge 移动到新的函数签名
- incusd/network/ovs: 将 CreateBridge 移动到新的函数签名
- incusd/network/ovs: 将 DeleteBridge 移动到新的函数签名
- incusd/network/ovs: 将 CreateBridgePort 移动到新的函数签名
- incusd/network/ovs: 将 GetChassisID 移动到新的函数签名
- incusd/network/ovs: 将 GetOVNBridgeMappings 移动到新的函数签名
- incusd/network: 更新以适应函数更改
- incusd/device/nic: 更新以适应函数更改
- incusd: 更新以适应函数更改
- doc: 修复错误的快照语法
- 使用 Weblate(法语)翻译
- doc: 修复令牌创建过程
- incusd/network/ovn/nb: 添加 GetLogicalSwitch
- incusd/network/ovn/nb: 用 SetChassisGroupPriority 替换 ChassisGroupChassisDelete
- incusd/network/ovn/nb: 将 CreateLogicalRouterPort 移植到 OVSDB
- incusd/network/ovn/nb: 用 CreateLogicalRouterPort 替换 LogicalRouterPortLinkChassisGroup
- incusd/network/ovn/nb: 将 CreateChassisGroup 移植到 OVSDB
- incusd/network/ovn/nb: 将 CreateLogicalSwitch 移植到 OVSDB
- incusd/network/ovn: 更新以适应函数更改
- incusd/network/ovn: 删除状态引用
- incusd/state: 添加 OVNNB 和 OVNSB 处理程序
- incusd: 更新以使用状态用于 OVN
- incusd/device: 使 init 函数返回错误
- incusd/device: 在 nicOVN 上添加 OVN 检查
- client: 在 RawQuery 错误时仍然返回响应
- incus/query: 尊重 --raw 用于错误
- incusd/network/acl: 添加 OVN 检查
- incusd/network: 使 init 函数返回错误
- incusd/network: 在 ovn 驱动程序上添加 OVN 检查
- incusd/api: 重新排序配置检查
- incusd: 添加 OVN 加载器
- 使用 Weblate(法语)翻译
- incusd/network/ovn/nb: 将 CreateLogicalSwitchPort 移植到 OVSDB
- incusd/network/ovn/nb: 将 DeleteLogicalSwitchPort 移植到 OVSDB
- incusd/network/ovn/nb: 将 DeleteLogicalRouterPort 移植到 OVSDB
- incusd/network/ovn: 更新以适应函数更改
- incusd/network/ovs: 将 GetOVNSouthboundDBRemoteAddress 移植到 OVSDB
- incusd/network/ovs: 将 DeleteBridgePort 移植到 OVSDB
- incusd/network/ovs: 将 GetInterfaceAssociatedOVNSwitchPort 移植到 OVSDB
- incusd/network/ovs: 使 GetChassisID 与其他函数对齐
- incusd: 更新以适应 OVS 函数更改
- incusd/network/ovn/icsb: 修复错误的 DB 模式
- incusd/network/ovn/nb: 引入 GetLogicalRouterPort
- incusd/network/ovn/nb: 扩展 OVNSwitchPortOpts 以处理路由器端口
- incusd/network/ovn/nb: 将 RouterPort 字段类型更改为 OVNRouterPort
- incusd/network/ovn/nb: 将 DeleteChassisGroup 移植到 OVSDB
- incusd/network/ovn/icnb: 更新 DeleteTransitSwitch 以处理丢失的交换机
- incusd/network/ovn: 更新以适应函数更改
- 使用 Weblate(法语)翻译
- incus/completion: 不要在远程名称补全后添加空格
- incusd/device/disk: 禁用 virtiofsd 缓存
- incus-agent: 清理挂载逻辑
- 使用 Weblate(法语)翻译
- incus: 将 parseVolume 公开到整个包
- incus: 为存储池和卷添加补全
- incusd/device/gpu_sriov: 修复默认处理
- doc/packaging: 添加对文档的提及
- incusd/auth: 针对受限用户修复 --all-projects
- doc: 添加第三方工具页面
- gomod: 更新依赖项
- incusd/auth/tls: 防止项目修改
- doc: 更新词典
- internal/usbid: 允许 usb.ids 路径的路径覆盖
- incus/completion: 修复镜像名称补全
- doc/environment: 文档化 INCUS_USBIDS_PATH
- incusd/instance/qemu/agent: 检查 semanage
- incusd/project: 修复 ImageProjectFromRecord 中的配置名称
- incus/restart: 修复长描述
- i18n: 更新翻译
- lxd-to-incus: 处理常见的现有桥接
- shared/simplestreams: 删除 defaultOS
- shared/simplestreams: 添加 NewLocalClient
- incus-simplestreams: 引入新的命令
- incus-simplestreams: 简化删除逻辑
- doc: 重新组织镜像服务器文档
- doc: 添加 incus-simplestreams 的部分
- incusd/seccomp: 添加对 pidfd 线程的支持
- incus: 为集群添加补全
- incus: 为集群组添加补全
- incus: 为集群角色添加补全
- incus: 为配置设备添加补全
- incus: 为配置模板添加补全
- 更新翻译
- doc: 更新对 mage 文档的引用
- doc/backup: 删除错误的引用
- incus: 为网络 ACL 添加补全
- shared/api: 添加新的结构以支持配置元数据
- client: 添加 GetMetadataConfiguration
- incusd: 重命名 documentation.go -> metadata.go
- doc/rest-api: 刷新 swagger YAML
- shared/api/metadata: 添加 GetKeys 以简化使用
- incusd: 添加对 JWT 身份验证的支持
- gomod: 更新依赖项
- tests: 添加 tls2jwt 工具
- tests: 添加 JWT 身份验证测试
- api: auth_tls_jwt
- doc/authentication: 添加有关 JWT 的部分
- doc/instances: 删除实时迁移的 size.state 要求
- incusd/instance/qemu: 允许在没有 size.state 的情况下进行实时迁移
- shared/idmap: 在 subuid/subgid 中支持 uid/gid
- shared/cliconfig: 在远程复制时复制 clientcerts
- shared/cliconfig: 添加 HasRemoteClientCertificate
- shared/cliconfig: 支持每个远程的客户端证书
- doc: 添加 clientcerts
- incusd/cluster/config: 添加 oidc.claim
- incusd/auth/oidc: 添加对使用特定声明作为用户名
- incusd: 将 OIDC 声明传递给验证器
- api: oidc_claim
- doc: 更新配置
- doc/howto/instances: 在 ISO 指南中提及额外的资源
- doc/installing: 添加 Debian 回溯
- doc: 将回溯添加到词典
- lxd-to-incus: 添加对 LXD 5.21 的支持
- shared/cliconfig: 确保客户端证书密钥为 0600
- api: device_usb_serial
- doc: 将 busnum、devnum 和 serial 添加到 USB 设备
- shared/api: 将 Serial 添加到 ResourcesUSBDevice
- incusd/resources: 添加 USB Serial
- incusd/devices/usb: 添加 serial、busnum 和 devnum 选项
- doc/rest-api: 刷新 swagger YAML
- incusd/instance/qemu: 修复对 > 64 limits.cpu 的处理
- incusd/device/gpu_sriov: 实现 NUMA 回退
- incus: 为网络转发添加补全
- incus: 为网络负载均衡器添加补全
- shared/validate: 删除 stringInSlice
- shared/validate: 添加 And 和 Or 函数
- shared/util: 移动 ParseUint32Range
- incusd/project: 更新以适应 ParseUint32Range
- doc/instance_options: 从仅容器部分中删除对 limits.cpu.nodes 的提及
- incusd/devices: 更好地处理错误配置
- api: numa_cpu_balanced
- internal/instance: 添加对平衡 NUMA 节点的支持
- doc: 更新配置
- incusd/instance/common: 添加 NUMA 平衡
- incusd/instance/lxc: 添加对平衡 NUMA 分配的支持
- incusd/instance/qemu: 添加对平衡 NUMA 分配的支持
- incusd/devices: 添加对平衡 NUMA 分配的支持
- incusd/device/gpu_sriov: 简化 NUMA 逻辑
- doc/cloud-init: 不要提及不存在的远程
- doc/howto/images_remote: 修复有关镜像服务器的措辞
- doc/benchmark: 修复安装命令
- incusd/instance/common: 修复 CanMigrate 更改设备
- incusd/instance/qemu: 减少代理查询
- incusd/metrics: 不要过滤掉所有服务器指标
- incusd/auth/tls: 为指标证书包含项目限制
- incusd/auth/tls: 返回用于指标的项目感知检查器
- incusd/metrics: 如果没有全局访问,使用项目特定的检查器
- internal/server/instance/lxd: 添加对 image.requirments.nesting 的支持
- api: 添加 image_restriction_nesting
- doc/images: 介绍 requirements.nesting
- 显示快照计数不匹配错误中的计数值
- incus/admin/init: 在 --auto 中使用 btrfs 子卷
- incus-migrate: 说明磁盘镜像文件必须为原始文件
- incusd/network/ovn/icnb: 修复注释
- incusd/project: 重新格式化注释
- incusd/project: 修复错误的默认值
- doc: 更新配置
- incus/migrate: 添加 CSM 支持
- incusd/storage/backend: 更好地处理名称冲突
- incus-migrate: 支持使用本地服务器
- api: network_integrations
- shared/api: 添加类型和 target_integration 字段到 NetworkPeersPost
- incusd/db/cluster: 添加 networks_integrations
- incusd/db/cluster: 重新生成模式
- incusd/db/cluster: 添加为网络集成生成的 DB 代码
- incusd/db: 更新网络对等体 DB 查询函数
- client: 在 CreateNetworkPeer 中添加对 network_integrations 的检查
- incus/network/peer: 添加对网络对等体类型的支持
- shared/api: 添加网络集成
- client: 添加网络集成函数
- incus/network: 引入对集成的支持
- incusd/auth: 添加网络集成函数
- shared/api: 为网络集成添加生命周期事件
- incusd/lifecycle: 添加网络集成事件
- incusd: 添加网络集成 API
- incusd/db: 添加 GetNetworkPeersURLByIntegration
- incusd/network_integration: 添加 UsedBy 字段
- incusd/network_integrations: 添加验证器
- incusd/network/ovn: 添加对与 OVN IC 对等的支持
- incusd/project: 添加 restricted.networks.integrations
- incusd/project: 添加 NetworkIntegrationAllowed
- incusd/network/integrations: 尊重项目限制
- incusd/network/ovn: 添加对集成限制的支持
- incusd/auth/openfga: 更新模型
- incusd/auth/openfga: 更新生成的模型
- incusd/auth/openfga: 处理模型更新
- incusd: 删除 openfga.store.model_id
- incusd/db/cluster: 删除 openfga.store.model_id
- doc/ovn_peers: 添加远程对等
- doc: 添加网络集成的文档
- doc/rest-api: 刷新 swagger YAML
- i18n: 更新翻译模板
- doc: 更新配置
- gomod: 更新依赖项
文档¶
Incus 文档可以在以下位置找到
https://linuxcontainers.cn/incus/docs/main/
安装¶
由于 Incus 上游只发布常规的发布压缩包,因此没有官方的 Incus 包。以下是启动和运行 Incus 的一些可用选项。
Linux 包¶
Incus 可用于大多数常见的 Linux 发行版。您将在我们的文档中找到详细的安装说明。
https://linuxcontainers.cn/incus/docs/main/installing/
Incus 客户端的 Homebrew 包¶
客户端工具可通过 HomeBrew 在 Linux 和 MacOS 上使用。
https://formulae.brew.sh.cn/formula/incus
Incus 客户端的 Chocolatey 包¶
客户端工具可通过 Chocolatey 在 Windows 用户使用。
https://community.chocolatey.org/packages/incus/6.0.0
Incus 客户端的 Winget 包¶
客户端工具也可通过 Winget 在 Windows 用户使用。
https://winstall.app/apps/LinuxContainers.Incus
从 LXD 迁移¶
一个 lxd-to-incus
迁移工具允许从 LXD 到 Incus 的就地迁移。
它已在 LXD 4.0 LTS 以及最新的 LXD 5.21 错误修复版本上进行了测试。
它允许从 LXD 快速迁移到 Incus,并在迁移之前自动检查潜在的冲突。
更多详细信息可以在以下位置找到:https://linuxcontainers.cn/incus/docs/main/howto/server_migrate_lxd/
支持¶
Incus 6.0 LTS 将支持总共 5 年(直到 2029 年 6 月)。
在前 2 年,将发布新的版本,包括错误和安全修复以及一些小的可用性改进。在最初的 2 年之后(Incus 7.0 LTS 发布后),Incus 6.0 LTS 将过渡到仅安全修复,以确保在剩余的 3 年中保持安全性和稳定性。
这与我们在过去 10 年中对其他项目(LXC 和 LXCFS)所做的事情相匹配。
社区支持在以下位置提供:https://discuss.linuxcontainers.org
商业支持可通过以下方式获得:https://zabbly.com/incus
错误可以在以下位置报告:https://github.com/lxc/incus/issues