vSphere Automation Masterclass

Automation is key to maximizing the potential of vSphere, especially if you’re managing multiple systems and want to achieve as much with your time as possible. Did you know that most tasks in vSphere can be performed using automation? Did you know that the cloud can be used to conduct configuration changes for an on-premises cluster? Automation is an essential aspect of the modern-day vSphere administrator, and even if you are currently automating vSphere tasks, you might be unaware of the full possibilities it can deliver.

In this webinar, VMware vExperts Andy Syrewicze and Luke Orellana demonstrate powerful automation techniques that will enable “turbo-mode” for your datacenter. This webinar will feature several live demos covering:

  • The basics of PowerCLI
  • Deployment Automation
  • Desired State Configuration for vSphere
  • Cloud Integrations
  • And more!

vSphere Automation Masterclass will be held on June 20th and as always the webinar will be presented live twice – at 2pm CEST/8am EDT/5am PDT and at 7pm CEST/1pm EDT /10am PDT. The reason they go through it all twice is to try and cater for live audiences on both sides of the Atlantic. Both sessions have the same content so it’s just a way of enabling as many people as possible to attend live and have the opportunity to ask questions live!

I’ll be attending the event and if you vSphere on a daily basis then this is a must-attend event for you too! Join me and save your seat today

Webinar Title: vSphere Automation Masterclass

Presenters: Andy Syrewicze (VMware vExpert) and Luke Orellana (VMware vExpert)

Date: Thursday, June 20, 2019

Session 1: 2pm CEST / 8am EDT / 5am PDT

Session 2: 7pm CEST / 1pm EDT / 10am PDT

Save your seat now!

altaro vshere webinar

Building Windows images with Packer

Hi, folks!

Sometimes you need to create a base or custom image to use one in any kind of automated deployments (CD pipelines, Dev, QA  and etc.) in cloud or on-premises environments. Then, you might start searching for a good solution to make your task easier. Built-in sysprep?  Well, it’s a classic way for Windows without any additional functionality that might be required especially for clouds. So, what can be used for such task?  Definitely, Packer from HashiCorp would be one of the best tool. It allows you to build your custom image from Marketplace image (as for example) and place that image to the Azure Images for further usage.

In the JSON-example below, Packer uses provided options for authentication (variable section) and passes them to the Azure Resource Manager builder section. Packer supports a bunch of builders such as Azure, Hyper-V, VMware or AWS . In my case, Packer uses Azure RM and it’s Windows Server 2019-Datacenter marketplace image, creates a VM, connects to the VM via communicator (see communicator subsection), and then prepares image by running scripts and actions defined in the provisioners section.  I’m using here two PowerShell scripts for installing IIS role and OS sysprepping at the end of customization. Also, packer automatically updates OS and restarts it if necessary (custom windows-update and built-in windows-restart provisioners)

{
    "variables": {
        "client_id": "service principal|id here",
        "client_secret": "service principal| secret here",
        "tenant_id": "AD tenant's id here",
        "subscription_id": "subscription's id here"
    },
    "builders": [
        {
            "type": "azure-arm",
            "client_id": "{{user `client_id`}}",
            "client_secret": "{{user `client_secret`}}",
            "tenant_id": "{{user `tenant_id`}}",
            "subscription_id": "{{user `subscription_id`}}",
            "os_type": "Windows",
            "image_publisher": "MicrosoftWindowsServer",
            "image_offer": "WindowsServer",
            "image_sku": "2019-Datacenter",
            "image_version": "latest",
            "managed_image_resource_group_name": "TestRG",
            "managed_image_name": "ws2019-iis",
            "disk_caching_type": "ReadWrite",
            "communicator": "winrm",
            "winrm_use_ssl": true,
            "winrm_insecure": true,
            "winrm_timeout": "20m",
            "winrm_username": "packer",
            "location": "West Europe",
            "vm_size": "Standard_A2_v2",
            "azure_tags": {
                "dept": "IT"
            }
        }
    ],
    "provisioners": [
        {
            "type": "powershell",
            "inline": [
                "Write-Host 'Configuring IIS Role and sysprepping...'"
            ]
        },
        {
            "type": "powershell",
            "script": "./scripts/iis-install.ps1"
        },
        {
            "type": "windows-update"
        },
        {
            "type": "windows-restart"
        },
        {
            "type": "powershell",
            "script": "./scripts/iis-sysprep.ps1"
        }
    ]
}

When you end up with the configuration file, run packer build and wait while customization steps finish. Packer’s basic steps for a build are:

  • Create a resource group.
  • Validate and deploy a VM template.
  • Execute provision – defined by the user; typically shell commands.
  • Power off and capture the VM.
  • Delete the resource group.
  • Delete the temporary VM’s OS disk.

As a result, image with the name defined in the managed_image_name option will be added to Azure Images service:

packer azure images

Scripts and other stuff will be available on my GitHub soon. Stay tuned.