Installing VMware PowerCLI on Ubuntu 22.04 Jammy

Published on July 11, 2024
Installing VMware PowerCLI on Ubuntu 22.04 Jammy

PowerCLI คือชุดเครื่องมือภาษาการโปรแกรมในการจัดการอัตโนมัติ (Automation) ที่พัฒนาโดย VMware สำหรับการบริหารจัดการ VMware vSphere และผลิตภัณฑ์อื่น ๆ ของ VMware โดย PowerCLI เป็นส่วนขยายของ PowerShell ซึ่งเป็นภาษา scripting ของ Microsoft PowerCLI ประกอบด้วย cmdlets มากมายที่ช่วยให้ผู้ดูแลระบบสามารถจัดการและกำหนดค่าโครงสร้างพื้นฐานของ VMware ได้อย่างง่ายดาย โดยปัจจุบันนั้น Powershell ของ Microsoft นั้นไม่เพียงแต่ทำงานได้บนระบบปฏิบัติการ Windows เท่านั้น แต่ยังทำงานได้บน Linux และ MacOS อีกด้วย

คุณสมบัติและการใช้งาน PowerCLI
การบริหารจัดการ vSphere: ช่วยให้สามารถจัดการและปรับแต่ง ESXi hosts, virtual machines (VMs), datastores, networks, และองค์ประกอบอื่น ๆ ของ vSphere ได้
การจัดการอัตโนมัติ: ช่วยให้ผู้ดูแลระบบสามารถสร้างสคริปต์เพื่อทำงานซ้ำๆ หรือทำงานที่ซับซ้อนได้โดยอัตโนมัติ
การติดตั้งและการกำหนดค่า: สามารถใช้ในการติดตั้งและกำหนดค่า VM ใหม่ๆ หรือโฮสต์ใหม่ ๆ ได้ง่าย ๆ (provision)
การทำรายงาน: ช่วยให้สามารถสร้างรายงานเกี่ยวกับสภาวะของโครงสร้างพื้นฐาน VMware ได้ เช่น รายงานเกี่ยวกับการใช้งานทรัพยากร, รายงานสถานะของ VM ฯลฯ

สำหรับชุดคำสั่งในการจัดการ products ของ VMware ผ่าน Powershell ทั้งหมดนั้นท่านสามารถอ่านเพิ่มเติมและดูคำสั่งได้ที่ https://developer.broadcom.com/powercli/latest/products/vmwarevsphereandvsan/commands-index

วันนี้เราจะพาไปดูวิธีการติดตั้ง Powershell บน Linux เพื่อที่จะทำการใช้งาน Powershell ในการเชื่อมต่อไปยัง VMware ESXi และทำการ shutdown esxi ตามเวลาที่กำหนด
Linux ที่เราจะติดตั้ง Powershell พร้อมกับ PowerCLI module นี้จะเป็น Ubuntu 22.04 (Jammy) แต่ใน version อื่นๆ เช่น 20.04, 24.04 ก็ใช้คำสั่งไม่ได้ต่างกัน

ทำการพิมพ์คำสั่ง

sudo apt-get update

เพื่อทำการอัพเดท list ของ package ในระบบ

ทำการติดตั้ง package เพิ่มเติมดังนี้

sudo apt-get install -y wget apt-transport-https software-properties-common

ทำการดึงค่าตัวแปรด้วยคำสั่ง

source /etc/os-release

หลังจากนั้น ทำการดาวน์โหลด repo ของ Microsoft

wget -q https://packages.microsoft.com/config/ubuntu/$VERSION_ID/packages-microsoft-prod.deb

หลังจากนั้นทำการติดตั้ง repo key

sudo dpkg -i packages-microsoft-prod.deb

ทำการลบไฟล์ package repo ที่ดาวน์โหลดมา

rm packages-microsoft-prod.deb

ทำการปรับปรุง list ของ package อีกครั้ง

sudo apt-get update

ทำการติดตั้ง Powershell

sudo apt-get install -y powershell

เมื่อติดตั้งแล้ว ก็ทำการรัน Powershell ด้วยคำสั่ง

pwsh

ท่านก็จะได้ระบบ prompt ของ powershell ตามภาพ

running powershell

ทำการติดตั้ง PowerCLI ด้วยคำสั่ง

Install-Module -Name VMware.PowerCLI

ดังรูป
installing PowerCLI Module

ระบบจะบอกกับท่านว่า module PowerCLI นั้นจะถูกติดตั้งจาก PSGallery ซึ่งท่านจะต้องกด Y เพื่อยืนยัน และกด Enter

confirm downloading PowerCLI from PSGallery

หลังจากนั้นให้ท่านทำการพิมพ์ คำสั่งเพื่อเป็นการ import module PowerCLI

import-module VMware.PowerCLI 

ระบบจะบอกกับท่านว่า ให้ท่านเลือกที่จะ join program Customer Improvement โดยท่านจะต้องพิมพ์คำสั่ง

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $true

หรือหากท่านไม่ต้องการ join ก็เปลี่ยนตัวแปรเป็น false ตามตัวอย่างจะเป็นการเข้าร่วมโปรแกรม
joining vmware CEP

คำสั่งอีกคำสั่งหนึ่งที่ท่านจะต้องใช้คือ

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false 

