Nano Server and
Windows Containers
RICHARD SIDDAWAY
About the Presenter
 PowerShell.org Director
 PowerShell MVP – 9 years
 Author
 Blogger
 Speaker
 Honorary Scripting Guy
 25 year+ IT survivor
”
“Warning:
Danger Will Robinson
The content of this presentation is subject to change as we’re dealing with Windows
Server 2016 CTP5. There could be changes in subsequent builds of Windows Server
2016
GUI?
We don’t need no
stinkin’ GUI
Demos on Nano Server
Which film is misquoted?
Nano server:
 New to windows with Server 2016
 Bare minimum server
 No local logon
 Manage remotely
 PowerShell
 Server Management Tools
 64 bit applications ONLY
 Setup and start up @ warp factor 20
 Fewer updates
Nano server roles:
 Hyper-V
 Clustering
 File server
 DNS server
 IIS
 DSC server
 Push and pull modes
 NOT Pull server in TP5
 Still work in progress
 Container Host
Containers are:
 New to windows with Server 2016 (TP3 and later)
 Lightweight virtualisation
 Mobile – easily moved across environments
 Appear as isolated and independent OS to application
 Windows server containers or Hyper-V containers
 Containers share host operating system
 Manage through PowerShell or Docker
Windows or Hyper-V containers
Windows Containers
 Share Windows Kernel
 Memory shared through host
 OS trusts applications
 Applications trust each other
 Faster start up
 BIT LESS ISOLATION
Hyper-V Containers
 Own Windows Kernel
 Memory assigned directly
 Applications untrusted
 Applications don’t trust
 Slightly slower start up
 MORE ISOLATION
Host and Container combinations
Host Operating System Windows Server Container Hyper-V Container
Windows Server 2016 Full UI Core OS Image Nano OS Image
Windows Server 2016 Core Core OS Image Nano OS Image
Windows Server 2016 Nano Nano OS Image Nano OS Image
If patch host then MUST patch Container OS images as well
i.e. versions MUST match exactly
Container concepts
Container networking
 NAT Mode
 Internal VM switch
 External address on host + port = Internal address of container
 Many containers on single external address
 Multiple containers hosting applications with same port requirements
 Transparent Mode
 External VM switch
 Containers get IP address from DHCP or assign statically
 Mac spoofing on container host
Container networking
 L2 Bridge
 External VM switch
 Traffic between containers on same host & subnet directly bridged
 External traffic through switch
 MAC addresses re-written on traffic ingress/egress
 L2 Tunnel mode
 MS Cloud Stack only
 Similar to L2 bridge
 All traffic through virtual switch
Container shared folders
 Enable data sharing between host and container
 Data on host <-> data on container
 Many containers can share a host’s folder
 Configure by container
 Shared folder can be read only
 Good mechanism for software delivery
Process
 Add containers feature to VM or Hyper-V server
 Add OS ContainerImage
 Install-PackageProvider ContainerImage -Force
 Find-ContainerImage
 Install-ContainerImage -Name WindowsServerCore
 OR
 Save-ContainerImage -Name WindowsServerCore -Destination
C:ContainerOSImagesWindowsServerCore.wim
 Install-ContainerOSImage -WimPath C:ContainerOSImagesWindowsServerCore.wim
Warning: Be careful with providers
 TWO image providers exist
PS> ContainerImageFind-ContainerImage | ft -a
Name Version Source Summary
---- ------- ------ -------
NanoServer 10.0.14300.1010 ContainerImageGallery Container OS Image of Windows Server 2016
Technical Preview 5 : Nano Server I...
WindowsServerCore 10.0.14300.1000 ContainerImageGallery Container OS Image of Windows Server 2016
Technical Preview 5 : Windows Serve...
PS> ContainerProviderFind-ContainerImage | ft -a
Name Version Source Description
---- ------- ------ -----------
NanoServer 10.0.10586.0 Container OS Image of Windows Server 2016 Technical Preview 4 : Nano
Server Installation
WindowsServerCore 10.0.10586.0 Container OS Image of Windows Server 2016 Technical Preview : Windows
Server Core Installation
Process
 Create container network
 Create Container
 Create shared folder
 Add NAT mapping (if needed)
 Configure container e.g. add IIS and web site
Using containers for application
deployment
 Create base container
 Install application
 Create ContainerImage
 VERSIONING
 Duplicate container if required
 Export ContainerImage
 Copy ContainerImage to target
 Import ContainerImage
 Create container

