7 个容器配置选项
在本章中,您需要以非特权用户身份运行命令(如果您从本书开始就一直使用,则为“incusadmin”)。
在安装容器之后,有许多配置选项。但是,在查看这些选项之前,让我们先检查一下容器的 info
命令。在本例中,您将使用 ubuntu-test 容器
incus info ubuntu-test
这将显示以下内容
Name: ubuntu-test
Location: none
Remote: unix://
Architecture: x86_64
Created: 2021/04/26 15:14 UTC
Status: Running
Type: container
Profiles: default, macvlan
Pid: 584710
Ips:
eth0: inet 192.168.1.201 enp3s0
eth0: inet6 fe80::216:3eff:fe10:6d6d enp3s0
lo: inet 127.0.0.1
lo: inet6 ::1
Resources:
Processes: 13
Disk usage:
root: 85.30MB
CPU usage:
CPU usage (in seconds): 1
Memory usage:
Memory (current): 99.16MB
Memory (peak): 110.90MB
Network usage:
eth0:
Bytes received: 53.56kB
Bytes sent: 2.66kB
Packets received: 876
Packets sent: 36
lo:
Bytes received: 0B
Bytes sent: 0B
Packets received: 0
Packets sent: 0
从应用于内存、使用的磁盘空间等等的配置文件中可以获得很多信息。
关于配置和一些选项¶
默认情况下,Incus 会为容器分配所需的系统内存、磁盘空间、CPU 内核和其他资源。但是,如果您想更加具体呢?这是可以的。
这样做会有权衡取舍。例如,如果您分配系统内存,而容器没有使用所有内存,那么您就将其从可能需要它的其他容器中扣留了。反之亦然。如果一个容器想使用超过其内存份额的内存,它可能会阻止其他容器获得足够的内存,从而影响它们的性能。
请记住,您对容器进行的每个配置操作都可能会对其他地方产生不利影响。
与其浏览所有配置选项,不如使用选项卡自动完成来查看可用的选项
incus config set ubuntu-test
以及 Tab.
这将显示所有用于配置容器的选项。如果您对某个配置选项的功能有疑问,请前往 Incus 官方文档 并搜索该配置参数,或者在 Google 中搜索整个字符串,例如 incus config set limits.memory
,并检查搜索结果。
在这里,我们检查一些最常用的配置选项。例如,如果您想设置容器可以使用的最大内存量
incus config set ubuntu-test limits.memory 2GB
这意味着如果内存可用,例如 2GB,那么容器实际上可以使用超过 2GB 的内存。它是一个软限制,例如。
incus config set ubuntu-test limits.memory.enforce 2GB
这意味着容器永远不能使用超过 2GB 的内存,无论它当前是否可用。在这种情况下,它是一个硬限制。
incus config set ubuntu-test limits.cpu 2
这意味着限制容器可以使用的 CPU 内核数量为 2 个。
注意
当本文档为 Rocky Linux 9.0 重写时,9 的 ZFS 仓库不可用。因此,我们所有的测试容器都是使用 init 过程中的“dir”构建的。这就是为什么下面的示例显示了“dir”存储池而不是“zfs”存储池。
还记得您在 ZFS 章节中设置存储池时吗?您将池命名为“storage”,但您可以将其命名为任何名称。如果您想检查这一点,可以使用此命令,它对其他任何池类型(如“dir”所示)也同样有效
incus storage show storage
这将显示以下内容
config:
source: /var/snap/lxd/common/lxd/storage-pools/storage
description: ""
name: storage
driver: dir
used_by:
- /1.0/instances/rockylinux-test-8
- /1.0/instances/rockylinux-test-9
- /1.0/instances/ubuntu-test
- /1.0/profiles/default
status: Created
locations:
- none
这表明我们所有的容器都使用我们的 dir 存储池。使用 ZFS 时,您还可以为容器设置磁盘配额。以下是该命令的示例,为 ubuntu-test 容器设置 2GB 的磁盘配额
incus config device override ubuntu-test root size=2GB
正如我之前所说,除非您有一个容器想要使用超过其份额的资源,否则您可以谨慎地使用配置选项。在大多数情况下,Incus 会很好地管理环境。
还有许多其他选项可能对某些人来说很有用。进行您自己的研究将帮助您确定这些选项中的任何一个是否对您的环境有价值。
作者:史蒂文·斯宾塞
贡献者:埃塞奎尔·布鲁尼,甘娜·日尔诺娃