Pack doboz „konténerek technika tanulmányozása a Microsoft
A * nix rendszerek végrehajtották multitasking és olyan eszközöket kínál elkülöníteni és a folyamatok ellenőrzésére. Olyan technológiák, mint chroot (), amely elkülönítésben a fájlrendszer szinten, FreeBSD Jail, korlátozza a hozzáférést az alapvető struktúrák, LXC és OpenVZ, jól ismertek, és széles körben használják. De a lendület a technológiai fejlődés vált Docker, hagyjuk kényelmesen terjeszteni alkalmazásokat. Most szeretnék elérni, és a Windows.
Konténerek for Windows
Modern szerverek fölös kapacitás, és az alkalmazások néha nem is használja egy részüket. Ennek eredményeként, a rendszer egy ideig „idle”, ami melegíti a levegőt. Nyomtató lett virtualizáció lehetővé teszi, hogy több operációs rendszer egy szerveren, garantált megosztva egymással és elosztása a megfelelő mennyiségű minden erőforrás. De a fejlődés nem áll meg. A következő lépés - mikroservisy, ha minden egyes része az alkalmazás telepítve van elkülönítve, egy önellátó összetevő, amely könnyen méretezhető a szükséges terhelést és frissítik. Szigetelés megakadályozza, mikroservisa munka más alkalmazásokat. Az Advent a Docker projekt. egyszerűsítette a csomagolás és alkalmazás-szállítási folyamat, valamint a környezet, az építészet mikroservisov számára további lendületet a fejlődés.
Konténerek - egy más típusú virtualizációs, amely egy elszigetelt környezetben futó alkalmazások, az úgynevezett OS virtualizáció. Konténerek alkalmazásával valósítják meg a stand-alone névtér, beleértve az összes szükséges munka erőforrások (virtualizált nevek), amellyel kölcsönhatásba léphet (fájlok, hálózati port, folyamatok, stb), és nem megy túl. Azaz, az operációs rendszer azt mutatja, csak a tároló számára lefoglalt. Alkalmazás a tartály belsejében úgy véli, ez az egyetlen dolog, és fut egy teljes operációs rendszer minden korlátozás nélkül. Ha meg akarja változtatni egy meglévő fájlt, vagy hozzon létre egy új tartály másolatot kap a fő operációs rendszer, miközben csak a megváltozott részeket. Ezért a telepítési és több tároló egyetlen gazda nagyon hatékony.
Ellentétben konténerek virtuális gépek, hogy a tartályok nem töltődnek be a saját példányát az operációs rendszer, a könyvtárak, a rendszerfájlok, és így tovább. Operációs rendszer megosztja a tartályba. Az egyetlen dolog, ami ezen felül szükség van - a szükséges forrásokat az alkalmazás futtatásához egy tartályban. Ennek eredményeként a tartály indul néhány másodperc vagy kevesebb terhelést a rendszer, mint a virtuális gépek esetén. Docker jelenleg kínál 180.000 alkalmazások a tároló és szabványosított formátumban nyílt konténer Initiative (OCI). De a függőség lényege arra utal, hogy más OS konténerek nem fog működni. Linux konténerek igényel Linux API, illetve a Windows Linux nem fog működni.
A Windows konténerek használja mag az operációs rendszer, amely dinamikusan megosztott egymás között. allokációs folyamat (CPU, RAM, és a hálózat) veszi az operációs rendszer. Ha szükséges, akkor korlátozhatja a maximálisan rendelkezésre álló forrásokat fordítanak a tartályba. OS fájlok és futó szolgáltatások, amelyek belenyúlnak a tér minden tartály nevek. Az ilyen típusú tartály hatékonyan források felhasználásával, a működési költségek, és ezért lehetővé teszi szigorúbban hosztalkalmazások. Ez az üzemmód némileg hasonlít FreeBSD Jail vagy Linux OpenVZ.
Hyper-V tartályokat egy további szintet alkalmazásával történő izolálás Hyper-V. Mindegyik tartály elkülönített annak mag és a memória, a szigetelés során nem OS kernel, és a Hyper-V hypervisor. Az eredmény azonos szintű szigetelést, valamint a virtuális gépek kisebb overhead képest VM, de nagyobb, mint a Windows, amikor konténerek. telepíteni kell a Hyper-V host szerepét az e típusú konténerek. A Windows konténerek inkább alkalmas egy megbízható környezetben, mint például amikor a szerver elindul alkalmazása egy szervezet. Ha a szerver által használt számos vállalat és annak szükségességét, hogy a nagyobb mértékű szigetelés, tartályok Hyper-V, valószínűleg sokkal ésszerűbb.
Mivel az operációs rendszer használható a tartályban vagy a Server Core Nano Server. Először is, általánosságban elmondható, hogy nem egy újdonság, és biztosítja a magas szintű kompatibilitás a meglévő alkalmazásokat. A második - még lecsupaszított változata működésre monitor nélkül, lehetővé teszi, hogy fut a szerver, a lehető legrövidebb konfiguráció használható Hyper-V, a fájlszerver (SOFS) és felhő szolgáltatások. Grafikus felhasználói felület, persze, hogy nem. Ez tartalmazza csak a legszükségesebb alkatrészek (.NET és CoreCLR, Hyper-V, Klaszterek és így tovább). De a végén tart 93% -kal kevesebb helyet igényel kevésbé kritikus javítások.
Egy másik érdekes pont. Konténer kezelése mellett a hagyományos PowerShell, lehet használni Docker. És, hogy képes futtatni a nem őshonos eszközöket Win MS aláírt partnerségi megállapodást bővítése API Docker és eszközrendszer. Minden fejlesztések nyitott és elérhető a hivatalos GitHub projekt Docker. Docker parancsok alkalmazni minden tartályok, mint Win és Linux alatt. Bár természetesen a tartályban létrehozott Linux, a Windows nem fut (és fordítva). Jelenleg PowerShell funkció korlátozott, és lehetővé teszi, hogy csak a helyi lerakat.
telepítés konténerek
Telepítés konténerek komponens a Server ManagerAz eljárás során megállapított és a hálózati vezérlőt Virtual Switch, be kell állítani, hogy azonnal, különben a következő lépéseket: hibát generál. Élvezi a nevét a hálózati adapter:
A munkához szükségünk van egy szabályozót a külső. A parancsmagot Új-VMSwitch sok paraméter, de például lemondanak egy kis telepítés:
Beállítás Virtual SwitchWindows tűzfal blokkolja a kapcsolatot a tartályba. Ezért létre kell hozni egy olyan szabály, amely legalább képes legyen kapcsolódni távolról PowerShell Távoli elérés, mert ez megoldja a TCP / 80, és hozzon létre egy szabályt NAT:
Van egy másik változata egy egyszerű telepítés. A fejlesztők készítettek egy szkript, amely lehetővé teszi, hogy telepíteni a függőségek automatikusan és konfigurálja a gazda. Használhatod őket, ha akarja. A paraméterek a script segít megérteni a mechanizmusok:
Van egy másik lehetőség -, hogy telepíteni a virtuális gépek kész támogatni a tartályba. Ehhez az ugyanazon erőforrás egy script, automatikusan generál minden szükséges műveleteket. Ha részletes utasításokat MSDN. Töltse le és futtassa a szkriptet:
Mi határozza meg egy egyedi nevet és -WindowsImage mondott a fajta összegyűjtött képet. Options lehet nanokiszol-, ServerDatacenter. Azonnal fel és Docker, annak jelenléte vagy hiánya felelős beállítás és SkipDocker IncludeDocker. Elindítása után elindul a letöltés és a kép átalakítási folyamat meg kell adnia egy jelszót, hogy jelentkezzen be VM. ISO-fájl maga is elég nagy, majdnem 5 GB. Ha a link lassú, akkor töltse le a fájlt egy másik számítógépen, majd nevezze WindowsServerTP4 és másolja a C: \ Users \ Public \ Documents \ Hyper-V \ Virtual merevlemezek. Mi lehet bejelentkezni a telepített virtuális gép a jelszó megadásával meg a szerelvény, és a munka.
Most már közvetlenül a tartályok használatát.
A tartályok alkalmazása PowerShell
Konténerek modul 32 PowerShell cmdlet dokumentáció néhány még nem tökéletes, bár általában, hogy minden működik elég. A lista csak jelenítse:
List parancsmaggal modul konténerekKap egy listát az elérhető képeket, akkor használja a parancsmaggal Get-ContainerImage, konténerek - Kap-Container. Abban az esetben, a konténer az oszlop állapota megmutatja a jelenlegi állapot: megáll vagy elindul. De míg a technológia még fejlesztés alatt áll, az MS nem adott adattár, és mint említettük PowerShell működik helyi tárolót, így a kísérletek létre kell hozni magad.
Így a szerver támogatja már most meg kell magukat konténerek. Ehhez tegye ContainerProvider csomag szolgáltatót.