An important component of any AVS deployment centers around
ESXi host lifecycle management. A given AVS host will be replaced automatically if it
encounters a hardware failure or undergoes a planned ESXi version upgrade. Furthermore, AVS
administrators have the ability to scale up or scale down an existing AVS cluster or create
a net new AVS cluster inside of an existing AVS instance. Once the AVS host population is
updated for whatever reason, the Build-PCBSCluster command needs to be executed against the cluster so that the
software iSCSI adapter can be enabled and Everpure Cloud Dedicated array can be updated with the
appropriate host IQNs.
AVS host lifecycle management can be completely automated by leveraging the
Deploy-PCBSMonitor PowerShell
function. This function utilizes native Azure components to poll a specific AVS
cluster (or a set of clusters inside of the same AVS instance) and when it detects a
host-level change, it will automatically kick off the Build-PCBSCluster command to update AVS
and Everpure Cloud Dedicated to the latest configuration. This command will create a new Azure
Resource Group and populate it with the various components shown in the below
screenshot. This command only deploys the monitoring infrastructure itself. Upon
successful deployment, the Add-PCBSAVSMonitorArray command shown below is utilized
to add one or more Everpure Cloud Dedicated arrays for monitoring.
Note that some command arguments shown below, such as
-ClusterName are case-sensitive.
Function name:
Deploy-PCBSAVSMonitor
Function action: This function deploys a new Azure Resource Group that contains all of the components needed to poll an AVS instance for automated AVS host lifecycle management.
Invoked when: This is deployed once per AVS instance. It will poll for updates to any AVS cluster inside of the AVS instance so long as the cluster has had the build-pcbscluster Build-PCBSClustercommand executed against it previously.
Example:
Deploy-PCBSAVSMonitor -AVSCloudName "my-avs" -AVSResourceGroup "avs-resourcegroup" -MonitorResourceGroup "NewResourceGroup" -MonitorResourceGroupRegion "westus2" -vNetName "avs-vnet" -VNetResourceGroup "vnet-resourcegroup" -vNEtSubnetAddress "192.168.10.0/29"
The
Deploy-PCBSAVSMonitor command requires a few important arguments for deployment. Those arguments specific usage are expanded upon below:
AVSCloudName: This is the AVS SDDC name as it appears in the Azure Portal.
AVSResourceGroup: This is the Azure Resource Group that AVS has been deployed into.
MonitorResourceGroup: This is the name for the new Azure Resource Group that will be created for the AVS polling Azure components.
MonitorResourceGroupRegion: This is the region that the Azure Monitor Resource Group and its components will be deployed into. It is recommended that this region is the same region as the AVS instance.
VNETName: This is the name of the Azure VNET that Everpure Cloud Dedicated is utilizing and that AVS has an ExpressRoute connection with.
VNETResourceGroup: This is the Resource Group that contains the Azure VNET that Everpure Cloud Dedicated is utilizing and that AVS has an ExpressRoute connection with.
VNETSubnetAddress: This is a net new CIDR block that the Azure polling function will utilize. It must be an unutilized part of the IP address space of the Azure VNET that Everpure Cloud Dedicated is utilizing. The subnet only requires a few IP addresses, the minimum size for this function subnet is /29 network block which should be enough in most cases.
MonitorIntervalinMinute: The user can optionally specify what polling interval that want the monitoring function to query their AVS instance for changes between 10 and 60 minutes. The default value is 10 minutes if left blank.
The specific function of each component for the polling function is broken out in the below screenshot: