WLS is een compatibiliteitslaag die door Microsoft is ontwikkeld om uitvoerbare Linux-bestanden native op Windows uit te voeren.
Microsoft heeft onlangs de algemene beschikbaarheid van WSL 3.0 aangekondigd, een update die Windows positioneert als een compleet ontwikkelplatform voor containergebaseerde en AI-gestuurde workloads.
De belangrijkste vernieuwing in deze release is de introductie van de opdrachtregeltool 'wslc' (WSL Containers) en de ingebouwde alias 'container.exe'. Deze tool, samen met een complementaire SDK API die compatibel is met C++ en C#/WinRT, stelt ontwikkelaars en native Windows-applicaties in staat om Linux-containers te creëren, uit te voeren en te beheren zonder afhankelijk te zijn van virtualisatieomgevingen van derden.
Belangrijkste nieuwe functies van WSL 3.0
De 'wslc'-tool bestrijkt de volledige levenscyclus van containers en maakt bewerkingen mogelijk zoals het creëren, starten, stoppen, exporteren en inspecteren van systeemimages , evenals het beperken van de CPU- en geheugenbronnen die aan elke instantie worden toegewezen. Op het gebied van netwerken maakt de nieuwe versie het mogelijk om aangepaste virtuele netwerken te creëren, containers met meerdere netwerken te verbinden en poorten door te sturen . Bovendien kunnen ontwikkelaars communiceren met virtuele harde schijven (VHD's), standaard opslagpaden configureren en Windows-mappen rechtstreeks delen vanuit gekoppelde Linux-containers.
Voor analyse en observeerbaarheid introduceert WSL 3.0 de opdracht 'wslc logs' en realtime gebeurtenisbewaking , die gedetailleerde statistieken en gemarkeerde uitvoer van containeractiviteitslogboeken biedt. De integratie op besturingssysteemniveau wordt versterkt door gebruikers zonder beheerdersrechten toegang te geven tot grafische processoren (GPU's) vanuit de container, waardoor de uitvoering van AI-modellen en lokaal ontwikkelde grafische tools wordt versneld.
Isolatie en geoptimaliseerde netwerken
In tegenstelling tot traditionele virtualisatiearchitecturen implementeert WSL 3.0 containers met behulp van de verhoogde bevoegdheden van de Windows-service ' wslservice.exe '. Om isolatie te garanderen, start deze service echter secundaire processen genaamd 'wslcsession.exe', die draaien onder de rechten van de huidige systeemgebruiker. Deze sessies zijn strikt gescheiden; aan elke sessie wordt een eigen virtuele harde schijf (VHD) toegewezen, die standaard in de gebruikersmap staat (`%AppData%\Local\wslc\sessions`).
De netwerkprestaties en -compatibiliteit zijn verbeterd, omdat toegang tot bestanden in verschillende systemen nu standaard gebruikmaakt van virtiofs-technologie . Deze technologie biedt lees- en schrijfsnelheden die tot twee keer zo hoog zijn als bij traditionele bestandstoegang in Windows.
Wat communicatie betreft, wordt de netwerkmodus 'consumme' geïntroduceerd. Deze modus verbetert de interoperabiliteit door Linux-netwerkverkeer rechtstreeks via Windows-netwerkinterfaces te routeren, waardoor containerapplicaties naadloos kunnen samenwerken met bestaande virtuele particuliere netwerken (VPN's), bedrijfsproxy's en bedrijfsbeveiligingsbeleid.
Om de implementatie van WSL 3.0 in productieomgevingen te vergemakkelijken, heeft Microsoft beheermaatregelen geïmplementeerd via Microsoft Intune en Microsoft Defender for Endpoint (MDE). IT-beheerders kunnen MDE nu gebruiken om processen, netwerken en bestanden binnen WSL-containers te bewaken en deze activiteiten te correleren met het hostsysteem voor een uniforme beveiligingsanalyse. Daarnaast maken Intune-beleidsregels het mogelijk om de toegang tot containers uit te schakelen of 'Lijsten met logboekrechten' te configureren, waardoor ontwikkelteams alleen afbeeldingen uit geverifieerde repositories mogen ophalen.
Het ecosysteem van tools die compatibel zijn met wslc breidt zich snel uit dankzij bijdragen van de community. De Visual Studio Code-editor ondersteunt nu wslc als standaardstuurprogramma via de extensie "Dev Containers", waardoor het eenvoudiger is om broncode op afstand te compileren.
Op dezelfde manier kunnen tools zoals Aspire WSL 3.0 als hun primaire runtime-omgeving gebruiken. Naast de commandoregelinterface kunnen ontwikkelaars de lokale infrastructuur beheren met behulp van visuele applicaties zoals de terminalgebaseerde "Lazywslc", de desktopapplicatie "WinUI 3 WSL Container Desktop", of commando's op afstand aanroepen via scripts vanuit Linux-distributies die op WSL worden gehost. Microsoft is van plan dit ecosysteem in de toekomst uit te breiden door volledige ondersteuning voor wslc compose-orkestratie uit te brengen, waardoor directe compatibiliteit met bestaande industriestandaard compose.yaml-bestanden mogelijk wordt.
Als u tot slot meer wilt weten, kunt u de details vinden via de volgende link.