Phòng lab: Tự động hóa hạ tầng
Sử dụng REST API của VergeOS, nhà cung cấp Terraform và các công cụ script để tự động hóa toàn bộ việc cấp phát VM và tenant.
Mục tiêu
Tự động hóa các thao tác vận hành hạ tầng VergeOS bằng REST API, Terraform provider và các công cụ scripting (pyvergeos hoặc PowerShell). Đến cuối bài lab này, bạn sẽ đã cấp phát VM và tenant theo chương trình và hiểu cách tích hợp VergeOS vào các quy trình CI/CD và tự động hóa.
Yêu cầu tiên quyết
Đã hoàn thành Module 1: Kiến thức nền tảng về kiến trúc
Đã hoàn thành Mô-đun 6: Máy ảo
Đã hoàn thành Mô-đun 7: Multi-Tenancy
Đã hoàn thành phần đọc của Mô-đun 8 (REST API, Terraform, Python/PowerShell, Cloud-Init)
Một cụm VergeOS đang chạy với quyền truy cập API được bật
Terraform được cài đặt cục bộ (v1.5+)
Python 3.9+ hoặc PowerShell 7+ được cài đặt cục bộ
Quyền truy cập vào vergeos-terraform-playground kho lưu trữ
Độ khó
Trung cấp -- Yêu cầu quen thuộc với REST API, các khái niệm hạ tầng dưới dạng mã và scripting cơ bản
Thời gian ước tính
2 giờ
Các bước
Phần 1: Khám phá REST API
Xác thực với VergeOS API và thực hiện các thao tác cơ bản.
Lấy một API key từ VergeOS UI (System > Users > [người dùng của bạn] > API Keys)
Sử dụng
curlhoặc một REST client để xác thực:Liệt kê tất cả VM bằng
/api/v4/vmsendpointTạo một VM mới qua API:
POST tới
/api/v4/vmsvới nội dung JSON chỉ định tên, CPU, bộ nhớ và đĩa
Khởi động và tắt VM bằng API
Xóa VM qua API
Khám phá các endpoint bổ sung: mạng (
/api/v4/vnets— bảng có tên làvnetstrong khi tên UI/đối tượng là "Networks"), tenant (/api/v4/tenants)
Phần 2: Terraform Provider
Sử dụng VergeOS Terraform provider để quản lý hạ tầng theo cách khai báo.
Clone kho lưu trữ vergeos-terraform-playground:
Xem lại cấu hình provider trong
main.tfSao chép và tùy chỉnh một file ví dụ
.tfvarscho môi trường của bạnChạy
terraform initđể tải VergeOS providerChạy
terraform planđể xem trước các thay đổi hạ tầngChạy
terraform applyđể cấp phát tài nguyênXác minh các tài nguyên đã tạo trong VergeOS UI
Sửa đổi một tài nguyên trong cấu hình Terraform và áp dụng lại
Chạy
terraform destroyđể dọn dẹp
Phần 3: Tự động hóa bằng scripting
Tự động hóa một quy trình làm việc bằng pyvergeos (Python) hoặc mô-đun PowerShell.
Cài đặt pyvergeos:
Viết một script mà:
Kết nối tới cụm VergeOS của bạn
Liệt kê tất cả VM và trạng thái hiện tại của chúng
Tạo một VM mới từ recipe/template
Chờ cho đến khi VM đang chạy
Xuất địa chỉ IP của VM và thông tin kết nối
Mở rộng script để:
Tạo một tenant với phân bổ tài nguyên được xác định trước
Triển khai một VM bên trong tenant
Xác minh cô lập tenant bằng cách kiểm tra kết nối mạng
Phần 4: Cloud-Init
Cấu hình cấp phát VM không cần can thiệp bằng cloud-init.
Tạo một file cấu hình cloud-init với:
Hostname và cài đặt mạng
Tài khoản người dùng và SSH keys
Các lệnh cài đặt gói
Các script sau khi khởi động
Đính kèm cấu hình cloud-init vào một VM mới qua API hoặc UI
Khởi động VM và xác minh rằng cấu hình cloud-init đã được áp dụng:
Kiểm tra hostname và cài đặt mạng
Xác minh các tài khoản người dùng tồn tại
Xác nhận các gói đã được cài đặt
Xác minh
Bài lab tự động hóa hạ tầng của bạn hoàn tất khi bạn có thể trả lời có cho tất cả các mục sau:
Cập nhật lần cuối
Nội dung này có hữu ích không?