ซึ่งเป็นการบอกระบบว่า ขณะที่ท่าน เชื่อมต่อไปยัง ESXi Host นั้น ท่านจะใช้ self-signed Certificate

Ignore Certificate Check

ตัวอย่างต่อไปนี้ คือการใช้ Powershell Script ในการสั่ง shutdown ESXi Host ทุกวันเวลา 18:00 โดยให้ท่านสร้างไฟล์ที่มีชื่อว่า
shutdown-my-esxi.ps1 ซึ่งท่านอาจจะสร้างด้วย text editor อะไรก็ได้ ที่ท่านต้องการ เช่นเราเก็บไฟล์ไว้ใน /root/shutdown-my-esxi.ps1

Import-Module VMware.PowerCLI
$esxiHost = "IP ของ ESXI"
$esxiUser = "username ของ esxi"
$esxiPassword = "password ของ esxi"

# เชื่อมต่อไปยัง host
$credential = New-Object System.Management.Automation.PSCredential($esxiUser, (ConvertTo-SecureString $esxiPassword -AsPlainText -Force))
Connect-VIServer -Server $esxiHost -Credential $credential

# สั่งให้ทำการ shutdown
Stop-VMHost -VMHost $esxiHost -Confirm:$false -Force

# ตัดการเชื่อมต่อจาก esxi
Disconnect-VIServer -Server $esxiHost -Confirm:$false

หลังจากนั้น ให้ท่านใช้ crontab ในการตั้งเวลา เช่น

crontab -e

และเพิ่มบรรทัดที่เรียก powershell ขึ้นมาทำงาน ดังรูป

shutdown esxi at 18:00 everyday

ก็เรียกว่าเป็นตัวอย่างง่ายๆ สำหรับการ shutdown ESXi เพื่อช่วยประหยัดพลังงาน

ความนิยมในการใช้งาน Openstack ในการใช้งานในยุคแห่งคลาวด์

OpenStack ยังคงเป็นแพลตฟอร์มคลาวด์โอเพนซอร์สชั้นนำของโลก และมีการใช้งานเพิ่มขึ้นอย่างต่อเนื่องทุกปี จากผลการสำรวจผู้ใช้งาน OpenStack พบว่ามันถูกนำไปใช้งานจริงในระบบมากกว่า 40 ล้านคอร์ จากกว่า 300...

Read more »

CAD Software Alternatives for Efficiency and Cost Optimization

วันนี้เราจะพาท่านไปพบกับซอฟต์แวร์ทางเลือกใหม่ สำหรับผู้ที่ใช้ซอฟต์แวร์ออกแบบ ประเภท CAD/CAM/CAE ที่พร้อมด้วยฟีเจอร์ และ มี learning curve สั้นๆ...

Read more »

Unified Commerce System

ระบบการค้าแบบรวมบูรณาการ หรือ Unified Commerce System (UCS) นั้นเป็นระบบที่ได้ถือกำหนดขึ้น เพื่อที่จะตอบสนองความต้องการของเข้าของกิจการที่ ต้องการใช้ระบบเดียวในการจัดการทั้ง ระบบหน้าร้าน...

Read more »

ติดตั้ง MicroCloud พร้อมตั้งค่าคลัสเตอร์ 3 โหนดบน Ubuntu Server | สร้าง Private Cloud ง่ายในไม่กี่นาที!

ในยุคที่ระบบคลาวด์กลายเป็นหัวใจหลักของการบริหารโครงสร้างพื้นฐาน IT ทั้งในองค์กรและศูนย์ข้อมูล การสร้าง “Private Cloud” ที่มีความยืดหยุ่น ปลอดภัย และบริหารจัดการได้เอง จึงเป็นสิ่งจำเป็นสำหรับหลายองค์กร...

Read more »

แนะนำให้รู้จักกับ Ubuntu MicroCloud

ระบบ Cloud เป็นระบบที่เรียกได้ว่า เป็นการทำให้ทรัพยากรทุกอย่างอยู่ในรูปแบบที่ ควบคุมได้ผ่านซอฟต์แวร์เป็นหลัก และ ปัจจุบันความต้องการการใช้งานก็สูงขึ้นมาก เนื่องจากความสะดวกของระบบดังกล่าวนั่นเอง แต่ระบบคลาวด์นั้นในอดีต อาจจะยุ่งยากในการติดตั้ง...

Read more »

ทำไมระบบสำรวจความพึงพอใจลูกค้าจึงสำคัญมากในปัจจุบัน

ในยุคที่ทุกธุรกิจต้องปรับตัวกับการแข่งขันที่สูง และ การเปลี่ยนแปลงอย่างรวดเร็วในตลาด ทำให้เกิดแรงกดดันอย่างมหาศาลมายังผู้ขายสินค้าและบริการ ที่จะต้องปรับเปลี่ยนรูปแบบเพื่อให้ตรงใจลูกค้า และ มองลูกค้าเป็นศูนย์กลางมากที่สุด สิ่งหนึ่งที่จะช่วยให้ เกิดการปรับปรุงด้านบริการหรือการตอบสนองลูกค้าให้ตรงจุดที่สุดคือการนำ ผลการสำรวจความพอใจ...

Read more »