WinOps Conf 2016 - Richard Siddaway - DevOps With Nano Server and Windows Containers

  • 1.
    Nano Server and WindowsContainers RICHARD SIDDAWAY
  • 2.
    About the Presenter PowerShell.org Director  PowerShell MVP – 9 years  Author  Blogger  Speaker  Honorary Scripting Guy  25 year+ IT survivor
  • 3.
    ” “Warning: Danger Will Robinson Thecontent of this presentation is subject to change as we’re dealing with Windows Server 2016 CTP5. There could be changes in subsequent builds of Windows Server 2016
  • 4.
    GUI? We don’t needno stinkin’ GUI Demos on Nano Server Which film is misquoted?
  • 5.
    Nano server:  Newto windows with Server 2016  Bare minimum server  No local logon  Manage remotely  PowerShell  Server Management Tools  64 bit applications ONLY  Setup and start up @ warp factor 20  Fewer updates
  • 6.
    Nano server roles: Hyper-V  Clustering  File server  DNS server  IIS  DSC server  Push and pull modes  NOT Pull server in TP5  Still work in progress  Container Host
  • 7.
    Containers are:  Newto windows with Server 2016 (TP3 and later)  Lightweight virtualisation  Mobile – easily moved across environments  Appear as isolated and independent OS to application  Windows server containers or Hyper-V containers  Containers share host operating system  Manage through PowerShell or Docker
  • 8.
    Windows or Hyper-Vcontainers Windows Containers  Share Windows Kernel  Memory shared through host  OS trusts applications  Applications trust each other  Faster start up  BIT LESS ISOLATION Hyper-V Containers  Own Windows Kernel  Memory assigned directly  Applications untrusted  Applications don’t trust  Slightly slower start up  MORE ISOLATION
  • 9.
    Host and Containercombinations Host Operating System Windows Server Container Hyper-V Container Windows Server 2016 Full UI Core OS Image Nano OS Image Windows Server 2016 Core Core OS Image Nano OS Image Windows Server 2016 Nano Nano OS Image Nano OS Image If patch host then MUST patch Container OS images as well i.e. versions MUST match exactly
  • 10.
  • 11.
    Container networking  NATMode  Internal VM switch  External address on host + port = Internal address of container  Many containers on single external address  Multiple containers hosting applications with same port requirements  Transparent Mode  External VM switch  Containers get IP address from DHCP or assign statically  Mac spoofing on container host
  • 12.
    Container networking  L2Bridge  External VM switch  Traffic between containers on same host & subnet directly bridged  External traffic through switch  MAC addresses re-written on traffic ingress/egress  L2 Tunnel mode  MS Cloud Stack only  Similar to L2 bridge  All traffic through virtual switch
  • 13.
    Container shared folders Enable data sharing between host and container  Data on host <-> data on container  Many containers can share a host’s folder  Configure by container  Shared folder can be read only  Good mechanism for software delivery
  • 14.
    Process  Add containersfeature to VM or Hyper-V server  Add OS ContainerImage  Install-PackageProvider ContainerImage -Force  Find-ContainerImage  Install-ContainerImage -Name WindowsServerCore  OR  Save-ContainerImage -Name WindowsServerCore -Destination C:ContainerOSImagesWindowsServerCore.wim  Install-ContainerOSImage -WimPath C:ContainerOSImagesWindowsServerCore.wim
  • 15.
    Warning: Be carefulwith providers  TWO image providers exist PS> ContainerImageFind-ContainerImage | ft -a Name Version Source Summary ---- ------- ------ ------- NanoServer 10.0.14300.1010 ContainerImageGallery Container OS Image of Windows Server 2016 Technical Preview 5 : Nano Server I... WindowsServerCore 10.0.14300.1000 ContainerImageGallery Container OS Image of Windows Server 2016 Technical Preview 5 : Windows Serve... PS> ContainerProviderFind-ContainerImage | ft -a Name Version Source Description ---- ------- ------ ----------- NanoServer 10.0.10586.0 Container OS Image of Windows Server 2016 Technical Preview 4 : Nano Server Installation WindowsServerCore 10.0.10586.0 Container OS Image of Windows Server 2016 Technical Preview : Windows Server Core Installation
  • 16.
    Process  Create containernetwork  Create Container  Create shared folder  Add NAT mapping (if needed)  Configure container e.g. add IIS and web site
  • 17.
    Using containers forapplication deployment  Create base container  Install application  Create ContainerImage  VERSIONING  Duplicate container if required  Export ContainerImage  Copy ContainerImage to target  Import ContainerImage  Create container