WLS je vrstva kompatibility vyvinutá společností Microsoft pro nativní spouštění spustitelných souborů Linuxu ve Windows.
Společnost Microsoft nedávno oznámila všeobecnou dostupnost WSL 3.0, aktualizace, která staví Windows na komplexní vývojovou platformu pro úlohy založené na kontejnerech a umělé inteligenci.
Hlavní inovací v této verzi je zavedení nástroje příkazového řádku „wslc“ (WSL Containers) a jeho vestavěného aliasu „container.exe“. Tento nástroj spolu s doplňkovým SDK API kompatibilním s C++ a C#/WinRT umožňuje vývojářům a nativním aplikacím pro Windows vytvářet, spouštět a spravovat kontejnery pro Linux bez nutnosti spoléhat se na virtualizační prostředí třetích stran.
Hlavní nové funkce WSL 3.0
Nástroj „wslc“ pokrývá celý životní cyklus kontejneru a umožňuje operace, jako je vytváření, spouštění, zastavování, export a kontrola obrazů systému , a také omezuje zdroje CPU a paměti přidělené každé instanci. V oblasti sítí nová verze umožňuje vytváření vlastních virtuálních sítí, propojování kontejnerů s více sítěmi a přesměrování portů . Vývojáři mohou dále interagovat s virtuálními pevnými disky (VHD), konfigurovat výchozí cesty úložiště a sdílet adresáře Windows přímo v rámci připojených kontejnerů Linuxu.
Pro analýzu a pozorovatelnost zavádí WSL 3.0 příkaz „wslc logs“ a monitorování událostí v reálném čase , které poskytuje podrobné statistiky a zvýrazněný výstup z protokolů aktivit kontejneru. Integrace na úrovni operačního systému je posílena tím, že neoprávněným uživatelům umožňuje přístup k grafickým procesorům (GPU) z kontejneru, což umožňuje zrychlené spouštění modelů umělé inteligence a lokálně vyvinutých grafických nástrojů.
Izolace a optimalizované sítě
Na rozdíl od tradičních virtualizačních architektur WSL 3.0 nasazuje kontejnery s využitím zvýšených oprávnění služby Windows „ wslservice.exe “. Pro zajištění izolace však tato služba spouští sekundární procesy s názvem „wslcsession.exe“, které běží s oprávněními aktuálního uživatele systému. Tyto relace jsou striktně oddělené; každé je přiřazen vlastní virtuální pevný disk (VHD), který se ve výchozím nastavení nachází v adresáři uživatele (`%AppData%\Local\wslc\sessions`).
Výkon a kompatibilita sítě byly vylepšeny, protože přístup napříč souborovými systémy nyní ve výchozím nastavení využívá technologii virtiofs , která nabízí až dvojnásobné rychlosti čtení a zápisu ve srovnání s tradičním přístupem k souborům ve Windows.
Pokud jde o komunikaci, je zaveden síťový režim „consumme“. Tento režim zlepšuje interoperabilitu směrováním síťového provozu Linuxu přímo přes síťová rozhraní Windows, což umožňuje kontejnerovým aplikacím bezproblémovou interakci se stávajícími virtuálními privátními sítěmi (VPN), podnikovými proxy a firemními bezpečnostními zásadami.
Aby se usnadnilo zavedení WSL 3.0 v produkčním prostředí, společnost Microsoft nasadila kontrolní mechanismy správy a řízení prostřednictvím Microsoft Intune a Microsoft Defender for Endpoint (MDE). IT administrátoři nyní mohou pomocí MDE monitorovat procesy, sítě a soubory v kontejnerech WSL a korelovat tyto aktivity s hostitelským systémem pro sjednocenou analýzu zabezpečení. Zásady Intune navíc umožňují zakázat přístup ke kontejnerům nebo konfigurovat „seznamy oprávnění k protokolování“, což nutí vývojové týmy stahovat obrazy pouze z ověřených repozitářů.
Ekosystém nástrojů kompatibilních s wslc se díky příspěvkům komunity rychle rozšiřuje. Editor kódu Visual Studio nyní podporuje wslc jako výchozí ovladač prostřednictvím rozšíření „Dev Containers“, což usnadňuje vzdálenou kompilaci zdrojového kódu.
Podobně mohou nástroje jako Aspire používat WSL 3.0 jako své primární běhové prostředí. Kromě rozhraní příkazového řádku mohou vývojáři spravovat lokální infrastrukturu pomocí vizuálních aplikací, jako je terminálová aplikace „Lazywslc“, desktopová aplikace „WinUI 3 WSL Container Desktop“, nebo vyvolávat příkazy vzdáleně pomocí skriptů z linuxových distribucí hostovaných na WSL. V budoucnu plánuje Microsoft tento ekosystém rozšířit vydáním plné podpory pro orchestraci komponování wslc, což umožní přímou kompatibilitu se stávajícími standardními soubory compose.yaml.
A konečně, pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.