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

В * Никс системи първоначалното въвеждане мултитаскинг и предлага инструменти, които да изолират и контрол на процесите. Технологии като Chroot (), която осигурява изолиране на ниво файлова система, FreeBSD затвор, ограничаване на достъпа до основни структури, LXC и OpenVZ, са добре известни и широко използвани. Но инерцията в развитието на технологията се превърна в Docker, позволи удобно разпространявате приложения. Сега обичам да достигне и до Windows.

Контейнери за Windows

Съвременните сървъри имат свободен капацитет, и приложения, понякога дори не използват части от тях. В резултат на това системата за известно време "празен ход", затопляне на въздуха. Изходна стана виртуализация ви позволява да стартирате няколко операционни системи на един сървър, гарантирано споделянето им с друг и разпределяне на точното количество на всеки ресурс. Напредъкът обаче не стои на едно място. Следващата стъпка - mikroservisy когато всяка част от приложението се разполага по отделно, самодостатъчна компонент, който е лесно да се мащабира за необходимото натоварване и актуализирана. Изолация предотвратява смущения mikroservisa работа от други приложения. С появата на проект Docker. опростен процес на доставка на опаковки и заявление, заедно с околната среда, архитектура mikroservisov получи допълнителен тласък за развитието.

Контейнери - различен тип на виртуализиране че осигурява изолирана среда за стартирани приложения, известни като OS виртуализация. Контейнери реализирани чрез използването на самостоятелен пространство от имена, включително всички необходими работни ресурси (виртуализирани имена), с които можете да си взаимодействат (файлове, мрежови портове, процеси и т.н.) и не могат да отидат отвъд това. Това означава, че операционната система показва само контейнер, който се разпределя. Заявление вътре в контейнера смята, че е единственото нещо, и се изпълняват в пълна операционна система без никакви ограничения. Ако искате да промените съществуващ файл или да създадете нов контейнер получава копие от главния хост операционната система, запазвайки само променените участъци. Ето защо, разполагането на множество контейнери в един-единствен хост е много ефективен.

За разлика от контейнери на виртуални машини е, че контейнерите не се зареждат собствените си копие на операционната система, библиотеки, системните файлове и други. Операционна система, както тя се разделя на контейнера. Единственото нещо, което изисква допълнително устройство - е на ресурсите, необходими за изпълнение на приложението в контейнер. В резултат на това контейнерът започва след няколко секунди и по-малко натоварване на системата, отколкото в случая на виртуални машини. Docker момента предлага 180000 приложения в хранилище и стандартизиран формат на отворен контейнер Инициатива (OCI). Но зависимостта от ядро ​​предполага, че други OS контейнери няма да работят. Linux Контейнери изискват Linux API, съответно Windows към Linux няма да работи.

Windows контейнери използват едно ядро ​​на операционната система, която динамично сподели помежду си. процес на разпределение (CPU, RAM, и на мрежата) е на операционната система. Ако е необходимо, можете да ограничите максимално наличните ресурси са разпределени на контейнера. Файловете на операционната система и текущи услуги се прожектират в пространството на всеки имена на контейнери. Контейнерите от този вид е ефективно използване на ресурсите, намаляване на режийните разходи и поради това дава възможност за по-плътно приемните приложения. Този режим е нещо подобно на FreeBSD затвора или Linux OpenVZ.

Hyper-V контейнери осигуряват допълнително ниво на изолация с помощта на Hyper-V. Всеки контейнер е разпределена същността си и паметта, изолацията не трябва ядро ​​на операционна система, както и Hyper-V хипервайзор. Резултатът е на същото ниво на изолация, както и в виртуални машини с по-малко в сравнение с над ВМ, но по-голям в сравнение с Windows контейнери. трябва да инсталирате множество роля Hyper-V за използването на този вид опаковки. Windows контейнери са по-подходящи за използване в доверен на околната среда, като например, когато сървърът да започне прилагането на една организация. Когато сървърът използва от много компании и необходимостта от осигуряване на по-високо ниво на изолация, контейнери Hyper-V, вероятно ще бъде по-рационално.

