У цій главі вам потрібно буде виконувати команди як непривілейований користувач ("lxdadmin", якщо ви слідкували за цим із самого початку цієї книги).
Існує велика кількість варіантів налаштування контейнера після його встановлення. Перш ніж їх побачити, давайте розглянемо команду info для контейнера. У цьому прикладі ви будете використовувати контейнер ubuntu-test:
За замовчуванням LXD виділить для контейнера необхідну системну пам’ять, дисковий простір, ядра ЦП тощо. Але що, якщо ми хочемо бути більш конкретними? Це цілком можливо.
Однак для цього є компроміси. Наприклад, якщо ви призначаєте системну пам’ять, а контейнер не використовує її всю, ви зберегли її від іншого контейнера, якому вона насправді може знадобитися. Однак може статися й зворотне. Якщо контейнер займає багато пам’яті, він може перешкоджати іншим контейнерам отримати достатньо, тим самим знижуючи їх продуктивність.
Просто майте на увазі, що кожна ваша дія для налаштування контейнера може мати негативні наслідки в іншому місці.
Замість того, щоб переглядати всі параметри конфігурації, скористайтеся автозаповненням вкладки, щоб побачити доступні параметри:
lxc config set ubuntu-test
і TAB.
Це покаже вам усі параметри для налаштування контейнера. Якщо у вас виникли запитання щодо роботи одного з параметрів конфігурації, перейдіть до офіційної документації для LXD і виконайте пошук за параметром конфігурації або весь рядок у Google, наприклад lxc config set limits.memory, і подивіться на результати пошуку.
Ми розглянемо кілька найбільш використовуваних параметрів конфігурації. Наприклад, якщо ви хочете встановити максимальний обсяг пам’яті, який може використовувати контейнер:
lxc config set ubuntu-test limits.memory 2GB
Це говорить про те, що поки пам’ять доступна для використання, іншими словами, є 2 Гб вільної пам’яті, тоді контейнер фактично може використовувати більше 2 Гб якщо вона доступна. Іншими словами, це м’яке обмеження.
lxc config set ubuntu-test limits.memory.enforce 2GB
Це говорить про те, що контейнер ніколи не може використовувати більше 2 Гб пам’яті, незалежно від того, доступна вона зараз чи ні. У цьому випадку це жорстке обмеження.
lxc config set ubuntu-test limits.cpu 2
Це говорить про обмеження кількості ядер cpu, які може використовувати контейнер, до 2.
Примітка
Коли цей документ було переписано для Rocky Linux 9.0, репозиторій ZFS для 9 був недоступний. З цієї причини всі наші тестові контейнери були створені з використанням «dir» у процесі ініціалізації. Ось чому в наведеному нижче прикладі показано пул зберігання «dir» замість «zfs».
Пам’ятаєте, коли ми налаштовували наш пул сховищ у розділі про ZFS? Ми назвали пул «сховище», але ми могли назвати його як завгодно. Якщо ми хочемо поглянути на це, ми можемо використати цю команду, яка однаково добре працює для будь-якого іншого типу пулу (як показано для dir):
Це показує, що всі наші контейнери використовують наш пул сховищ dir. Під час використання ZFS ви також можете встановити дискову квоту для контейнера. Ось як це виглядатиме встановлення дискової квоти розміром 2 Гб для контейнера ubuntu-test.
Як було сказано раніше, ви повинні економно використовувати параметри конфігурації, якщо у вас немає контейнера, який хоче використовувати значно більше, ніж його частка ресурсів. LXD, здебільшого, добре керуватиме середовищем самостійно.
Є, звичайно, ще багато варіантів, які можуть зацікавити деяких людей. Ви повинні провести власне дослідження, щоб з’ясувати, чи є щось із цього цінним у вашому середовищі.