Quản lý máy ảo vCenter ESXi sử dụng vShere Python SDK


VMWare cung cấp cho chúng ta bộ công cụ “VMware vSphere Automation SDK for Python” để quản lý máy ảo trên vCenter ESXi. Bài này sẽ hướng dẫn các bạn cách kết nối, khởi động và shutdown máy ảo sử dụng vShere Python SDK.

Các bạn có thể tải SDK ngôn ngữ Python ở link Github bên dưới:

Cài đặt “VMware vSphere Automation SDK for Python”

Để cài đặt SDK chúng ta sử dụng công cụ quản lý Packages PIP của Python

pip install -r requirements.txt

Quản lý máy ảo sử dụng “VMware vSphere Automation SDK for Python”

Lấy danh sách máy áo trên vCenter

import requests
import urllib3
from vmware.vapi.vsphere.client import create_vsphere_client
from samples.vsphere.vcenter.helper.vm_helper import get_vm
from samples.vsphere.common.sample_util import pp
from com.vmware.vcenter.vm_client import Power

session = requests.session()

# Disable cert verification for demo purpose.
# This is not recommended in a production environment.
session.verify = False

# Disable the secure connection warning for demo purpose.
# This is not recommended in a production environment.
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# Connect to a vCenter Server using username and password
vsphere_client = create_vsphere_client(server='<server_id>', username='<username>', password='<password>', session=session)

# List all VMs inside the vCenter Server
print(vsphere_client.vcenter.VM.list())

Với:

  • <server_id>: Địa chỉ IP của máy chủ vCenter
  • <username>: Tài khoản đăng nhập
  • <password>: Mật khẩu của tài khoản

Kiểm tra trạng thái của máy ảo

vm = get_vm(vsphere_client, '<vm_name>')
if not vm:
    raise Exception('Sample requires an existing vm with name ({}). '
                    'Please create the vm first. ')


# Get the vm power state
print('\n# Example: Get current vm power state')
status = vsphere_client.vcenter.vm.Power.get(vm)
print('vm.Power.get({}) -> {}'.format(vm, pp(status)))

Với <vm_name> là tên của máy ảo

Khởi động máy ảo

# Power on the vm
print('# Example: Power on the vm')
vsphere_client.vcenter.vm.Power.start(vm)
print('vm.Power.start({})'.format(vm))

Dừng máy ảo nếu nó đang khởi động

# Power off the vm if it is on
if status == Power.Info(state=Power.State.POWERED_ON):
    print('\n# Example: VM is powered on, power it off')
    vsphere_client.vcenter.vm.Power.stop(vm)
    print('vm.Power.stop({})'.format(vm))

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web