hdconf windows server 2016 containerization by dzmitry durasau

43
Windows Server 2012 ||

Upload: dzmitry-durasau

Post on 15-Jan-2017

227 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows Server 2012 ||

Page 2: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

HelloSpeaker: Dzmitry Durasau

Microsoft Certified Trainer, MCSA, MCTS, MCPSolution Architect at EPAM Systems

Main areas of expertise: Cloud Infrastructures, Enterprise Windows-based IT, Virtualization and PowerShell.

Page 3: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

• Containerization in Windows Server 2016• Windows Container Under the Hood• Hello, World!

Agenda

Page 4: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Containerization inWindows Server 2016

Page 5: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Containers – no magic insideJust another isolation technologyLike many others

• Remote Desktop Session• Application Virtualization• IIS Application Pool• Citrix• Thin Clients

Page 6: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Isolation Technologies

Page 7: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

• Multiple containers run on a host with isolation provided through namespace and process isolation technologies.

Windows Server Containers

Page 8: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

• Multiple containers run on a host, however each container is run inside of a utility virtual machine. This provides kernel level isolation between a Hyper-V container, the container host, and any other containers running on the container host.

Hyper-V Containers

Page 9: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows and Hyper-V Containers

Page 10: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Container Management Stack• PowerShe

ll• Docker

Page 11: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Compatibility• Windows Container can run only on

Windows Host• Windows Containers and Hyper-V

Containers are compatible • Docker Containers and PowerShell

Containers are not compatible• Docker Containert can be managed via

PowerShell in a restricted way (from TP4)

Page 12: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Containers Deployment

Operating System

Operating System

Physical System

VM

Container

Nested Virtualization in Windows Server 2016

Page 13: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows Server 2012 || 13

Windows Container:Under the Hood

Page 14: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Installation• Containers• Hyper-V

Page 15: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Manage Containers with PowerShell

Page 16: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows Container Anatomy• Container Runtime• Container Image

Container RuntimeContainer Image (based on

WIM)

Page 17: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows Containers Image: WIM Package

Page 18: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Install WIM ImageInstall-ContainerOSImage

Page 19: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Container OS ImageC:\ProgramData\Microsoft\Windows\Images

Page 20: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Create ContainerNew-Container -Name <ContainerName> -ContainerImageName <ImageName>

Optional:-SwitchName <SwitchName>-MemoryStartupBytes

Page 21: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Containers

Page 22: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 23: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Containers Structure

Page 24: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Start Container

Start-Container –Name <ContainerName>

Page 25: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Container Start Procedure

Page 26: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Processes

Page 27: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

CPU and RAM• 1 CPU per Container (not verified)• Startup RAM amount can be defined within

the container properties.

Page 28: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Manage ResourcesMemoryNetwork BandwidthCPU (Relative Weight)Storage IO (IOPS and Bandwidth)

Page 29: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Network• Windows Containers use Hyper-V Virtual

Host Network Adapter• Because Firewall is shared between

Container and OS the FW configuration should be performed in OS

• MAC Address is the same as OS.

Page 30: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Hyper-V Containers Anatomy

Page 31: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 32: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Hello, World!

Page 33: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Windows Container Restrictions• Windows Server Containers created with PowerShell

can not currently be managed with Docker and visa versa – Docker containers can be managed via PowerShell in TP4 in a restricted way (discovery, stop)

• Commands sporadically fail -- try again• Currently it is not possible to create a file share

within a Container - Fixed in TP4.• ASP.NET 4.5 and 3.5 doesn't run in a container –

Fixed in TP4• ASP 5.0 does work.• Windows Server Containers can be

managed/interacted with through a RDP session – removed in TP4

Page 34: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/work_in_progress

Page 35: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

DemoCreate new containerStart containerConnect to the container via PowerShellInstall IIS RoleCheck Web site via PowerShellCheck Web site via IE from hostExport container image

Page 36: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 37: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 38: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 39: HDConf Windows Server 2016 Containerization by Dzmitry Durasau
Page 40: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Demo Code#Review PowerShell cmdletsGet-Command -Module Containers

#Review Container ImagesGet-ContainerImage

#Because Containers use Hyper-V Virtual Switch we need to have at least one for network communicationsGet-VMSwitch

#Note: We can communicate with Containers even without network via PowerShell

#Let's create Container object $HelloWorld$HelloWorld = New-Container -Name "HelloWorld" -ContainerImageName WindowsServerCore -SwitchName Internal_Switch

#How they look:Get-Container

#Lets get the party started!Start-Container -Container $HelloWorld

#See container stateGet-Container

#Enter to the container with PowerShellEnter-PSSession -ContainerId $HelloWorld.ContainerId -RunAsAdministrator

#Install IISInstall-WindowsFeature -Name Web-Server

#Get Web SitesGet-IISSite

#Create Container ImageNew-ContainerImage -ContainerName $HelloWorld.Name -Publisher HDConf -Version 1.0 -Name HelloWorldHDConf

#Review our new containerGet-ContainerImage

#Export ContainerExport-ContainerImage -Name HelloWorldHDConf -Path c:\test\

Page 41: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Thank you!

Page 42: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

• http://www.creationline.com/lab/11385• http://

blog.engineer-memo.com/2015/08/21/windows-server-containers

• http://blogs.msdn.com/b/msgulfcommunity/archive/2015/09/08/why-windows-server-containers-and-why-you-need-to-look-at-containers-hands-on.aspx

• https://msdn.microsoft.com/en-us/virtualization/windowscontainers/about/work_in_progress

• http://blogs.technet.com/b/rutechnews/archive/2015/09/16/24-171-windows-server-2016-techincal-preview-3-187.aspx

• https://www.techdays.ru/videos/10093.html• https://

channel9.msdn.com/Blogs/TechDays-Russia/Containers-in-Windows-Server-2016

Links and credits

Page 43: HDConf Windows Server 2016 Containerization by Dzmitry Durasau

Questions?Email: [email protected]:https://twitter.com/azuregeek Facebook:https://www.facebook.com/dzmitry.durasau

LinkedIn:https://www.linkedin.com/in/ddurasau

Dzmitry DurasauContainers in Windows Server

2016