Като операционна система може да се използва в съда или Server Core Nano Server. Първо, като цяло, тя е не е новост, и осигурява високо ниво на съвместимост със съществуващите приложения. Вторият - още по-олекотена версия за работа без монитор, ви позволява да стартирате сървъра, в най-кратки конфигурация за използване с Hyper-V, файлов сървър (SOFS) и облачни услуги. Графичен потребителски интерфейс, разбира се, е не. Той съдържа само най-важните компоненти (.NET с CoreCLR, Hyper-V, Групиране, и т.н.). Но в крайна сметка това отнема 93% по-малко пространство, изисква по-малко критични поправки.

Друг интересен момент. За управление на контейнер, освен традиционната PowerShell, може да се използва Docker. И за да бъде в състояние да тече неместни инструменти на Win, MS подписа споразумение за партньорство за разширяване на API Docker и набор от инструменти. Всички събития са отворени и достъпни в официалния проект GitHub Docker. команди за контрол на докер се прилагат за всички контейнери, като Win и Linux. Въпреки че, разбира се, на контейнера е създаден на Linux, Windows не може да се управлява в (и обратно). В момента PowerShell Функция е ограничен и ви позволява да работите само с местната хранилището.

монтажни Контейнери

Pack кутии
Монтаж Контейнери компонент в Server Manager

В процеса създадена и мрежа контролер Virtual Switch, трябва да го конфигурирате веднага, в противен случай на следващите стъпки ще генерира грешка. Радвайки се на имената на мрежовите адаптери:

За работата ни трябва контролер от типа на Външно. В кратката команда New-VMSwitch много параметри, но например, да освободи минимална инсталация:

Pack кутии
Създаване Virtual Switch

Защитна стена на Windows ще блокира връзката към контейнера. Следователно, трябва да създадете правило позволява на най-малко, за да може да се свърже от разстояние с помощта на отдалечен достъп PowerShell, за това ще реши проблема с TCP / 80 и да се създаде правило NAT:

Има и друга версия на една проста внедряване. Разработчиците са подготвили скрипт, който ви позволява да инсталирате всички зависимости автоматично и конфигуриране на хост. Можете да ги използвате, ако желаете. Параметрите в рамките на програмата ще ви помогне да разберете всички механизми:

Има и друг вариант - да разгърне виртуални машини готови да подкрепят контейнера. За да направите това в един и същи ресурс има скрипт, автоматично генериране на всички необходими операции. За подробни инструкции за MSDN. Изтеглете и стартирайте скрипта:

Ние определяме персонализирано име и -WindowsImage каза за вида на информацията, събрана изображение. Опциите могат да бъдат NanoServer, ServerDatacenter. Веднага слагам и докер, нейното наличие или липса е отговорен за създаването и SkipDocker IncludeDocker. След като се започне започне изтеглянето и на процеса на конвертиране на изображения, ще трябва да въведете парола, за да влезете в VM. Самата ISO-файл е достатъчно голям, почти 5 GB. Ако връзката е бавна, можете да изтеглите файла на друг компютър, а след това преименуване WindowsServerTP4 и копирайте в C: \ Users \ Public \ Documents \ Hyper-V \ виртуални твърди дискове. Ние можем да влезете в инсталирана виртуална машина, като въведете паролата разположен в монтажа и работата.

Сега можете да отидете директно на използването на контейнери.

Използването на контейнери с PowerShell

Контейнери модул съдържа 32 PowerShell документация кратката команда за някои все още непълна, въпреки че, като цяло, да се направи всичко работи достатъчно. Показване на списъка просто:

Pack кутии
Списък кратката команда модулни контейнери

Вземи списък на наличните изображения, можете да използвате кратката команда Get-ContainerImage, контейнери - Get-контейнер. В случай на контейнер в статута на колоната ще покаже текущото му състояние: спряно или започнете. Но докато технологията е все още в процес на разработване, MS не е осигурил хранилище, и, както споменах преди PowerShell работи с местен хранилище, така че неговите експерименти трябва да създадете сами.

По този начин, на сървъра, с подкрепата имаме сега трябва сами контейнери. За да направите това, поставете ContainerProvider доставчик пакет.

Продължение статия е достъпен само за абонати

Вариант 2: Купете една статия

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