返回新闻概述

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 等常用工具的集成

image|690x489

这是 Incus 的一个重要里程碑,因为它标志着我们第一个提供扩展支持的版本,适合在每月功能发布不适合的生产环境中使用。

它加入了 LXC 6.0 LTSLXCFS 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:~$

带有附加磁盘的虚拟机的实时迁移(来自远程存储)

作为我们不断改进的虚拟机实时迁移支持的扩展,附加到来自“远程”存储池 (cephlvmcluster) 的附加磁盘的虚拟机现在可以与虚拟机一起进行实时迁移。

不需要用户执行任何操作,您只需注意到以前通过手动 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 Connect
  • Canonical RBAC 授权已被删除,取而代之的是 OpenFGA
  • Canonical MAAS 网络集成已删除(未使用的功能)
  • Ubuntu Fan 网络已删除,取而代之的是 OVN
  • core.trust_password 已删除,取而代之的是出于安全原因的信任令牌

功能添加

以下是自 LXD 5.0 LTS 发布以来的两年内引入的许多新功能中的几个亮点。

完整变更日志

以下是自 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,并在迁移之前自动检查潜在的冲突。

asciicast

更多详细信息可以在以下位置找到: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