vm.gowatana.jp

NEOにほんごVMware(仮)

VMware Cloud Director 10.4 を PowerCLI で操作してみる。Part-01 vApp テンプレートの展開

VMware Cloud Director 10.4(VCD)で、PowerCLI を使用して vApp テンプレートから vApp を作成してみます。

今回の内容です。

 

今回の環境

下記の一連の投稿で作成したラボを利用します。

 

そのなかで、今回利用する vApp テンプレートは下記のように作成してあります。

 

PowerCLI は、13.1 を使用します。VCD を操作するモジュール(VMware.VimAutomation.Cloud)は、デフォルトで PowerCLI に含まれています。

PS C:\> Get-Module -ListAvailable -Name VMware.PowerCLI | select Version

Version
-------
13.1.0.21624340


PS C:\> Get-Module -ListAvailable -Name VMware.VimAutomation.Cloud | select Version

Version
-------
13.1.0.21611174

 

VCD ラボ環境のイメージでは、下記の赤枠のあたりを vApp テンプレートから作成します。

ただし今回の vApp テンプレートは下記の図とは異なり、次のような構成です。

  • 仮想マシンが 2つだけ含まれる。(vm01、vm02)
  • vApp ネットワークは 1つのみ。

 

1. VCD への接続

PowerCLI の Connect-CIServer コマンドレットで VCD に接続します。VCD のエンドポイント アドレスは、テナント ポータルと同じアドレスです。

  • VCD のエンドポイント アドレス: lab-vcd-31.vcd.go-lab.jp
  • 組織: demo-org-01
  • 組織のユーザ: org-01-admin
PS C:\> Connect-CIServer -Server lab-vcd-31.vcd.go-lab.jp -Org demo-org-01 -User org-01-admin -Password VMware1!

Name                           User                           Org
----                           ----                           ---
lab-vcd-31.vcd.go-lab.jp       org-01-admin                   demo-org-01

 

ちなみに VCD 関連の PowerCLI コマンドレットのうち、vSphere などで利用するものと名前が重複しそうなものには 、Noun(名詞)部分に CI という文字列が付与されています。

 

2. 操作対象の確認 

まずは、vApp テンプレートを確認します。すでに作成されている vApp テンプレートのうち、vapp-template-01 を利用します。

PS C:\> Get-CIVAppTemplate

Name                           Status            Owner                          StorageUsedGB
----                           ------            -----                          -------------
vapp-template-01               PoweredOff        org-01-admin                   32.000
vapp-template-esxi-01          PoweredOff        org-01-admin                   196.000


PS C:\> Get-CIVAppTemplate -Name vapp-template-01

Name                           Status            Owner                          StorageUsedGB
----                           ------            -----                          -------------
vapp-template-01               PoweredOff        org-01-admin                   32.000

 

組織 VDC を確認します。このうち、org-vdc-01 に vApp テンプレートを展開してみます。

PS C:\> Get-OrgVdc

Name                           Enabled CpuUsedGHz      MemoryUsedGB    StorageUsedGB   AllocationModel
----                           ------- ----------      ------------    -------------   ---------------
org-vdc-01                     True    0.00            0.000           1822.374        PayAsYouGo
org-vdc-02                     True    0.00            0.000           428.000         PayAsYouGo
org-vdc-03                     True    0.00            0.000           214.000         PayAsYouGo

 

3. vApp テンプレートの展開

それでは、vApp テンプレートから vApp を作成します。

PS C:\> Get-CIVAppTemplate -Name vapp-template-01 | New-CIVApp -Name vapp-01

Name                           Enabled InMaintenanceMode    Owner
----                           ------- -----------------    -----
vapp-01                        True    False                org-01-admin

 

これで、vApp が停止(PowerOff)の状態で作成されました。

PS C:\> Get-CIVApp -Name vapp-01 | select *


Href               : https://lab-vcd-31.vcd.go-lab.jp/api/vApp/vapp-5d857b88-6228-485b-b472-4f42c02e7b96
ExtensionData      : VMware.VimAutomation.Cloud.Views.VApp
Enabled            : True
Status             : PoweredOff
SizeGB             : 32
CpuCount           :
MemoryAllocationMB : 4096
MemoryAllocationGB : 4
InMaintenanceMode  : False
Owner              : org-01-admin
Org                : demo-org-01
Shared             : False
StorageLease       : 30.00:00:00
RuntimeLease       : 7.00:00:00
Description        :
Id                 : urn:vcloud:vapp:5d857b88-6228-485b-b472-4f42c02e7b96
Name               : vapp-01
Uid                : /CIServer=org-01-admin:demo-org-01@lab-vcd-31.vcd.go-lab.jp:443/CIVApp=urn:vcloud:vapp:5d857b88-6228-485b-b472-4f42c02
                     e7b96/

 

VCD のテナント ポータルでも、vApp が作成されたことがわかります。

 

この vApp には、2つの仮想マシンが含まれています。

PS C:\work\git\vcd-powercli> Get-CIVApp -Name vapp-01 | Get-CIVM

Name                           Status                      GuestOSFullName                          CpuCount MemoryGB
----                           ------                      ---------------                          -------- --------
vm01                           PoweredOff                  VMware Photon OS (64-bit)                1        2.000
vm02                           PoweredOff                  VMware Photon OS (64-bit)                1        2.000

 

テンプレートに含まれていた vApp ネットワークも作成されています。

PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Get-CIVAppNetwork

Name                           Gateway         Netmask         ConnectionType FirewallEnabled NatEnabled
----                           -------         -------         -------------- --------------- ----------
vapp-isolate-nw-01             10.0.0.1        255.255.255.0   Isolated       False           False


 

仮想マシンの vNIC が、それぞれ vApp ネットワークに接続されていることが確認できます。

PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Get-CIVM | Get-CINetworkAdapter | select VM, Index, MACAddress, VAppNetwork, Connected, IPAddressAllocationMode, IPAddress | ft -AutoSize

VM   Index MACAddress        VAppNetwork        Connected IPAddressAllocationMode IPAddress
--   ----- ----------        -----------        --------- ----------------------- ---------
vm01     0 00:50:56:01:01:52 vapp-isolate-nw-01      True                  Manual 10.0.0.11
vm02     0 00:50:56:01:01:51 vapp-isolate-nw-01      True                  Manual 10.0.0.12

 

VCD のテナントポータルでも、仮想マシンが vApp ネットワークに接続されている様子がわかります。

 

Start-CIVApp で vApp を起動すると、vApp に含まれる仮想マシンも一緒に起動されます。

PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Start-CIVApp

Name                           Enabled InMaintenanceMode    Owner
----                           ------- -----------------    -----
vapp-01                        True    False                org-01-admin


PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Get-CIVM

Name                           Status                      GuestOSFullName                          CpuCount MemoryGB
----                           ------                      ---------------                          -------- --------
vm01                           PoweredOn                   VMware Photon OS (64-bit)                1        2.000
vm02                           PoweredOn                   VMware Photon OS (64-bit)                1        2.000

 

4. vApp の削除

vApp を削除する場合は、まず、vApp(と含まれる仮想マシン)を停止しておきます。

PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Stop-CIVApp -Confirm:$false

 

そのうえで、vApp を削除します。

PS C:\> Get-orgvdc org-vdc-01 | Get-CIVApp -Name vapp-01 | Remove-CIVApp -Confirm:$false

 

つづく・・・