Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Sử dụng vShere Python SDK để quản lý máy ảo vCenter ESXi - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

VMWare đã phát triển bộ công cụ “VMware vSphere Automation SDK for Python” để hỗ trợ quản lý máy ảo trên vCenter ESXi. Bài viết này sẽ hướng dẫn cách sử dụng vShere Python SDK để thực hiện các thao tác như kết nối, khởi động và tắt máy ảo.

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))

Để lại một bình luậ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 *