Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

vSphere Automation, [py | go | rb]Vmomi

644 views

Published on

VMware DevOps meetup #1 でお話ししたSDKなどなどプレゼン内容

Published in: Technology
  • You can hardly find a student who enjoys writing a college papers. Among all the other tasks they get assigned in college, writing essays is one of the most difficult assignments. Fortunately for students, there are many offers nowadays which help to make this process easier. The best service which can help you is ⇒ www.HelpWriting.net ⇐
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

vSphere Automation, [py | go | rb]Vmomi

  1. 1. ©2019 VMware, Inc. VMware DevOps meetup #1 vSphere Automation & [py | go | rb]Vmomi 椨木 正博 ストラテジックアカウント SE 本部 2019 / 04 / 25
  2. 2. ©2019 VMware, Inc. 2 • 椨木正博 (たぶきまさひろ) • 高専で電子工学、大学で情報工学を専攻 • 2014 年 VMware 入社 • プリセールス SE として以前は公共、現在はサービスプロバイダのお客様を主に担当 • 趣味 • お酒(最近真面目に数えたら隔週で二日酔い) • ご飯(食べ過ぎているので最近体重計を買いました) • 旅行(主に屋久島。5年連続で行ってます) • Twitter, Instagram: @tabnano 自己紹介 椨 タブノキ
  3. 3. ©2019 VMware, Inc. 3 今日の目標 Web Client 使わずに仮想マシン作ろうかな? と思ってもらう
  4. 4. ©2019 VMware, Inc. Agenda 4 • VMware の API って? • vSphere Automation って? • VMOMI って? • vSphere Automation vs. いろいろな VMOMI • 少しコードを見てみよう
  5. 5. ©2019 VMware, Inc. 5 https://code.vmware.com/home VMware の API って?
  6. 6. ©2019 VMware, Inc. 6 vSphere 周り + NSX (少し) + VMC (少し) をぎゅっとまとめた SDK • 様々な言語対応 • REST • Python • Java • Perl • .NET • Ruby • 言語ごとにアップデート頻度が 異なるので要注意 • Java, Python が多くアップデートさ れているイメージ
  7. 7. ©2019 VMware, Inc. 7 一例: vSphere Automation SDK for Python で必要なコンポーネント この後お話しする pyVmomi も必要!
  8. 8. ©2019 VMware, Inc. 8 • Virtual Machine Object Management Infrastructureの略 • vCenter, ESXi など、VMware の仮想基盤を管理するためのフレームワーク • Workstation 時代から開発されているが vSAN など最近の製品も根幹は VMOMI を使用 • 内部で使用されている言語が多岐にわたっているため、IDLを準備 • VMODL • 使用できる言語 • Java (VLSI) • Python, Go, Ruby ([py | go | rb]Vmomi) VMOMI とは? vCenter Web Client C# Client
  9. 9. ©2019 VMware, Inc. 9 vSphere Automation SDK は 様々な自動化を実現するための集合体 vSphere Automation SDK VMOMIAPI Client NSX SDK VMC SDK
  10. 10. ©2019 VMware, Inc. 10 [非公式] 使用する SDK, VMOMI の選び方 使用する言語は Goですか? govmomi https://github.com/vmware/govmomi Yes vSphere Automation SDK https://vmware.github.io/vsphere- automation-sdk/ No
  11. 11. ©2019 VMware, Inc. 11 SDK / MOMI 一覧 更新頻度 サンプル数 多 高 SDK for PythonSDK for Java SDK for Perl SDK for .NET SDK for Ruby go Vmomi py Vmomi rb Vmomi
  12. 12. ©2019 VMware, Inc. 12 vSphere Automation SDK for Python で仮想マシンを作るまで vCenter に接続 client = create_vsphere_client(server=<サーバのURL>, username=<ユーザ名>, password=<パスワード>, session=<SSL セッション>)
  13. 13. ©2019 VMware, Inc. 13 vSphere Automation SDK for Python で仮想マシンを作るまで スペックを定義 vm_create_spec = VM.CreateSpec( guest_os=guest_os, name=self.vm_name, placement=self.placement_spec, hardware_version=Hardware.Version.VMX_11, cpu=Cpu.UpdateSpec(count=2, cores_per_socket=1, hot_add_enabled=False, hot_remove_enabled=False), memory=Memory.UpdateSpec(size_mib=2 * GiBMemory,hot_add_enabled=False), disks=[ Disk.CreateSpec(type=Disk.HostBusAdapterType.SCSI, scsi=ScsiAddressSpec(bus=0, unit=0), new_vmdk=Disk.VmdkCreateSpec(name='boot', capacity=40 * GiB)), Disk.CreateSpec(new_vmdk=Disk.VmdkCreateSpec(name='data1', capacity=10 * GiB))]) ← ゲスト OS 名 ← 任意のVM名 ← VMの配置場所 (事前に定義) ←ハードウェアバージョンの指定 ←2vCPU ←SCSI 0:0 に40GB, 0:1 に10GB Disks
  14. 14. ©2019 VMware, Inc. 14 vSphere Automation SDK for Python で仮想マシンを作るまで 仮想マシンを作ろう vm = client.vcenter.VM.create(vm_create_spec) おしまい!
  15. 15. ©2019 VMware, Inc. 15 そのほかの例… update_spec = Cpu.UpdateSpec(cores_per_socket=2, hot_add_enabled=True) client.vcenter.vm.hardware.Cpu.update(vm, update_spec) 既存のVMデータを取得 vm = get_vm(client, vm_name) CPUの構成を変更 メモリの構成を変更 update_spec = Memory.UpdateSpec(size_mib=8 * 1024) client.vcenter.vm.hardware.Memory.update(vm, update_spec)
  16. 16. ©2019 VMware, Inc. 16 今回のコードの参照先は… https://github.com/vmware/vsphere-automation-sdk-python/tree/master/samples/
  17. 17. ©2019 VMware, Inc. 17 https://code.vmware.com/samples 他にもサンプルあります 投稿お待ちしております!
  18. 18. ©2019 VMware, Inc. Thank You

×