For the complete documentation index, see llms.txt. This page is also available as Markdown.

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.

  1. Lấy một API key từ VergeOS UI (System > Users > [người dùng của bạn] > API Keys)

  2. Sử dụng curl hoặc một REST client để xác thực:

  3. Liệt kê tất cả VM bằng /api/v4/vms endpoint

  4. Tạo một VM mới qua API:

    • POST tới /api/v4/vms với nội dung JSON chỉ định tên, CPU, bộ nhớ và đĩa

  5. Khởi động và tắt VM bằng API

  6. Xóa VM qua API

  7. Khám phá các endpoint bổ sung: mạng (/api/v4/vnets — bảng có tên là vnets trong 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.

  1. Clone kho lưu trữ vergeos-terraform-playground:

  2. Xem lại cấu hình provider trong main.tf

  3. Sao chép và tùy chỉnh một file ví dụ .tfvars cho môi trường của bạn

  4. Chạy terraform init để tải VergeOS provider

  5. Chạy terraform plan để xem trước các thay đổi hạ tầng

  6. Chạy terraform apply để cấp phát tài nguyên

  7. Xác minh các tài nguyên đã tạo trong VergeOS UI

  8. Sửa đổi một tài nguyên trong cấu hình Terraform và áp dụng lại

  9. 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.

  1. Cài đặt pyvergeos:

  2. 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

  3. 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.

  1. 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

  2. Đính kèm cấu hình cloud-init vào một VM mới qua API hoặc UI

  3. 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 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?