1
Enforcing a vSphere Cluster Design
Using PowerCLI Automation
Who is Duncan Epping?
Writer
Author
Author
Job
VMware
Social
@ Yellow-Bricks.com
of Essential Virtual SAN
of Clustering Deepdive
Chief Technologist @ VMware
VCDX
@DuncanYB (twitter)
Who is @ChrisWahl?
Writer
Host
Instructor
Evangelist
Microsoft
VMware
@ WahlNetwork.com
@ DatanautsPodcast.com
@ Pluralsight.com
@ Rubrik.com
MVP (PowerShell)
VCDX (DCV & NV)
4
Agenda
• vSphere Cluster Design Basics
• Crafting Declarative Configurations
• Infrastructure as Code
• An Introduction to the Vester project
vSphere Cluster Design
5
Architecture Methodology
It is all about the app
App
VM’s
Compute
StorageNetwork
Clusters
What are the things we need to think about?
Consistency is the key to success
• Compute
– DNS / NTP / TPS
• Storage
– Protocol / Limits / Resiliency
• Networking
– vMotion / Management / Storage / VMs
• vSphere HA and DRS
9
Brief intro to vSphere Clusters
vSphere HA Basics
• Configured through vCenter Server
• Each host has an agent (FDM) for monitoring state
• HA restarts VMs when a failure impacts those VMs
10
Brief intro to vSphere Clusters
vSphere HA Specifics
• One of the hosts is elected as master
• Heartbeats via network and storage
– Management network (or)
– VSAN network (if VSAN is enabled)
• It can reserve resources for restarts (Admission Control)
11
Brief intro to vSphere Clusters
vSphere DRS Basics
• DRS provides load balancing and initial
placement
– To keep VMs happy and maximize cluster
utilization
• DRS is the broker of resources between
producers and consumers
• DRS goal is to provide the resources the
virtual machine demands
12
Brief intro to vSphere Clusters
vSphere DRS Specifics
• DRS provides cluster management
– Maintenance Mode
– Affinity / anti-affinity rules
– VM-Host groups
– Resource Pools
13
And then there is compute
Many things to think about during install / config
• Gateway / DNS
• NTP
• NUMA
• Syslog + Scratch Partition
• TPS enabled or disabled?
– If enabled, how?
• Security?
– Lock down enabled?
14
Storage, you got an hour or two?
iSCSI, FC, FCoE or maybe VSAN
• Many different storage systems
• Many different design considerations
– And also implications on for instance
vSphere HA
– PDL / APD
– Stretched? Replication? Sync / Async?
• Resignature? Mount? Orchestration of
DR?
• Number of Paths, Number of LUNs
• Performance aspects – RAID Types –
Flash vs Hybrid
15
It is always the network
Yes, we usually do blame others… Reality is, many issues arise from
inconsistency...
• Distributed Switch vs normal vSwitch?
• Consistency in configuration of network
segments
– VLANs / Portgroups
– MTU (end to end)
• Load Balancing
– Load based teaming
– Virtual Port ID
– IP Hash / LACP
Crafting Declarative Configurations
17
Imperative Declarative
Where’s the Value?
20
Avoids Building by Hand
statements become actionable
21
Repeatable Processes
consistency is your friend
22
Force Multiplier
the entire team is now empowered
23
Annihilate Tribal Knowledge
documentation is stale upon creation
configurations are self documenting
Infrastructure as Code
26
Abstract End State from Configuration
don’t store declarative configuration inside the endpoint
Where do Objects Live?
But I already have a vSphere environment!
• How do I pull the config out of it?
• Leverage PowerCLI as a starting point …
– DRS Rules (affinity, anti-affinity, vm-to-host)
– VDS and Port Group configs
– Resource pools
– Generic cluster configs
– VSAN & SPBM policies
Get-DrsRule
31
Export-VDSwitch & Export-VDPortGroup
Note! Import-Module VMware.VimAutomation.Vds
32
http://blogs.vmware.com/PowerCLI/2013/03/vds-exportimport-with-powercli.html
Get-ResourcePool
33
Get-SpbmStoragePolicy &
Get-VsanDisk / Get-VsanDiskGroup
34
35
Conversational Configuration
tracking, logging, and implementation in a single system
Ops Collaboration
38
Gathering Objects with PowerCLI
• Get information on the cluster
– HA, NTP, SSH, DRS, DNS, so forth
• Compare with declarative configuration
• Inspect results
– Validate always
– Remediate optional
• Report metrics
Vester
41
Interesting Projects
• Vester
– https://github.com/WahlNetwork/Vester
• vSphereDSC
– https://github.com/lucdekens/vSphereDSC
• Operation Validation Framework (OVF)
– https://github.com/PowerShell/Operation-Validation-Framework
• Watchmen
– https://github.com/devblackops/watchmen
• vSphere HA Deepdive
– https://ha.yellow-bricks.com (Free ebook!)
• PoshSpec
– https://github.com/Ticketmaster/poshspec
Thank you!
Duncan Epping – Chief Technologist, VMware
Chris Wahl – Technical Evangelist, Rubrik

VMworld 2016 - INF8036 - enforcing a vSphere cluster design with powercli automation

  • 1.
    1 Enforcing a vSphereCluster Design Using PowerCLI Automation
  • 2.
    Who is DuncanEpping? Writer Author Author Job VMware Social @ Yellow-Bricks.com of Essential Virtual SAN of Clustering Deepdive Chief Technologist @ VMware VCDX @DuncanYB (twitter)
  • 3.
    Who is @ChrisWahl? Writer Host Instructor Evangelist Microsoft VMware @WahlNetwork.com @ DatanautsPodcast.com @ Pluralsight.com @ Rubrik.com MVP (PowerShell) VCDX (DCV & NV)
  • 4.
    4 Agenda • vSphere ClusterDesign Basics • Crafting Declarative Configurations • Infrastructure as Code • An Introduction to the Vester project
  • 5.
  • 6.
  • 7.
    It is allabout the app App VM’s Compute StorageNetwork Clusters
  • 8.
    What are thethings we need to think about? Consistency is the key to success • Compute – DNS / NTP / TPS • Storage – Protocol / Limits / Resiliency • Networking – vMotion / Management / Storage / VMs • vSphere HA and DRS
  • 9.
    9 Brief intro tovSphere Clusters vSphere HA Basics • Configured through vCenter Server • Each host has an agent (FDM) for monitoring state • HA restarts VMs when a failure impacts those VMs
  • 10.
    10 Brief intro tovSphere Clusters vSphere HA Specifics • One of the hosts is elected as master • Heartbeats via network and storage – Management network (or) – VSAN network (if VSAN is enabled) • It can reserve resources for restarts (Admission Control)
  • 11.
    11 Brief intro tovSphere Clusters vSphere DRS Basics • DRS provides load balancing and initial placement – To keep VMs happy and maximize cluster utilization • DRS is the broker of resources between producers and consumers • DRS goal is to provide the resources the virtual machine demands
  • 12.
    12 Brief intro tovSphere Clusters vSphere DRS Specifics • DRS provides cluster management – Maintenance Mode – Affinity / anti-affinity rules – VM-Host groups – Resource Pools
  • 13.
    13 And then thereis compute Many things to think about during install / config • Gateway / DNS • NTP • NUMA • Syslog + Scratch Partition • TPS enabled or disabled? – If enabled, how? • Security? – Lock down enabled?
  • 14.
    14 Storage, you gotan hour or two? iSCSI, FC, FCoE or maybe VSAN • Many different storage systems • Many different design considerations – And also implications on for instance vSphere HA – PDL / APD – Stretched? Replication? Sync / Async? • Resignature? Mount? Orchestration of DR? • Number of Paths, Number of LUNs • Performance aspects – RAID Types – Flash vs Hybrid
  • 15.
    15 It is alwaysthe network Yes, we usually do blame others… Reality is, many issues arise from inconsistency... • Distributed Switch vs normal vSwitch? • Consistency in configuration of network segments – VLANs / Portgroups – MTU (end to end) • Load Balancing – Load based teaming – Virtual Port ID – IP Hash / LACP
  • 16.
  • 17.
  • 19.
  • 20.
    20 Avoids Building byHand statements become actionable
  • 21.
  • 22.
    22 Force Multiplier the entireteam is now empowered
  • 23.
    23 Annihilate Tribal Knowledge documentationis stale upon creation configurations are self documenting
  • 24.
  • 26.
    26 Abstract End Statefrom Configuration don’t store declarative configuration inside the endpoint
  • 27.
  • 30.
    But I alreadyhave a vSphere environment! • How do I pull the config out of it? • Leverage PowerCLI as a starting point … – DRS Rules (affinity, anti-affinity, vm-to-host) – VDS and Port Group configs – Resource pools – Generic cluster configs – VSAN & SPBM policies
  • 31.
  • 32.
    Export-VDSwitch & Export-VDPortGroup Note!Import-Module VMware.VimAutomation.Vds 32 http://blogs.vmware.com/PowerCLI/2013/03/vds-exportimport-with-powercli.html
  • 33.
  • 34.
  • 35.
    35 Conversational Configuration tracking, logging,and implementation in a single system
  • 36.
  • 38.
    38 Gathering Objects withPowerCLI • Get information on the cluster – HA, NTP, SSH, DRS, DNS, so forth • Compare with declarative configuration • Inspect results – Validate always – Remediate optional • Report metrics
  • 39.
  • 41.
    41 Interesting Projects • Vester –https://github.com/WahlNetwork/Vester • vSphereDSC – https://github.com/lucdekens/vSphereDSC • Operation Validation Framework (OVF) – https://github.com/PowerShell/Operation-Validation-Framework • Watchmen – https://github.com/devblackops/watchmen • vSphere HA Deepdive – https://ha.yellow-bricks.com (Free ebook!) • PoshSpec – https://github.com/Ticketmaster/poshspec
  • 42.
    Thank you! Duncan Epping– Chief Technologist, VMware Chris Wahl – Technical Evangelist, Rubrik

