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 автоматично призначить контейнеру необхідну системну пам’ять, дисковий простір, ядра ЦП та інші ресурси. Але що, якщо ми хочемо бути більш конкретними? Це можливо.
Для цього є компроміси. Наприклад, якщо ви призначаєте системну пам’ять і контейнер не використовує всю її, ви зберегли її від іншого контейнера, якому вона може знадобитися. Може статися і зворотне. Якщо контейнер хоче використовувати більше пам’яті, ніж його частка, це може перешкодити іншим контейнерам отримати достатньо, тим самим знизивши їх продуктивність.
Просто пам’ятайте, що кожна ваша дія для налаштування контейнера може мати несприятливі наслідки в іншому місці.
Замість того, щоб переглядати всі параметри конфігурації, скористайтеся автозаповненням вкладки, щоб побачити доступні параметри:
incus config set ubuntu-test
i Tab.
Це покаже вам усі параметри для налаштування контейнера. Якщо у вас є запитання щодо того, що робить один із параметрів конфігурації, перейдіть до офіційної документації для Incus і виконайте пошук параметра конфігурації або введіть у Google увесь рядок, наприклад incus config set limits.memory
, і перегляньте результати пошуку.
Тут ми розглянемо кілька найбільш використовуваних параметрів конфігурації. Наприклад, якщо ви хочете встановити максимальний обсяг пам’яті, який може використовувати контейнер:
incus config set ubuntu-test limits.memory 2GB
Це означає, що якщо доступна пам'ять, наприклад, 2 ГБ, контейнер може використовувати більше 2 ГБ. Іншими словами, це м’яке обмеження.
incus config set ubuntu-test limits.memory.enforce 2GB
Це означає, що контейнер ніколи не може використовувати більше 2 ГБ пам’яті, незалежно від того, доступна вона зараз чи ні. У цьому випадку це жорстке обмеження.
incus config set ubuntu-test limits.cpu 2
Це говорить про обмеження кількості ядер ЦП, які може використовувати контейнер, до 2.
Примітка
Коли цей документ було переписано для Rocky Linux 9.0, репозиторій ZFS для 9 був недоступний. З цієї причини всі наші тестові контейнери були створені за допомогою «dir» під час початкового процесу ініціалізації. У наведеному нижче прикладі показано пул сховищ «dir» замість пулу сховищ «zfs».
Пам’ятаєте, коли ми налаштовували наш пул сховищ у розділі про ZFS? Ми назвали пул «сховище», але ми могли назвати його як завгодно. Якщо ми хочемо поглянути на це, ми можемо використати цю команду, яка однаково добре працює для будь-якого іншого типу пулу (як показано для 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 ви також можете встановити дискову квоту для контейнера. Ось як це виглядатиме встановлення дискової квоти розміром 2 Гб для контейнера ubuntu-test.
incus config device override ubuntu-test root size=2GB
Як я вже говорив раніше, ви можете економно використовувати параметри конфігурації, якщо у вас немає контейнера, який хоче використовувати більше ресурсів, ніж його частка. Incus, здебільшого, добре керуватиме навколишнім середовищем.
Є, звичайно, ще багато варіантів, які можуть зацікавити деяких людей. Проведення власного дослідження допоможе вам визначити, чи є щось із цього цінним у вашому оточенні.
Author: Steven Spencer
Contributors: Ezequiel Bruni, Ganna Zhyrnova