Setting-up-LXD-on-Ubuntu-16.04

Настройка LXD на Ubuntu 16.04

Новости

Setting-up-LXD-on-Ubuntu-16.04

1. Вступление

LXD — это гипервизор для запуска контейнеров Linux, имеет API-интерфейс ReST для управления этими контейнерами LXC (Linux Containers). И настройка LXD гораздо легче, чем кажется.

Он позволяет запускать контейнеры и управлять соответствующими ресурсами, такими как системой хранения данных и сетью.

В этом руководстве будет показано, как установить и настроить LXD на Ubuntu 16.04 (Xenial Xerus), а также как запустить установленный контейнер и получить к нему доступ.

Требования

Для настройка LXD нам потребуется установленный Ubuntu 16.04 с доступом в Интернет. Это может быть как физическая, так и виртуальная машина.

2. Установка LXD

Если вы используете сервер Ubuntu 16.04, то LXD уже предустановлен в вашей системе.

При установке Ubuntu 16.04 на Desktop, LXD необходимо установить вручную. Откройте терминал и запустите следующие команды:

sudo apt update

 

После этого напишите:

sudo apt install lxd
Добавляем пользователя в группу LXD

Чтобы пользователь получил локальный доступ к демону LXD, он должен быть частью группы LXD.

Для этого выполните команду:

sudo adduser <USER> lxd

 

Где <USER> — ваше имя пользователя.

Доступ нового пользователя к группе будет возможен только при следующем сеансе входа в систему. Чтобы доступ был открыт уже в текущем сеансе, запустите:

newgrp lxd

 

Установка инструментов ZFS

Теперь мы создадим LXD, используя бэкэнд системы хранения данных на ZFS.

Файловая система ZFS предоставляет функции копирования при записи записей (копирование на ходу) и позволяет использовать расширенные функции LXD, такие как: квоты для каждого контейнера, мгновенные снимки/восстановление, оптимизированную миграцию (отправку/получение) и создание моментального образа с контейнера.

Чтобы установить инструменты ZFS, просто выполните команду:

sudo apt install zfsutils-linux

 

3. Настройка LXD

Теперь мы можем приступить к настройке демона LXD.

Для этого запустите команду:

sudo lxd init

 

Вы увидите ряд вопросов о том, как настроить демон (для большинства из них можно будет спокойно нажать на клавишу Enter ). Также у вас будет возможность выбрать размер контейнера в пуле ZFS на основе объема доступного дискового пространства.

sudo-lxd-init

 

В рамках настройки LXD init можно также настроить сетевые соединения для доступа к контейнерам.

Итак, давайте выберем «Yes» как ответ на первый вопрос, чтобы создать сетевой мост:

configuring-lxd

 

Выберем имя по умолчанию для сетевого моста lxdbr0:

bridge-interface-name

 

Давайте настроим сеть IPv4 для моста, выбрав «Yes»:

setup-IPV4

 

Для настройки IPv4 вам надо будет ответить еще на несколько вопросов, в частности:

  • ip адрес;
  • маска подсети;
  • начальный/конечный адрес для DHCP сервера;
  • максимальное количество клиентов DHCP сервера;

Мы также можем ответить по умолчанию на эти вопросы.

 

Наконец, ответьте «Yes» на вопрос о NAT для сети:

add-NAT

 

Аналогичная конфигурация доступна для сетей IPv6, но мы её проигнорируем, так как нам не нужно IPv6.

Готово! LXD теперь настроен и готов к использованию.

4. Запустим контейнер

Пришло время начать использовать наш LXD.

Во-первых, давайте удостоверимся, что клиент может подключиться к демону, выполнив команду:

lxc list

 

Результат должен быть аналогичен:

Generating a client certificate. This may take a minute...
If this is your first time using LXD, you should also run: sudo lxd init
To start your first container, try: lxc launch ubuntu:16.04

+------+-------+------+------+------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+------+-------+------+------+------+-----------+

 

Давайте теперь запустим наш первый контейнер:

lxc launch ubuntu:16.04

 

Результат будет примерно таким:

Creating stirring-beagle
Starting stirring-beagle

 

Это загрузит официальный образ Ubuntu 16.04 LTS (Xenial Xerus) и запустит вместе с ним контейнер.

Если имя контейнера не указано, будет генерироваться случайный.

Давайте проверим, что наш контейнер действительно работает с LXC-списком:

+-----------------+---------+-----------------------+------+------------+-----------+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
+-----------------+---------+-----------------------+------+------------+-----------+
| stirring-beagle | RUNNING | 10.147.177.171 (eth0) | | PERSISTENT | 0 |
+-----------------+---------+-----------------------+------+------------+-----------+

 

Мы можем выполнять команды внутри контейнера с помощью lxc exec:

lxc exec stirring-beagle -- ls -la

 

Он выполнит команду от root в контейнере:

total 7
drwx------ 3 root root 5 Jun 29 11:29 .
drwxr-xr-x 22 root root 22 Jun 19 23:52 ..
-rw-r--r-- 1 root root 3106 Oct 22 2015 .bashrc
-rw-r--r-- 1 root root 148 Aug 17 2015 .profile
drwx------ 2 root root 3 Jun 29 11:29 .ssh

 

Доступ оболочки к контейнеру можно получить с помощью lxc exec mix-beagle /bin/bash

Обратите внимание, что поскольку мы также настраиваем сеть, контейнер имеет адрес IPv4 (как показано в списке lxc), а также может быть достигнут через ssh с хоста. Однако это требует предварительного импорта ключа ssh в контейнер.

Как только контейнер больше не нужен, его можно остановить:

lxc stop stirring-beagle

 

И теперь его можно удалить:

lxc delete stirring-beagle

 

5. Итоги

Теперь ваша машина настроена для запуска контейнеров LXD.

LXD предоставляет множество дополнительных функций и обеспечивает большую гибкость при настройке контейнеров, ограничении ресурсов контейнера и т.д.

Если вы хотите узнать больше о LXD и его расширенном использовании, ознакомьтесь со следующими ресурсами:

 

Вопросы по статье задавайте в комментариях ниже.

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Новости

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню