So what started as a two post series has been doubled. I could easily write four more posts showing examples.
However in this post I will detail some things I learnt while exploring the vSphere DSC resource and where you can go and learn more.
What I learnt
This is just a general list of observations/lessons learnt/confusing things in the resource I found. Some of them may be things I just don’t understand (yet!) so please correct me if I am wrong.
Firstly installation. When you install the Module the first thing I did was check the Documentation pages on GitHub. I was doing a project at work that could use the resource VMHostPowerPolicy so started trying to configure a host using the examples. I could not get it to work. Eventually I realised the resource was not installed on my machine! It seems there is documentation on GitHub that are for resources not in version 2.0 of vSphere DSC.
So when you look at the Documentation pages in the list of resources the following are not actually part of the module - yet I assume:
Overlapping Cluster Resources
There seem to be some overlapping resources in the module. For instance in vSphere DSC - Part 3 I showed and example using the DrsCluster resource. If you actually look at the list of resources there are three cluster related resources:
- Cluster - The resource is used to create, update and delete Clusters in a specified Datacenter. The resource also takes care to configure Cluster’s High Availability (HA) and Drs settings.
- DrsCluster - The resource is used to create, update and delete Clusters in a specified Datacenter. The resource also takes care to configure Cluster’s Drs settings.
- HACluster - The resource is used to create, update and delete Clusters in a specified Datacenter. The resource also takes care to configure Cluster’s High Availability (HA) settings.
If we look at the parameters for each resource:
Basically Cluster covers DrsCluster and HACluster. Why have multiple resources? I’d just use Cluster all the time.
Server and Name Parameters
As mentioned in Part 1:
If we were authenticating to a vCenter we would define the vCenter in
Serverand the actual ESXi host in
Name. As we are dealing with an ESXi host directly in this example we put the hostname in both
Nameinstead of just defining
Server. This is the same for any of the resources that can target an ESXi host directly.
Where you can learn more
Kyle Ruddy presented at the PowerShell Conference EU in 2019 and covered in depth vSphere DSC. Thankfully the conference recorded all the videos and Kyles session is available here - Kyle Ruddy - Manage vSphere with PowerCLI DSC Resources, Finally!. As an aside the PowerShell Conference EU videos are well worth browsing through as there is excellent content in there.
Kyle also did a Code breakout session at VMworld US this year called How PowerCLI Makes vSphere Configuration Management Easy (CODE2214U). This is an excellent session that covers:
- What is Configuration Management?
- What is PowerShell
- What is PowerCLI?
- Desired State Configuration (DSC) Introduction
- DSC Resources for VMware
Finally I will post my example DSC scripts on my GitHub on the vSphere-DSC repository.
I’ve really enjoyed learning more about DSC in general and applying it to my first love vSphere. DSC seems to get a hard life in Configuration Management circles, but I like using it as it is easy to pick up and native to the systems I use. I’d recommend giving it a go.