Editor's Notes

  • #10 Every knows HA can respond to a Host Failure Most people know HA can respond to an isolation but… Did you know HA can respond to a Guest OS failure? Did you know HA can respond to an Application failure? Did you know HA can respond when a VM process failed? Did you know HA can respond to a Storage failure?
  • #17 Moving forward, one of the key drivers it to build a data center that can be declared as an end state. This is in opposition to hand crafting a data center as individuals.
  • #18 Imperative models have long ruled the data center. This is a process in which Operations configures each device to do specific things, typically one at a time, without a real focus on the data center holistically. Declarative models imply that you craft the intent of your resources and allow the lower level system to determine the best way to execute your desires.
  • #19 Take Uber’s ridesharing app as an example. You instruct the app with your destination and the class of service (UberX, UberBLACK, etc.) you want. It then handles all of the low level details by finding a driver, supplying a route, and processing payment. Do you dwell on how this is done, or do you simply wish to remove friction and consume the service?
  • #20 How does this sort of value translate into the world of declarative data centers? And how can this be used for the design process?
  • #21 First, using any sort of configuration management model will largely eliminate the legacy mindset of building by hand as individuals. Instead, statements can be created as a team – in real time – and become actionable because they not only define how a data center should look but also can be feed into a management tool to make change happen.
  • #22 Once this has been done, change is predictable and repeatable. Because a configuration value has been set by the team, it becomes reality when fed into a configuration management tool. Drift (change) is remediated on a schedule. Otherwise, configuration values are often changed both randomly (on specific servers) and inconsistently (different values based on who made the change and what they believe the value should be).
  • #23 If you consider this, then, you have now created what is known as a Force Multiplier. The entire team is now empowered to view, create, and enforce consistency within the data center. There is no “one guru person” that knows how things are done, or at least – there shouldn’t be!
  • #24 Because declarative configurations are also enforced within the data center, they become a living set of documentation. Most all config tools allow for comments and verbose descriptions. Rather than keeping documentation separate from action, why not couple them? After all – documentation is stale the MOMENT it is created, because change is a constant.
  • #27 It’s important to separate the living state of a system from the declarative configuration of that system.
  • #30 Placeholder
  • #38 Placeholder