Upload
enrique-lima
View
285
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
Enrique Lima
A lap around PDT and other automation goodness
idea. plan. deliver.
idea. plan. deliver.
•Enrique Lima• [email protected]• Principal Consultant / Owner• Microsoft v-TSP BPIO / CoreIO / APPIO• Microsoft Certified Trainer – Regional Lead – East US• Member of the Geekswithblogs.net Community - Influencer
▫ http://geekswithblogs.net/enriquelima• @enriquelima - twitter.com/enriquelima
• Member of INETA
Who am I?
idea. plan. deliver.
Overview
•The case for automation•Automation options•PowerShell Deployment Toolkit
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
The why would I care …
The case for automation
idea. plan. deliver.
•We deploy servers for test, development, proof of concept, etc.•We need it quick•Saving VMs as templates•A lot, wait, again, a lot of manual work.•Tedious and repeatable
Our reality
idea. plan. deliver.
Let’s talk about the reality
How many products make up System Center 2012 R2?Answer: 1
How long does it take to deploy System Center 2012 R2?Answer: Too long!
How many "screens" does an installation take including prerequisites and SQL Server?Answer: I lost count somewhere around 500
How many post-setup integration tasks are there?Answer: What on earth is post-setup integration?
Who’s afraid of XML?Answer: Don’t worry, there may be some good news towards the end of this session!
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
What is DevOps?
idea. plan. deliver.
What is DevOps?
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
What is available out there?
Automation options
idea. plan. deliver.
•Chocolatey•SCCM
App/Server deployment automation
idea. plan. deliver.
•PowerShell Deployment Toolkit•SCCM OSD
Platform deployment
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
PowerShell Deployment Toolkit
idea. plan. deliver.
This section involves manually editing XML…
idea. plan. deliver.
Before you start – XML Editing
•Get a good XML editor▫Notepad++▫Visual Studio▫PowerShell ISE
idea. plan. deliver.
•Spin drives vs. SSD•Memory•Windows 8.1 Update 1 vs. Windows Server 2012 vs. Windows Server
2012 R2
Hardware / Software
idea. plan. deliver.
•Get PDT•Customize the settings on Variable.xml•Run Downloader.ps1•Create Parent VHDX files•Run VMCreator.ps1
PDT – The Process
idea. plan. deliver.
Define your deployment – Variable.xmlSpecify global settingsUser and company nameInstaller service account and passwordSource pathOptional – product keys
Specify settings for each componentUsually just service account and password
Specify servers for each roleDatabase roles must specify SQL instance name
Specify SQL settings for each instanceVersionAdmin group
Installer.ps1 will validate all settings before deployment
idea. plan. deliver.
Download all the bits – Downloader.ps1Downloads…Prerequisites e.g. - SQL Native Client, Report Viewer, WSUSSQL Server 2012, SP1, and CU8SQL Server 2008 R2 and SP2SharePoint 2010 FoundationManagement PacksIntegration Packs
Extracts…
Runs…ADKSetup.exe downloadConfiguration Manager setupdl.exe downloadSelf-extracting exeWebPI for Windows Azure Pack Web Sites
Slipstreams…SQL Server 2008 R2 SP2
Requires…Windows Server 2012/Windows 8WinRAR or 7-ZipWeb Platform Installer
Option…Downloader.ps1 -DeploymentOnly
Restartable!Does not download…Windows Server 2012System Center ComponentsNew! Warning messages for items not downloaded
idea. plan. deliver.
•Make a sysprepped OS image•Easy path …▫Use Convert-WindowsImage.ps1
•http://bit.ly/1q4BCMm
Create Parent VHDX files
Convert-WindowsImage.ps1 -SourcePath "9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVER_EN-US-IRM_SSS_X64FRE_EN-US_DV5.ISO" -VHDFormat VHDX -Edition "ServerDataCenterCore" -SizeBytes 8GB -VHDPartitionStyle MBR -BCDinVHD NativeBoot -ExpandOnNativeBoot:$false -RemoteDesktopEnable -Driver "F:\Custom Driver" -Verbose
.\Convert-WindowsImage.ps1 -ShowUI
idea. plan. deliver.
Install each server OS – VMCreator.ps1OptionalPDT can use existing servers, physical or virtual, any virtualization platformRequirements - Windows Server, domain joined, WinRM enabled, administrator permissions
Specify countHow many servers are in your deployment?
Specify defaultsHyper-V host, VM name, processor, memory, network adapter, OS disk, data disks, domain to joinFull example in default Variable.xml in PDT
Specify overrides per VM, if desired e.g. Different Hyper-V hosts, VM name, memory, OS disk
VMCreator.ps1 will validate required resources for VM creationCreates VM, joins domain, enables WinRM, add installer service account to administrators
idea. plan. deliver.
Single pass complete lab setupProcess…First VM created as domain controller for new Active Directory forestMedia copied to DC during virtual hard disk creationAll other VMs are created but wait for Active Directory setup to complete before startingOnce Active Directory setup is complete, DC waits for all other VMs to start and join domainDC automatically runs Installer.ps1
RecommendationInclude minimum of 2 data disks with DC for Active Directory database and log files
VMCreator with Active Directory
idea. plan. deliver.
Everything else! - Installer.ps1
Distributed Deployment ControllerManages validation, sequencing, dependenciesManages reboots where requiredGracefully handles cascading failures
PhasesFor each server, simultaneously:
AdministratorsWindows Roles and FeaturesSQL Clusters – with dependencies between cluster nodesSQLPrerequisites
With cross server dependencies:RolesIntegration and Configuration
idea. plan. deliver.
The “Knowledge” in PDT – Workflow.xml
Installer.ps1 knows nothing about deploying System CenterAll “knowledge” is in Workflow.xmlWorkflow.xml defines everything we know about deploying System Center
Defines…Roles
Requirements – validation, Windows roles and features, prerequisitesDependencies on other rolesIntegrations between rolesFirewall
InstallablesDownloadsInstalls
Default settings – global, component, SQL
…and is completely extensible!
idea. plan. deliver.
Validation
LocalValidates settings in Variable.xml for…
FQDN, dependencies, role combinations, role instance count, required variables, SQL instances, media
ActiveDirectoryValidates against Active Directory for…
Service accounts and passwords, other security principals - groups
RemoteValidates against target servers for…
Server exists, administrator access, clusters, WinRM, Task Scheduler,credentials policy, operating system version, file access, certificates, minimum memory
idea. plan. deliver.
Extenders – work with all PDT scripts
Extends Workflow.xml for custom rolesFilename must match Extender*.xml, and be in same location as Workflow.xmlExtender*.xml merged in memory with Workflow.xmlExtender entries are added at end of existing sections
New Installer.ps1 switch if defining new rolesInstaller.ps1 -SkipValidation RolesCombination
SamplesVeeam Management Pack for VMwareGridPro Request Management for WAPOperations Manager MPs
idea. plan. deliver.
Custom setup and post installerCustom setupVMCreator.ps1 –Setup <path>Requires a folder with the name of the VM in <path>Requires a PowerShell script with the name of the VM in that folderScript will be run against that VM using autologon during initial VM startupVMCreator.ps1 with AD – DC waits for custom setup to complete before running Installer.ps1
PostInstallerPostInstaller.ps1 in same location as Installer.ps1Automatically run after successful completion of Installer.ps1Must use remoting for configuration of any systems other than the one running Installer.ps1
idea. plan. deliver.
-MaxStageSwitch on Installer.ps1Limits deployment stage for partial deployment1Admin – Adds service accounts to local administrator groups2ServerFeatures – Installs Windows Roles and Features3SQLClusters – Installs SQL clustered instances4SQL – Installs SQL standalone instances5Prereqs – Installs prerequisites6Roles – Installs roles7Integration – Completes integration and configuration
Stages are cumulative
idea. plan. deliver.
GUIs!!!Service Provider Operational Readiness KitDeveloped by Microsoft service provider teamAvailable to service provider partners onlyDelivered as a USB stick with all mediaLimited to specific deployment scenarios relevant to service provider team
PDT GUIDeveloped by a partner, Elanity Network PartnerUI for creation and editing of Variable.xml
idea. plan. deliver.
PowerShell Deployment Toolkit
Available on the TechNet Galleryhttp://aka.ms/DownloadPDT
Documented through the Building Clouds bloghttp://aka.ms/GetToKnowPDT
Don’t forget the YouTube video…http://aka.ms/PDTVideo
Does not replace…Configuration Manager software distributionVirtual Machine Manager virtual machine creationVirtual Machine Manager service deployment and servicing
…but solves the chicken and egg problem!
idea. plan. deliver.
demo time!
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
idea. plan. deliver.
Questions
idea. plan. deliver.
•Rob Willis▫TechEd 2014 Session on PDT: DCIM-B361
http://bit.ly/1oUTx4f▫Blog
http://blogs.technet.com/b/privatecloud/
Credits
idea. plan. deliver.
idea. plan. deliver.