The VM extension is deprecated and no longer supported. All customers using the VM extension should migrate to DSC.
The VM Extension can be installed onto a virtual machine via the Azure command line. The instructions are slightly different depending on whether you are using the Resource model or the Classic model.
Refer to the configuration structure for information regarding the format of the publicSettings.json
and privateSettings.json
files mentioned in these examples.
If you need more the ability to customize more of the installation, you might want to consider using the Azure Desired State Configuration (DSC) extension in conjunction with the OctopusDSC resource.
Azure Resource Manager (ARM) mode
To install the extension on a VM:
$ azure config mode arm
info: Executing command config mode
info: New mode is arm
info: config mode command OK
$ azure vm extension set --resource-group "<resource-group-name>" --vm-name "<vm-name>" --name "OctopusDeployWindowsTentacle" --publisher-name "OctopusDeploy.Tentacle" --version "2.0" --public-config-path "publicSettings.json" --private-config-path "privateSettings.json"
info: Executing command vm extension set
info: Looking up the VM "<vm-name>"
info: Installing extension "OctopusDeployWindowsTentacle", VM: "<vm-name>"
info: vm extension set command OK
To find out what extension versions are available:
$ azure vm extension-image list --publisher "OctopusDeploy.Tentacle" --location "<azure-region>"
info: Executing command vm extension list
+ Getting virtual machine extension image types (Publisher: "OctopusDeploy.Tentacle" Location:"<azure-region>")
Publisher Type Version Location
---------------------- ---------------------------- ------- -------------
OctopusDeploy.Tentacle OctopusDeployWindowsTentacle 2.0.49 australiaeast
OctopusDeploy.Tentacle OctopusDeployWindowsTentacle 2.0.50 australiaeast
OctopusDeploy.Tentacle OctopusDeployWindowsTentacle 2.0.54 australiaeast
...
To find out what extensions are installed on a VM:
$ azure vm extension get --resource-group "<resource-group-name>" --vm-name" <vm-name>"
+ Looking up the VM "<vm-name>"
data: Publisher Name Version State
data: ----------------- -------------------------- ------- --------
data: Microsoft.Compute WinRMCustomScriptExtension 1.4 Creating
info: vm extension get command OK
To remove an extension from a VM:
$ azure vm extension set --uninstall --quiet --resource-group "<resource-group-name>" --vm-name "<vm-name>" --name "OctopusDeployWindowsTentacle" --publisher-name "OctopusDeploy.Tentacle" --version "2.0"
Executing command vm extension set
Looking up the VM "<vm-name>"
Looking up extension "OctopusDeployWindowsTentacle", VM: "<vm-name>"
Uninstalling extension "OctopusDeployWindowsTentacle", VM: "<vm-name>"
vm extension set command OK
Azure Service Management (ASM/Classic) mode
To install the extension on a VM:
$ azure config mode asm
info: Executing command config mode
info: New mode is asm
info: config mode command OK
$ azure vm extension set "<vm-name>" "OctopusDeployWindowsTentacle" "OctopusDeploy.Tentacle" "2.0" --public-config-path "publicSettings.json" --private-config-path "privateSettings.json"
info: Executing command vm extension set
info: Getting virtual machines
info: Updating vm extension
info: vm extension set command OK
To find out what extension versions are available:
$ azure vm extension list --publisher-name "OctopusDeploy.Tentacle"
info: Executing command vm extension list
+ Getting extensions
data: Publisher : OctopusDeploy.Tentacle
data: Name : OctopusDeployWindowsTentacle
data: Version : 2.0
data: Label : Octopus Deploy Tentacle
...
To find out what extensions are installed on a VM:
$ azure vm extension get "<vm-name>"
info: Executing command vm extension get
+ Getting virtual machines
data: Publisher Extension name ReferenceName Version State
data: -------------------- ---------------- -------------------------- ------- ------
data: OctopusDeploy.Ten... OctopusDeploy... OctopusDeployWindowsTen... 2.0 Enable
info: vm extension get command OK
To remove an extension from a VM:
$ azure vm extension set --uninstall "<vm-name>" "OctopusDeployWindowsTentacle" "OctopusDeploy.Tentacle" "2.0"
info: Executing command vm extension set
info: Getting virtual machines
info: Uninstalling vm extension
info: vm extension set command OK
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Sunday, January 1, 2023