ПредишенСледващото

управление на контейнер с LxD кратко въведение - фирма блог Selektel на

Ние продължаваме нашата поредица от статии за контейнеризация. Ако първите две статии (1 и 2) бяха посветени на теорията, днес говорим за доста специфичен инструмент и за функциите на практическото му използване. Темата на нашия преглед ще LXD (съкратено от Linux Контейнер Деймън), създаден от канадския Стефан Грабе на компанията Canonical.

В тази статия ние ще се ограничим с кратко въведение към LXD: да я сравни с Docker, даваме инструкции за инсталация и конфигурация, както и доказва основно контрол контейнер.

LXD и Docker

В тези области на приложение две напълно различни инструменти, ако Docker е предназначено да работи в контейнера за приложение, LXD - да тече пълни операционни системи.

В публикациите на Canonical казва, че LXD контейнери могат да бъдат до 10 пъти по-бързо от традиционните виртуални машини, базирани на KVM.

Опитът за LXD за решаване на различни проблеми, възникнали при работа с другите инструменти на контейнерите: обмислен механизъм за динамично управление на ресурсите, разширени възможности контейнери миграция (включително в реално време), бяха разгледани въпроси на сигурността. В сравнение с Docker LXD има много по-широки възможности за реконфигуриране на контейнери.

LXD е снабден с отворен API; Има клиенти за различни езици за програмиране. За да създадете плъгин за OpenStack. ви позволява да управлявате контейнера с помощта на клиента Nova.

Инсталация и настройка

Тук и по-долу ще опишем характеристиките на гр LXD на материала Ubuntu 16.04. В тази OS LXD включени в официалните хранилища и инсталира по стандартния начин:

Стефан Грабе в статията си препоръчва, тъй като контейнери за съхранение на задния използват ZFS файлова система. За да работите с ZFS, трябва да инсталирате необходимите пакети:

Създаване на контейнер

местно хранилище (местна) е добре за първи запознаване с LXD. Тичане в операционната система на контейнера Ubuntu 16.04:

Като резултат от тази команда LXD ще създаде изображение на базата на определен контейнер и да го стартира.

Започнете от командният ред, можете да използвате командите на контейнера:

Ако просто трябва да създадете контейнер, но не го изпълните, изпълнява команда:

За последващото пускане и спиране на контейнер използваните команди lxc започват и lxc стоп.

LXC осигурява добри възможности за управление на контейнери "в движение". Ето, например, може да бъде поставен върху първичната домакин създаден в досието за боклук:

Можете да направите обратен операцията - за изтегляне на файл от контейнер на главен хост

Възможно е и редактиране на файлове директно в контейнера:

Основни команди за създаване и стартиране на контейнери, които вече сме считани; които искат да знаят повече подробности, вижте статията на Стефан Грабе.

управление на ресурсите

Управление изолирана среда е немислимо без контрол на ресурсите: ние трябва да се даде на контейнера достатъчно ресурси, за да работят и в същото време да се уверите, че резервоарът не ще консумира допълнителни ресурси, като по този начин се измъкна от останалата част от работата на системата.

В LXD могат да отделят ресурси контейнери със специален набор от команди:

За повече подробности разгледайте управлението на ресурсите е възможно в тази статия.

Работа със снимки

В LXD има възможността да се създават снимки и да се възстанови снимки на контейнери. Нека да видим как работи на практика (пример от интерактивен урок LXD).

Vnesom някои промени в съществуващ контакт контейнер container1:

Ние правим моментна снимка на контейнера и го наричат, например, нов:

Опитайте нещо "почивка" в първата ни контейнер:

Pocle, които работят в нея има команден шел:

Изпълнение на изхода команда и да се върнете към главния хост. Възстановяване container1 контейнер работа на моментна снимка:

Започнете черупка в реставрирана контейнер:

Всичко работи както преди!

В примера по-горе, ние сме счита т.нар без гражданство-Снимки с LXD, има и друг вид моментна снимка - динамична защитна, което спестява на текущото състояние на всички процеси в контейнер. С Stateful-снимки, свързани с редица интересни и полезни функции.

За да създадете динамична защитна-снимки, ние трябва да се установи CRIU програма (КПП / Възстановяване на Ваше пространство). С нея ще можете да запишете актуалното състояние на всички процеси, и след това да ги възстановите дори и в течението, макар и на друга машина.
В Ubuntu 16.04 CRIU полезност е инсталиран със стандартно управление на пакетите:

След това можете да започнете да създавате снимки:

В някои ситуации, тези снимки могат да бъдат много полезни. Представете си, например, че трябва да рестартирате сървъра, на който са започнали един или повече контейнери. За да се рестартира след не тече всичко отначало и да се продължи с прекъснат място, просто изпълнете:

Въз основа на динамична защитна-снимки изпълнени механизъм на "на живо" миграция на контейнери, които до този момент е малко "мокри" състояние.

заключение

Разбира се, в една статия кажа всички функции LXD едва ли е възможно. За тези, които желаят да научат повече Ето някои полезни линкове:

Продължаваме поредицата от статии за механизмите на контейнерите. Последният път, когато говорихме за процеса на изолиране с помощта на "именни пространства" механизъм (от имена). Но сам контейнеризация изолация са недостатъчни ресурси. Ако стартирате приложението в изолирана среда, трябва да сме сигурни, че това приложение се разпределя достатъчно ресурси и че няма да консумират допълнителни ресурси, като по този начин се измъкна от останалата част от работата на системата. За да се реши този проблем в ядрото.

Подкрепете проекта - споделете линка, благодаря!